Skip to content

Panduan

Aturan perbandingan

Membandingkan kandidat dengan baseline menunjukkan alur kerjanya. Halaman ini adalah referensi untuk aturan yang memutuskan sebuah perbandingan: jenis apa saja yang ada, apa yang ditanyakan masing-masing, dalam satuan apa margin diukur, dan apa yang menggeser interval yang menjadi dasar pembacaannya.

Tiga jenis

Aturan perbandingan menyebut sebuah kind dan sebuah metrik. Aturan ini tidak pernah menerima min atau max: selisih tidak disimpulkan dari sebuah threshold.

JenisMenanyakanMenerima
superiorityApakah kandidat lebih baik daripada baseline?tanpa margin
non_inferiorityApakah kandidat tidak lebih buruk daripada baseline melebihi margin?margin, dan opsional direction
equivalenceApakah kandidat berada dalam margin dari baseline, ke kedua arah?margin

Margin dinyatakan dalam satuan metrik itu sendiri. Untuk sebuah rasio, 0.05 adalah lima poin persentase; untuk kuantil latensi, 5 adalah lima milidetik.

version: 1
rules:
  - id: not-worse
    kind: non_inferiority
    metric: exact_label
    margin: 0.05
  - id: same-quality
    kind: equivalence
    metric: exact_label
    margin: 0.05
  - id: better
    kind: superiority
    metric: exact_label
  - id: not-slower
    kind: non_inferiority
    metric: latency_p50
    direction: max
    margin: 5

Aturan perbandingan berada di file tersendiri, yang diberikan dengan --policy, karena release.yaml memutuskan satu eksekusi, sedangkan aturan threshold dan aturan perbandingan membaca bukti yang berbeda.

oloproof compare CANDIDATE_RUN_ID BASELINE_RUN_ID --policy compare.yaml

Aturan yang sama terhadap dua kandidat

Dua ratus pertanyaan berlabel. Baseline salah melabeli dua puluh di antaranya. Setiap kandidat di bawah ini dijalankan atas suite yang sama dan dibandingkan dengan baseline itu menggunakan file di atas.

Kandidat yang berperilaku persis seperti baseline:

Comparison sha256:7d2396c475b94028925930d4e52ae070d9a216a4558e22646169db492757c4de of run_01M3C44TVGT0X067W2H0BZ6GC9 against run_01M3C44SWMXMSQJE17SYHV87PW · 200 paired cases
exact_label: +0.0 points [-2.7, +2.7] · 200 paired · 0 missing · 0 excluded
latency_p50: -0.067 ms [-0.113, -0.001] ms · p50 of per-case differences · 200 paired · 0 missing
Decisions
  not-worse  exact_label  non-inferiority, margin 5.0 points  PASS  lower_bound_above_margin
  same-quality  exact_label  equivalence, margin ±5.0 points  PASS  interval_within_margins
  better  exact_label  superiority  INSUFFICIENT_EVIDENCE  interval_overlaps_zero
  not-slower  latency_p50  maximum increase 5 ms  PASS  lower_bound_above_margin
Gate: BLOCK (exit 3)

Kandidat yang memperbaiki kedua puluh kasus itu:

Comparison sha256:1e36f48662cbbc0af20217a2c69248f90b473bbf0873dc6dd222ccb1895bb33a of run_01M3C44VQ0TFFNW4FRM5Z2D12R against run_01M3C44SWMXMSQJE17SYHV87PW · 200 paired cases
exact_label: +10.0 points [+4.6, +17.9] · 200 paired · 0 missing · 0 excluded
latency_p50: -0.038 ms [-0.089, +0.009] ms · p50 of per-case differences · 200 paired · 0 missing
Decisions
  not-worse  exact_label  non-inferiority, margin 5.0 points  PASS  lower_bound_above_margin
  same-quality  exact_label  equivalence, margin ±5.0 points  INSUFFICIENT_EVIDENCE  interval_overlaps_margins
  better  exact_label  superiority  PASS  difference_above_zero
  not-slower  latency_p50  maximum increase 5 ms  PASS  lower_bound_above_margin
Gate: BLOCK (exit 3)

Baca kedua gerbang itu bersama-sama. Keduanya memblokir, dengan alasan yang berlawanan. Kandidat pertama terbukti ekuivalen dan tidak terbukti lebih baik; kandidat kedua terbukti lebih baik dan karena itu tidak terbukti ekuivalen. Kebijakan yang memuat ketiga jenis untuk satu metrik mengajukan dua pertanyaan yang tidak saling cocok, dan salah satunya akan selalu tidak terjawab. Pilih aturan yang menyatakan klaim yang sedang Anda buat.

Arah

non_inferiority secara bawaan memakai direction: min: lebih tinggi lebih baik, dan aturan ini meminta agar kandidat tidak turun melebihi margin di bawah baseline. direction: max untuk metrik yang lebih rendah lebih baik, seperti latensi, token, atau biaya. Aturan ini lalu dibaca sebagai batas atas kenaikan, seperti yang dicetak terminal: maximum increase 5 ms.

