GPU untuk riset ML · Pembayaran kripto tanpa KYC
IteraGPU
Metode · Pengulangan dan ketidakpastian

Bandingkan perbedaan, bukan dua skor terbaik.

Selisih antara dua skor menjadi lebih meyakinkan ketika berulang dalam protokol yang sebanding, melebihi ambang yang berguna, dan tetap terbaca beserta ketidakpastiannya. Siapkan seed, pasangkan uji coba bila masuk akal, dan analisis perbedaan yang diperoleh. Rata-rata yang lebih tinggi, satu seed yang menguntungkan, atau interval sempit pada satu sumber variasi saja tidak cukup untuk memvalidasi peningkatan yang umum.

01 /

Menentukan apa yang bervariasi dan apa yang merupakan pengulangan

Mulailah dengan pertanyaan: apakah Anda mengevaluasi efek inisialisasi pelatihan, urutan data, pembagian train/test, atau generasi stokastik? Sebuah seed mengendalikan generator acak; seed itu sendiri tidak mengidentifikasi semua dimensi tersebut. Simpan satu baris per eksekusi dan faktor-faktor yang benar-benar diubah.

Menjalankan ulang sepuluh kali evaluasi deterministik dari checkpoint yang sama pada korpus yang sama tidak menghasilkan sepuluh pelatihan independen. Demikian pula, seribu prediksi dari satu model tidak menggantikan beberapa pelatihan untuk memperkirakan variabilitasnya. Pilih unit pengulangan yang sesuai dengan keputusan.

Tetapkan sebelum rangkaian eksperimen metrik utama, arahnya, dan efek minimal yang akan membenarkan perubahan. Pada contoh berikut, nilai yang lebih tinggi lebih baik dan ambang batas ilustratif yang berguna adalah 0,30 poin pada metrik yang ditampilkan dari 0 hingga 100. Ambang batas ini berasal dari keputusan proyek, bukan dari aturan statistik universal.

02 /

Memasangkan konfigurasi pada kondisi yang sama

Untuk pasangan i, jalankan referensi A dan kandidat B pada pembagian data yang sama dan dengan kondisi umum yang telah ditetapkan. Kemudian hitung dᵢ = skor(Bᵢ) − skor(Aᵢ). Pemasangan didasarkan pada korespondensi yang ditetapkan sebelum hasil; ini bukan berarti mencocokkan skor yang tampak mirip setelahnya.

Menggunakan daftar seed yang sama dapat membantu mengorganisasi pasangan, tetapi dua arsitektur dapat mengonsumsi angka acak secara berbeda. Deklarasikan secara terpisah seed inisialisasi, data, dan generasi ketika kode Anda membedakannya. Catat juga partisi atau pengidentifikasinya: satu bilangan bulat yang sama tidak membuktikan bahwa data telah ditelusuri dengan cara yang sama.

Jika suatu pasangan mengandung kegagalan, pertahankan kedua status dan jelaskan bagaimana pasangan itu akan ditangani. Jangan membandingkan rata-rata lima kandidat yang berhasil dengan rata-rata enam referensi tanpa menyebutkan perubahan populasi.

Sumber teknis: NIST — korespondensi antara observasi berpasangan

03 /

Mempertahankan batasan seed dan determinisme

PyTorch menyatakan bahwa hasil yang sepenuhnya dapat direproduksi tidak dijamin antar versi, platform, atau eksekusi CPU dan GPU, bahkan dengan seed yang identik. Panduannya membedakan kontrol generator dan kontrol operasi non-deterministik. Catat versi dan opsi yang diterapkan alih-alih meringkas lingkungan sebagai "seed tetap".

Eksekusi deterministik berguna antara lain untuk mereproduksi perilaku dalam kondisi tertentu. Hal ini tidak membuktikan bahwa model tahan terhadap inisialisasi atau data lain. Sebaliknya, perbedaan antara dua pengulangan yang identik perlu didiagnosis sebelum ditafsirkan sebagai efek kandidat.

Pertahankan kebijakan determinisme yang sama untuk kedua varian. Jika Anda mengubahnya untuk mendiagnosis kesalahan, identifikasi rangkaian tersebut secara terpisah. Hasil eksperimen harus tetap terkait dengan kondisi saat hasil itu diperoleh.

Sumber teknis: PyTorch 2.14 — reproduktibilitas dan kontrol keacakan

04 /

Contoh perhitungan: lima perbedaan berpasangan

Berikut lima pasangan fiktif untuk perhitungan, tanpa pelatihan yang dijalankan. Seed adalah pengidentifikasi contoh. Referensi dan kandidat di sini menggunakan protokol perbandingan yang sama. Skor dinyatakan dalam skala 100; perbedaan adalah poin, bukan persentase relatif.

Rata-rata perbedaan adalah (0,4 + 0,3 + 0,1 + 0,5 + 0,1) / 5 = 0,28 poin. Mediannya adalah 0,30 poin dan rentangnya dari 0,10 hingga 0,50. Simpangan baku sampel dari perbedaan adalah sekitar 0,179 poin, dengan penyebut n − 1. Kelima tandanya positif, tetapi amplitudonya tetap besar dibandingkan dengan keuntungan rata-rata.

Perbedaan rata-rata = 0,28 poin; simpangan baku perbedaan ≈ 0,179 poin; galat baku ≈ 0,179 / √5 = 0,080 poin.
Contoh numerik fiktif — skor dalam skala 100, perbedaan dalam poin
Seed ilustratifReferensi AKandidat BB − A
1771,071,4+0,4
2971,671,9+0,3
4371,371,4+0,1
7170,871,3+0,5
10171,871,9+0,1
05 /

