İçeriğe geç

Kılavuzlar

Sonuçlar ve yürütme başvurusu

Bir çalıştırmanın bir HTTP sistemine ne gönderdiği ve karşılığında ne beklediği, her vakanın bir metriğin paydasına nasıl girdiği, karar durumları ve onları açıklayan neden kodları, çıkış kodları ve hangi verinin yerelde kaldığı ya da barındırılan bir çalışma alanına taşındığı. Arkalarındaki fikirler için Kavramlar sayfasını, politika alanları için Yapılandırma başvurusunu okuyun.

HTTP sistemi sözleşmesi

Bir HTTP sistemi (oloproof.yaml içinde system.http) her vaka için bir kez ve her yineleme için bir kez çağrılır.

YönDavranış
İstekVarsayılan olarak POST (GET ve PUT kabul edilir). Gövde, vakanın input değerinin JSON halidir.
Başlıklar ve kimlik doğrulamaHiçbiri yapılandırılamaz. İstek yalnızca HTTP istemcisinin varsayılanlarını taşır. Anahtar gerektiren bir uç nokta, onu ekleyen bir Python callable sisteminin arkasına konmalıdır.
YanıtJSON olmalıdır. output_path, çıktıyı result.answer gibi noktalı bir yolla seçer; o olmadan gövdenin tamamı çıktıdır. Eksik bir output_path alanı o vaka için bir yürütme hatası olarak kaydedilir.
YapıtlarHer http.artifacts girdisi yanıttan noktalı bir yol okur. Bir yanıtta eksik olan bildirilmiş bir alan bir sözleşme hatasıdır ve çalıştırma 2 çıkışıyla durur.
Zaman aşımıİstek başına http.timeout_s, varsayılan olarak 30 saniye.
Yeniden denemelerZaman aşımları, bağlantı hataları ve HTTP 408, 429 ve 5xx, toplamda dört denemeye kadar, Retry-After değerine uyan rastgele sapmalı üstel geri çekilmeyle yeniden denenir. Diğer 4xx yanıtları yeniden denenmez.
Son denemeden sonraVakanın yürütmesi hata olarak kaydedilir ve vaka eksik sayılır (ya da on_execution_error: fail altında başarısız). Çalıştırma devam eder.
EşzamanlılıkEn fazla concurrency.system istek aynı anda yürütülür, varsayılan olarak 8.

URL, yöntem, çıktı yolu ve yapıt eşlemesi sistemin sürümüne girer, ama sunucunun ne yaptığı girmez. Sunucunun davranışı her değiştiğinde system.version değerini değiştirin; nedeni için Yapılandırma başvurusuna bakın.

Üç farklı sözcük dağarcığı

Bir sonucun üç tür durumu vardır ve asla birbirlerinin yerine geçmezler.

TürDeğerlerYanıtladığı
Karar durumuPASS, FAIL, INSUFFICIENT_EVIDENCE, MANUAL_REVIEWKanıtın tek bir kural hakkında ne söylediği.
Yürütme durumuÇalıştırma durumu RUN_ERROR ya da CANCELLED; çalıştırma bütünlüğü PARTIAL; vaka yürütmesi ERROR ya da TIMEOUTÇalıştırmanın ya da bir vakanın çağrısının başına ne geldiği. Bir kalite sonucu değildir.
Sürüm eylemiALLOW, WARN, BLOCKPolitikanızın her kararla ne yaptığı: block_on durumları engeller, warn_on durumları uyarır, diğerleri izin verir.

Normal biten bir çalıştırma DECIDED olur, erken durdurma onu bitirdiğinde ise DECIDED_EARLY. Ctrl-C ya da görev iptaliyle kesilen bir çalıştırma CANCELLED olur; düzeneği hata fırlatan bir çalıştırma RUN_ERROR olur. İkisi de çalıştırmayı PARTIAL bırakır, biten vakaları tutar ve sonraki çalıştırmanın önbellekteki kayıtlarını yeniden kullanmasına izin verir. Bkz. Hatalar.

