Dengan tujuan meningkatkan reproduktifitas dan memberdayakan orang lain untuk membangun karya yang diterbitkan dengan lebih mudah, kami menyajikan daftar periksa kelengkapan kode ML. Daftar Periksa Kelengkapan Kode ML mengevaluasi penyimpanan kode berdasarkan skrip dan artefak yang disediakan di dalamnya.
pengantar
Tahun lalu, Joel Pino merilis daftar periksa reproduktifitas untuk memfasilitasi penelitian yang dapat direproduksi yang dipresentasikan pada konferensi OA besar (NeurIPS, ICML,…). Sebagian besar item pada daftar periksa fokus pada komponen kertas. Satu item dalam daftar periksa ini adalah “menyediakan tautan ke kode sumber”, tetapi selain itu, beberapa rekomendasi dibuat.
Praktik terbaik telah dirangkum dalam Daftar Periksa Kelengkapan Kode ML, yang sekarang menjadi bagian dari proses pengiriman kode resmi NeurIPS 2020 dan akan tersedia untuk digunakan oleh peninjau sesuai keinginan mereka.
Daftar Periksa Kelengkapan ML
Daftar Periksa Kelengkapan Kode M memeriksa penyimpanan kode untuk:
- Dependensi - Apakah repositori memiliki informasi ketergantungan atau instruksi tentang cara mengatur lingkungan?
- Skenario Pelatihan - Apakah repositori berisi cara untuk melatih / menyesuaikan model yang dijelaskan dalam dokumen?
- Skenario Evaluasi - Apakah repositori berisi skrip untuk menghitung kinerja model yang dilatih atau menjalankan eksperimen pada model?
- Model Terlatih - Apakah repositori menyediakan akses gratis ke bobot model yang telah dilatih sebelumnya?
- Hasil - apakah repositori berisi tabel/grafik hasil utama dan skrip untuk mereproduksi hasil tersebut?
Setiap repositori dapat menerima dari 0 (tidak memiliki) hingga 5 (memiliki semua) centang. Informasi lebih lanjut tentang kriteria untuk setiap item dapat ditemukan di repositori Github.
Apa bukti bahwa item daftar periksa berkontribusi pada repositori yang lebih berguna?
Komunitas umumnya menggunakan bintang GitHub sebagai proxy untuk kegunaan repositori. Oleh karena itu, repo dengan skor yang lebih tinggi pada daftar periksa kelengkapan ML diharapkan juga memiliki lebih banyak bintang GitHub. Untuk menguji hipotesis ini, ada 884 repo GitHub yang dikirimkan sebagai implementasi resmi di dokumen NeurIPS 2019. Subset 25% dari 884 repo ini dipilih secara acak dan diperiksa secara manual di daftar periksa kelengkapan ML. Mereka mengelompokkan sampel repo NeurIPS 2019 GitHub ini berdasarkan jumlah centang yang mereka miliki di daftar periksa kelengkapan kode ML dan memetakan bintang median GitHub di setiap grup. Hasilnya di bawah ini:
Repo NeurIPS 2019 dengan 0 kotak centang memiliki median 1,5 bintang di GitHub. Sebaliknya, repo dengan 5 kotak centang memiliki median 196,5 bintang GitHub. Hanya 9% dari repo yang memiliki 5 tick, dan sebagian besar repo (70%) memiliki 3 tick atau kurang. Uji jumlah peringkat Wilcoxon dilakukan dan menemukan bahwa jumlah bintang di kelas 5 tick secara signifikan (nilai p <1e-4) lebih tinggi daripada di semua kelas lain kecuali 5 versus 4 (di mana nilai p adalah batasnya). pada 0,015). Anda dapat melihat data dan kode untuk gambar ini di repositori Github.
Untuk menguji apakah hubungan ini meluas lebih luas, skrip dibuat untuk mengotomatiskan penghitungan daftar periksa dari repositori README dan kode terkait. Kami kemudian menganalisis ulang seluruh kumpulan 884 repositori NeurIPS 2019, serta kumpulan yang lebih luas dari 8926 repositori kode untuk semua artikel ML yang diterbitkan pada tahun 2019. Dalam kedua kasus, spesialis memperoleh hasil yang identik secara kualitatif dengan bintang median yang meningkat secara monoton dari kutu dengan cara yang signifikan secara statistik (nilai p <1e-4). Terakhir, dengan menggunakan regresi linier yang kuat, kami menemukan model dan hasil yang telah dilatih sebelumnya memiliki dampak positif terbesar pada bintang GitHub.
Ini dianggap sebagai bukti yang berguna oleh para analis yang mendorong peneliti untuk memasukkan semua komponen yang diperlukan oleh daftar periksa kelengkapan ML akan menghasilkan repositori yang lebih berguna, dan bahwa skor pada daftar periksa menunjukkan pengiriman dengan kualitas yang lebih baik.
Saat ini, para ahli tidak mengklaim bahwa 5 item daftar periksa yang diusulkan adalah satu-satunya atau bahkan faktor yang paling signifikan dalam popularitas repositori. Faktor lain dapat mempengaruhi popularitas, seperti: ukuran kontribusi ilmiah, pemasaran (misalnya posting blog dan posting Twitter), dokumentasi (readme komprehensif, tutorial, dan dokumentasi API), kualitas kode, dan pekerjaan sebelumnya.
Beberapa contoh repositori NeuroIPS 2019 dengan 5 kotak centang:
Para ahli menyadari bahwa meskipun mereka telah mencoba untuk membuat daftar periksa seumum mungkin, mungkin tidak sepenuhnya berlaku untuk semua jenis dokumen, misalnya, teoritis atau kumpulan dokumen. Namun, meskipun tujuan utama artikel adalah untuk merepresentasikan kumpulan data, artikel ini tetap dapat mengambil manfaat dari rilis model dasar, termasuk skenario pelatihan, skenario evaluasi, dan hasil.
Mulai menggunakan
Untuk memudahkan pengulas dan pengguna memahami apa yang ada di dalam repositori dan bagi para ahli untuk mengevaluasinya dengan benar, kumpulan praktik terbaik disediakan untuk menulis file README.md, mendefinisikan dependensi, dan merilis model, set data, dan hasil yang telah dilatih sebelumnya. Direkomendasikan agar Anda mendefinisikan dengan jelas 5 elemen ini di repositori Anda dan menautkannya ke sumber daya eksternal seperti dokumen dan papan peringkat untuk memberikan lebih banyak konteks dan kejelasan bagi pengguna Anda. Ini adalah panduan resmi untuk mengirimkan kode ke NeuroIPS 2020.