Menafsirkan interval tanpa memberinya cakupan yang berlebihan

Untuk mengilustrasikan perhitungan yang umum, anggaplah perbedaan antar pasangan saling independen dan berasal dari distribusi yang kira-kira normal. Interval Student 95% untuk rata-ratanya di sini menggunakan empat derajat kebebasan: 0,28 ± 2,776 × 0,080, yaitu sekitar [0,058 ; 0,502] poin. Dengan hanya lima pasangan, bentuk distribusinya sulit dinilai; perhitungan ini tidak membuat asumsi tersebut menjadi benar.

Interval ini berada di atas nol dalam contoh, tetapi mencakup ambang batas berguna yang ditetapkan pada 0,30 poin. Karena itu, interval ini tidak mendukung aturan ketat "keuntungan rata-rata melebihi 0,30 poin". Perbedaan yang positif bisa tetap terlalu kecil atau terlalu tidak pasti untuk membenarkan perubahan.

Interval 95% menggambarkan prosedur cakupan di bawah asumsinya, bukan probabilitas 95% yang melekat pada parameter setelah perhitungan. Di sini, interval tersebut hanya mencakup variasi yang diwakili oleh pasangan, tidak secara otomatis mencakup domain lain, korpus lain, atau perangkat keras di masa depan.

Jika Anda menggunakan SciPy, ttest_rel membandingkan sampel berpasangan dan menyediakan interval kepercayaan. Urutan array menentukan tanda: untuk B − A, tempatkan B di depan. Simpan nilai dan metode yang digunakan, bukan hanya p-value.

Sumber teknis: NIST — interval kepercayaan untuk suatu rata-rata · SciPy 1.18 — ttest_rel dan interval selisih

06 /

Mempersiapkan keputusan dan pengulangan berikutnya

Hasil dari contoh adalah "keuntungan berguna tidak terbukti", bukan "kandidat tidak berguna". Bergantung pada biaya perubahan, Anda dapat mempertahankan baseline, melanjutkan pengumpulan, atau menguji modifikasi yang lebih substansial. Nyatakan aturan ini sebelum Anda melihat rangkaiannya. Batas bawah di atas ambang batas berguna Anda akan lebih mendukung adopsi, asalkan sisa protokolnya valid.

Rencanakan pengulangan berdasarkan presisi yang dibutuhkan dan variabilitas yang diharapkan, dengan cadangan untuk kegagalan. Tidak ada jumlah seed yang secara universal menjamin suatu kesimpulan. Sebuah pilot dapat membantu memperkirakan dispersi; pertahankan statusnya sebagai eksploratif lalu tetapkan prosedur konfirmasinya.

Hindari melihat setelah setiap pasangan lalu berhenti begitu hasilnya menjadi menguntungkan dengan menggunakan interval yang dirancang untuk jumlah sampel tetap. Pilih jumlah sampel dan analisis di awal, atau metode sekuensial yang sesuai. Menambahkan uji coba hanya pada kandidat yang mengecewakan juga mengubah keseimbangan perbandingan.

07 /

Jangan mencampuradukkan variabilitas pelatihan dan evaluasi korpus

Rangkaian seed pada test set yang tetap memberikan informasi tentang variasi pelatihan pada set tersebut. Rangkaian ini tidak dengan sendirinya mengukur ketidakpastian yang terkait dengan pemilihan contoh uji. Jika pertanyaan Anda juga mencakup partisi atau domain, rencanakan skema yang memvariasikan dimensi-dimensi tersebut tanpa mencampurnya dalam satu penghitung pengulangan.

Jaga evaluasi akhir tetap terpisah dari pemilihan model. Memilih di antara banyak varian dengan test yang sama menguntungkan opsi yang tampak bagus di sana secara kebetulan. Subgrup dan metrik pelengkap harus menjelaskan keputusan, dengan jumlah dan status eksploratifnya terlihat jelas.

Keluaran akhir menggabungkan skor mentah, pasangan, selisih, dispersi, metode interval, dan keputusan terhadap ambang batas berguna. Sertakan kegagalan dan keterbatasan generalisasi. Anda kemudian dapat menjelaskan mengapa selisih menurut Anda cukup, tidak cukup, atau masih belum dapat diputuskan.

Sumber teknis: scikit-learn — jaga test tetap di luar pemilihan model

Pertanyaan praktis

Apakah lima seed cukup untuk memilih?

Lima seed dapat digunakan untuk pengamatan awal, tetapi tidak menjamin presisi yang memadai. Jumlah yang diperlukan bergantung pada variabilitas dan efek berguna terkecil. Periksa selisih mentah dan ketidakpastiannya; hasil yang masih belum dapat diputuskan menuntut protokol yang lebih terukur, bukan angka ajaib.

Apakah interval yang memuat nol membuktikan ekuivalensi?

Interval yang memuat nol tidak membuktikan ekuivalensi. Interval tersebut juga bisa kompatibel dengan keuntungan atau kerugian yang besar. Untuk mendukung ekuivalensi praktis, tetapkan di awal margin yang dapat diterima dan gunakan analisis yang sesuai untuk pertanyaan tersebut, dengan presisi yang cukup untuk memeriksanya.

Bisakah saya hanya mempublikasikan seed terbaik?

Seed terbaik menggambarkan seleksi yang menguntungkan, bukan performa tipikal prosedur. Publikasikan seluruh pengulangan yang direncanakan dan aturan pemilihan model yang dikirim. Jika model terbaik tersebut harus dievaluasi, gunakan evaluasi akhir yang tidak dipakai untuk memilihnya.