Bir T minimum eşiği ve bir [L, U] aralığı için bir kural L >= T olduğunda PASS, U < T olduğunda FAIL, aksi halde INSUFFICIENT_EVIDENCE olur. Maksimum eşik simetriktir. Aralığı okumadan önce bir kural, karar vermesi gerekip gerekmediğini denetler: önce MANUAL_REVIEW nedenlerini, sonra INSUFFICIENT_EVIDENCE nedenlerini. Nedeni olan ilk katman karar verir ve bulduğu her nedeni listeler.

Neden kodları

Her karar bir ya da daha fazla neden kodu taşır.

MANUAL_REVIEW

KodAnlamı
policy_requires_reviewKural requires_manual_review: true ayarlar.
unsupported_methodBu durumda bu metrik için kabul edilmiş bir aralık yoktur. Aşağıya bakın.
unsupported_dependence_structurePaket kümeler (group_id) bildirir ve bu metrik için onları ele alan kabul edilmiş bir yöntem yoktur.
approximate_method_not_permittedTek aralık yaklaşıktır ve politika allow_approximate_methods: true ayarlamaz.
evaluator_retiredMetriğin arkasındaki bir değerlendirici emekliye ayrıldı.

INSUFFICIENT_EVIDENCE

KodAnlamı
no_observationsBu metrik için hiçbir vaka gözlenmedi.
missingness_exceeds_policyUygun vakaların kuralın max_missing_fraction değerinin izin verdiğinden fazlası eksik.
missingness_unboundedYöntem eksik vakaları sınırlamak yerine atar ve kural bir max_missing_fraction bildirmez.
evaluator_not_validatedMetriğin arkasındaki bir model hakemi insan etiketlerine karşı doğrulanmamıştır ve require_validated_evaluators açıktır (varsayılan).
evaluator_recalibration_requiredHakem, bu çalıştırmanın hükümlerinin gelmediği sunulan bir model üzerinde doğrulanmıştı.
interval_unavailableMetriğin okunacak bir aralığı yoktur.
insufficient_clustersPolitikanın min_clusters değerinden daha az küme.
interval_monte_carlo_uncertainEşik, kümelenmiş bir sınırın benzetim belirsizliğinin içine düşer.
interval_overlaps_thresholdAralık eşiği içerir. Daha fazla vaka onu daraltır.
interval_unboundedAralığın kuralın okuduğu tarafta bir sınırı yoktur.
missing_could_change_outcomeBir observed_count kuralı: eksik vakalar başarısızlıkları max_failures ötesine taşıyabilir.
interval_overlaps_zero, interval_overlaps_margin, interval_overlaps_marginsFark aralığı sıfırı ya da bir marjı kapsayan bir karşılaştırma.
insufficient_supportDilimi min_support değerinden daha az vaka içeren bir dilim karşılaştırma kuralı.
family_correction_withheldHolm düzeltmesinin ondan önce durduğu bir families: girdisindeki kural.

PASS ve FAIL

KodDurum
lower_bound_meets_minimum, upper_bound_meets_maximumPASS
upper_bound_below_minimum, lower_bound_above_maximumFAIL
observed_failures_within_limitPASS
observed_failures_exceed_limitFAIL
difference_above_zero, lower_bound_above_margin, interval_within_marginsPASS (karşılaştırma)
difference_below_zero, upper_bound_below_margin, interval_outside_marginsFAIL (karşılaştırma)
cost_ceiling_exceededBildirilen tavanı kaydedilmiş bir yürütmenin aştığı bir maliyet kuralının durumunun yanında söylenir

Yalnızca barındırılan çalışma alanı

Push edilen bir çalıştırmaya kendisi karar veren bir çalışma alanı, bir kararı ppi_not_verified (kararın dayandığı aralığı doğrulamadı), execution_not_verified (çıktılar kayıtlı bir çalıştırıcıdan gelmedi) ya da workspace_cannot_decide (politikanın bir kopyasını tutmuyor ya da kanıtı okuyamadı) ile alıkoyabilir. Bkz. Kapı denetimi.

Her vaka paydaya nasıl girer

