Dengan tujuan untuk meningkatkan kebolehulangan dan memberdayakan orang lain untuk membina karya yang diterbitkan dengan lebih mudah, kami menunjukkan senarai semak kelengkapan kod ML. Senarai Semak Kelengkapan Kod ML menilai penyimpanan kod berdasarkan skrip dan artifak yang disediakan di dalamnya.
Pengenalan
Tahun lalu, Joel Pino mengeluarkan senarai semak kebolehulangan untuk memudahkan penyelidikan yang dapat dihasilkan semula yang dipersembahkan pada persidangan OA utama (NeurIPS, ICML,…). Sebilangan besar item dalam senarai semak menumpukan pada komponen kertas. Satu item dalam senarai semak ini adalah "berikan pautan ke kod sumber," tetapi selain itu, beberapa cadangan dibuat.
Amalan terbaik telah diringkaskan dalam Senarai Semak Kelengkapan Kod ML, yang kini menjadi sebahagian daripada proses penyerahan kod NeurIPS 2020 rasmi dan akan tersedia untuk digunakan oleh pengulas yang mereka anggap sesuai.
Senarai Semak Kelengkapan ML
Senarai Semak Kelengkapan Kod M memeriksa kedai kod untuk:
- Ketergantungan - Adakah repositori mempunyai maklumat atau arahan ketergantungan tentang cara mengatur persekitaran?
- Senario Latihan - Adakah repositori mengandungi cara untuk melatih / menyesuaikan model yang dijelaskan dalam dokumen?
- Senario Penilaian - Adakah repositori mengandungi skrip untuk mengira prestasi model terlatih atau menjalankan eksperimen pada model?
- Model Pretrained - Adakah repositori memberikan akses percuma ke bobot model pra-latihan?
- Hasil - adakah repositori mengandungi jadual / grafik hasil utama dan skrip untuk menghasilkan semula hasil tersebut?
Setiap repositori dapat menerima dari 0 (tidak ada) hingga 5 (mempunyai semua) tanda centang. Maklumat lebih lanjut mengenai kriteria untuk setiap item boleh didapati di repositori Github.
Apakah bukti bahawa item senarai semak menyumbang kepada repositori yang lebih berguna?
Masyarakat umumnya menggunakan bintang GitHub sebagai proksi untuk kegunaan repositori. Oleh itu, repos dengan skor yang lebih tinggi pada senarai semak kelengkapan ML dijangka juga mempunyai lebih banyak bintang GitHub. Untuk menguji hipotesis ini, terdapat 884 repo GitHub yang diserahkan sebagai implementasi rasmi dalam dokumen NeurIPS 2019. Subset 25% dari 884 repos ini dipilih secara rawak dan diperiksa secara manual dalam senarai semak kelengkapan ML. Mereka mengumpulkan sampel repositori NeurIPS 2019 GitHub ini dengan jumlah kutu yang mereka ada dalam senarai semak kelengkapan kod ML dan memetakan bintang medan GitHub di setiap kumpulan. Hasilnya ada di bawah:
Repos NeurIPS 2019 dengan 0 kotak pilihan mempunyai nilai purata 1.5 bintang di GitHub. Sebaliknya, repositori dengan 5 kotak centang mempunyai median 196.5 bintang GitHub. Hanya 9% repos mempunyai 5 kutu, dan kebanyakan repo (70%) mempunyai 3 kutu atau kurang. Ujian jumlah peringkat Wilcoxon dilakukan dan mendapati bahawa bilangan bintang dalam kelas 5 centang jauh lebih tinggi (nilai p <1e-4) lebih tinggi daripada di semua kelas lain kecuali 5 berbanding 4 (di mana nilai p. adalah sempadan). pada 0.015). Anda dapat melihat data dan kod untuk angka ini di repositori Github.
Untuk menguji apakah hubungan ini meluas, skrip dibuat untuk mengautomasikan pengiraan senarai semak dari repositori README dan kod yang berkaitan. Kami kemudian menganalisis semula keseluruhan set 884 repositori NeurIPS 2019, serta set repositori kod 8926 yang lebih luas untuk semua artikel ML yang diterbitkan pada tahun 2019. Dalam kedua kes tersebut, pakar memperoleh hasil yang sama kualitatif dengan bintang median meningkat secara monoton dari kutu dengan cara yang signifikan secara statistik (nilai p <1e-4). Akhirnya, dengan menggunakan regresi linier yang mantap, kami mendapati model dan hasil pra-latihan yang mempunyai kesan positif terbesar pada bintang GitHub.
Ini dianggap bukti berguna oleh para penganalisis bahawa mendorong para penyelidik untuk memasukkan semua komponen yang diperlukan oleh senarai semak kelengkapan ML akan membawa ke repositori yang lebih berguna, dan bahawa skor dalam senarai semak menunjukkan penyerahan kualiti yang lebih baik.
Pada masa ini, pakar tidak mendakwa bahawa 5 item senarai semak yang dicadangkan adalah satu-satunya atau bahkan faktor yang paling penting dalam populariti repositori. Faktor lain boleh mempengaruhi populariti, seperti: ukuran sumbangan saintifik, pemasaran (mis. Catatan blog dan catatan Twitter), dokumentasi (README komprehensif, tutorial, dan dokumentasi API), kualiti kod, dan karya sebelumnya.
Beberapa contoh repositori NeurIPS 2019 dengan 5 kotak pilihan:
Pakar menyedari bahawa walaupun mereka telah berusaha untuk membuat daftar periksa secara umum, mungkin tidak sepenuhnya dapat digunakan untuk semua jenis dokumen, misalnya, teori atau kumpulan dokumen. Namun, walaupun tujuan utama artikel tersebut adalah untuk mewakili kumpulan data, artikel tersebut tetap dapat memanfaatkan peluncuran model dasar, termasuk skenario latihan, senario penilaian, dan hasil.
Mula menggunakan
Untuk memudahkan pengulas dan pengguna memahami apa yang ada di repositori dan bagi para pakar untuk menilai dengan betul, koleksi praktik terbaik disediakan untuk menulis fail README.md, menentukan kebergantungan, dan melepaskan model, set data, dan hasil yang telah disediakan sebelumnya. Sebaiknya anda menentukan dengan jelas 5 elemen ini di repositori anda dan menghubungkannya dengan sumber luaran seperti dokumen dan papan pendahulu untuk memberikan lebih banyak konteks dan kejelasan bagi pengguna anda. Ini adalah garis panduan rasmi untuk menghantar kod ke NeurIPS 2020.