superiority dan equivalence tidak menerima arah. Ekuivalensi sudah membatasi kedua sisi, dan superioritas menanyakan apakah selisihnya di atas nol menurut arti metrik itu sendiri.

Apa yang menggeser interval

Perbandingan bersifat berpasangan: hasil kandidat untuk setiap kasus dibandingkan dengan hasil baseline untuk kasus itu sendiri. Dua hal melebarkan interval yang dihasilkan, dan keduanya bukan perubahan yang Anda buat.

Kasus yang hilang di salah satu sisi

Kasus yang error di salah satu eksekusi hilang dari pasangannya, dan kasus itu dibatasi alih-alih dibuang: interval memperhitungkan kemungkinan setiap kasus yang hilang berakhir ke arah mana pun. Suite yang lebih kecil, dengan kriteria bernama ok: empat ketidaksesuaian yang sama atas tiga puluh empat kasus berpasangan, pertama tanpa kasus hilang lalu dengan empat kasus lagi yang error di kedua eksekusi:

ok: +11.8 points [-7.2, +34.3] · 34 paired · 0 missing · 0 excluded
ok: +11.8 points [-24.8, +44.7] · 34 paired · 4 missing · 0 excluded

Estimasinya sama, karena dihitung dari kasus yang teramati di kedua sisi. Intervalnya tidak, karena empat kasus yang tidak dilihat siapa pun masing-masing dapat menggeser selisih sebesar satu kasus penuh. Perbaiki error sebelum menambah kasus: lebih banyak kasus dengan tingkat error yang sama tidak menutup celahnya.

Selisih peringkat berpasangan, seperti ROC-AUC antara dua versi model, tidak dapat membatasi baris yang hilang dengan cara ini: ia membandingkan baris yang dinilai kedua sisi. Aturan atasnya berbunyi missingness_unbounded sampai aturan itu menyatakan max_missing_fraction, yaitu porsi baris hilang yang diterimanya sebagai hilang secara acak.

Metodenya

Interval bawaan untuk selisih rasio adalah interval rata-rata terbatas atas selisih per kasus. Sebuah kebijakan dapat menyebut metode eksak kondisional sebagai gantinya:

version: 1
difference_method: conditional_exact_paired_difference@1
rules:
  - {id: not-worse, metric: exact_label, kind: non_inferiority, margin: 0.05}

Kandidat di atas yang sepuluh poin lebih baik terbaca [+4.6, +17.9] dengan metode bawaan dan seperti ini dengan metode eksak:

exact_label: +10.0 points [+3.5, +15.8] · 200 paired · 0 missing · 0 excluded

Tidak ada yang selalu lebih sempit, itulah sebabnya metode dipilih dalam kebijakan, sebelum bukti apa pun dibaca, dan tidak pernah oleh engine berdasarkan data. Metode ini hanya berlaku untuk selisih rasio.

Ketika aturan tidak dapat memutuskan

Aturan perbandingan yang INSUFFICIENT_EVIDENCE dapat membawa baris di bawahnya yang menyatakan apa yang akan memutuskannya. Perbandingan tiga puluh empat kasus tanpa kasus hilang:

Decisions
  not-worse  ok  non-inferiority, margin 5.0 points  INSUFFICIENT_EVIDENCE  interval_overlaps_margin
    about 5 more paired cases would decide it, if the difference holds (39 in total at 12% discordance)
Gate: BLOCK (exit 3)

Estimasi itu mengasumsikan bahwa selisihnya dan porsi kasus yang tidak sesuai tetap bertahan seiring bertambahnya kasus. oloproof plan COMPARISON_ID mencetak baris yang sama beserta waktu yang diperlukan kasus tambahan tersebut.

Ketika ada pasangan yang hilang, tidak ada ukuran yang ditawarkan, karena pasangan yang hilang dibatasi pada kemungkinan terburuknya dan lebih banyak kasus tidak akan menyelesaikannya. Perbandingan yang sama dengan empat pasangan hilang tidak mencetak baris saran, dan rencananya menjelaskan alasannya:

oloproof plan COMPARISON_ID
Comparison sha256:22c1aa4fddc4e96ca77e0509ac9835c2a377ed237ca80556bbf1a54a172239bd: no sample size can be computed for a rule that did not decide.
  not-worse: 4 missing pairs are bounded at their worst, and the advice does not size under missingness; resolve them and compare again

Dan ketika selisih itu sendiri berada di sisi margin yang salah, lebih banyak kasus hanya akan menegaskannya, sehingga sarannya menyatakan hal itu:

  overall  ok  non-inferiority, margin 5.0 points  INSUFFICIENT_EVIDENCE  interval_overlaps_margin
    no sample size would make this PASS: the difference itself (-5.0 points) is outside the margin, so more cases would move it toward FAIL

Langkah selanjutnya

membaca sebuah interval.

dapat diputuskan oleh perbandingan.

  • Irisan (slice) membahas aturan yang cakupannya satu bagian dari suite.