Her metrik dört sayı bildirir: n_total (paketteki vakalar), n_eligible, n_observed ve n_missing; burada n_eligible = n_observed + n_missing. n_eligible dışındaki vakalar bir nedenle birlikte exclusions altında listelenir.

Vakanın başına gelenSayıldığıPaydada
Değerlendirici geçti ya da kaldı döndürdügözlenmiş, başarı ya da başarısızlıkevet
Değerlendirici kendisini uygulanamaz ilan etti (örneğin karşılaştırılacak beklenen değer yok)nedeniyle birlikte dışlanmışhayır
Sistem çağrısı hata verdi ya da zaman aşımına uğradıeksik ya da on_execution_error: fail altında başarısızevet
Değerlendirici hata fırlattı ya da bir hakemin yanıtı okunamadıeksikevet
Çalıştırma kesildiği için vaka hiç çalışmadıeksik ve çalıştırma PARTIAL olurevet

Eksik bir vaka atılmaz, sınırlandırılır. Bir geçme oranı için aralığın alt sınırı her eksik vakayı başarısızlık, üst sınırı başarı sayar; bu yüzden çok sayıda eksik vakası olan bir çalıştırmanın, zorlu bir kuralı geçemeyen geniş bir aralığı olur; sınırlı bir ortalama da bildirilen aralığının uçlarını aynı biçimde yerine koyar. Eksik vakaları sınırlayamayan bir yöntem (örneğin bir sıralama istatistiği) onları atar ve varsayımı kaydeder; onun üzerindeki bir kural bir max_missing_fraction bildirene kadar missingness_unbounded gösterir.

Bir observed_count kuralı başarısızlıkları yürütülen paket üzerinden sayar ve aralık okumaz. Yalnızca gözlenen başarısızlıklar artı her eksik vaka hâlâ max_failures içine sığdığında geçer.

Kabul edilmiş aralığı olmayan metrikler

Bir kural yalnızca yöntemi denetimle kabul edilmiş bir aralığa göre karar verir. Böyle bir aralık olmadığında metrik yine hesaplanır ve gösterilir ve onun üzerindeki bir kural doğrulanmamış bir yöntemi ödünç almaz:

DurumOnun üzerindeki bir kuralın gösterdiği
Bildirilmiş bir aralığı olmayan bir puan (ortalama) metriği, örneğin score_range olmayan özel bir puan değerlendiricisiMANUAL_REVIEW, unsupported_method
group_id bildiren bir paket üzerinde bir ortalama, çeyreklik, sıralama ya da maliyet metriğiMANUAL_REVIEW, unsupported_dependence_structure
Kümelenmiş bir paket üzerinde bir geçme oranıyaklaşık bir aralık: allow_approximate_methods: true olmadıkça MANUAL_REVIEW, o zaman yukarıdaki küme denetimleri
replicates değeri 1'in üzerinde olan bir çeyreklik ya da sıralama metriğiMANUAL_REVIEW, unsupported_method
Hem group_id hem yinelemeleri olan bir paket üzerindeki herhangi bir metrikMANUAL_REVIEW, unsupported_dependence_structure
Kümelenmiş bir paket üzerinde bir karşılaştırmaMANUAL_REVIEW
min_slice_support altındaki bir dilimaralık yok, ama dilimler asla kapıya ulaşmaz
human_score, human_preference ya da cost_per_accepted metrikleridosya okunurken reddedilir, 2 çıkışı

Çıkış kodları

oloproof gate, bir politikayla oloproof run ve karar veren diğer komutların hepsi aynı kodları kullanır.

KodAnlamı
0Politikanın engellediği hiçbir şey olmadı: her kural geçti ya da geçmeyenler block_on dışında.
1block_on içindeki bir kural başarısız oldu.
2Yapılandırma ya da çağrı yanlıştı ya da bir sistem sözleşmesini çiğnedi; hiçbir şeye karar verilmedi.
3block_on içindeki bir kural INSUFFICIENT_EVIDENCE gösterdi.
4block_on içindeki bir kural MANUAL_REVIEW gösterdi.
5Çalıştırma tamamlanmadı ve block_on_partial_run açık (varsayılan).

Birkaçı geçerli olduğunda bildirilen kod 1, 5, 4, 3 sırasındaki ilkidir. block_on dışında bırakılan bir durum çıkış kodunu değiştiremez: block_on: [FAIL] ve warn_on: [INSUFFICIENT_EVIDENCE] ile karara bağlanmamış bir kural uyarır ve kapı 0 ile çıkar. Bu yüzden 0 çıkışı her kuralın geçtiği anlamına değil, yalnızca politikanızın engellediği hiçbir şeyin olmadığı anlamına gelir. Bkz. Kapı denetimi.

İşin nerede çalıştığı ve verinin nereye gittiği

Yerel, varsayılan

oloproof run, oloproof gate ve SDK makinenizde çalışır. Her kayıt (vakalar, çıktılar, yapıtlar, yargılar, metrikler ve kararlar) oloproof.yaml yanındaki .oloproof/store.sqlite dosyasına ya da ayarlandığında OLOPROOF_HOME altına yazılır. Oloproof'a hiçbir şey gönderilmez. Tek ağ trafiği yapılandırmanızın neden olduğudur: HTTP sisteminizin URL'sine yapılan çağrılar ve bir model hakeminin ya da model sınıflandırıcının sağlayıcısına yaptığı çağrılar; sağlayıcı değerlendirdiği vaka içeriğini alır ve bunun için sizi ücretlendirir.

Barındırılan bir çalışma alanına push etme

oloproof push, bir çalıştırmanın kanıtını oloproof login ile bağlandığınız çalışma alanına gönderir. Varsayılan olarak metrikleri, aralıkları, kararları ve toplu dilimleri, ayrıca her kaydın kimliğini, durumunu, sürelerini ve kullanımını gönderir, ama içeriğini göndermez. Ham içerik, makineden herhangi bir şey çıkmadan önce alan alan karartılır ve karartılmış bir kayıt hangi kategorilerin alıkonduğunu söyler. Bir kategori yalnızca oloproof.yaml içindeki egress: onu listelediğinde gider:

KategoriNeyi kapsar
raw_inputsSenaryo girdileri, beklenen değerler ve vaka meta verileri: veri kümesi satırları
raw_outputsTest edilen sistemin her vaka için döndürdüğü
judge_rationalesBir hakemin bir hükmü açıklamak için yazdığı, çıktıdan alıntı yapan metin
artifactsBir çalıştırma sırasında kaydedilen getirme bağlamı, alıntılar ve yörüngeler
error_detailÇoğu zaman girdiyi kelimesi kelimesine taşıyan hata iletileri ve ayrıntıları
system_configTest edilen sistemin ve değerlendiricilerinin bildirilmiş yapılandırması
label_notesBir kişinin bir etiketin yanına yazdığı, çoğu zaman çıktıdan alıntı yapan not
span_namesBir enstrümantasyonun kaydettiği iz, span, araç ve ajan adları

Kayıt özetleri karartmadan sonra yeniden hesaplanmaz, bu yüzden barındırılan bir kayıt yine makinenizde kalan özgün kanıtı adlandırır. Karartma şifreleme değildir ve çok küçük bir dilim üzerindeki bir metrik yine de arkasındaki vakaları tanımlayabilir.

Gözden geçirenler barındırılan inceleme kuyruğunda vakaları etiketlediğinde, tarayıcıları vaka içeriğini sizin tarafınızda çalışan oloproof collect üzerinden alır; içerik çalışma alanından geçmez. Bir çalışma alanının kullandığı sağlayıcı anahtarları oloproof credentials set ile saklanır ve oloproof credentials list onların değerlerini değil, adlarını gösterir. Yönetilen bir iş, Oloproof'un işlettiği ve Python kodunuzu çalıştırmayan bir çalışan üzerinde çalışır; oloproof job sonucunu bildirir ve kapısına göre çıkar.

Barındırılan bir çalışma alanında motor önbellekteki yürütmeleri, yargıları ya da çözümlemeleri asla yeniden kullanmaz, çünkü bir push bu önbelleklere yazabilir; onları yeniden hesaplar.