Sa layuning madagdagan ang kakayahang muling magkabuo at bigyan ng kapangyarihan ang iba na mas madali ang ma-publish sa gawaing ito, nagpapakita kami ng isang checklist ng pagkumpleto ng ML code. Sinusuri ng Listahan ng Pagkumpleto ng ML Code ang tindahan ng code batay sa mga script at artifact na ibinigay dito.
Panimula
Noong nakaraang taon, nagpalabas si Joel Pino ng isang listahan ng muling pagsasama upang mapadali ang muling pagsasaliksik na ipinakita sa pangunahing mga kumperensya sa OA (NeurIPS, ICML,…). Karamihan sa mga item sa checklist ay nakatuon sa mga bahagi ng papel. Ang isang item sa checklist na ito ay "magbigay ng isang link sa source code," ngunit bukod doon, ilang rekomendasyon ang nagawa.
Ang mga pinakamahuhusay na kasanayan ay nailahod sa Listahan ng Pagkumpleto ng ML Code, na bahagi ngayon ng opisyal na proseso ng pagsumite ng code ng NeurIPS 2020 at magagamit para magamit ng mga tagasuri ayon sa tingin nila na angkop.
Listahan ng Pagkumpleto ng ML
Sinusuri ng Checklist ng Pagkumpleto ng M Code ang tindahan ng code para sa:
- Mga Dependency - Mayroon bang impormasyon sa dependency o tagubilin ang repository sa kung paano i-set up ang kapaligiran?
- Mga Scenario sa Pagsasanay - Naglalaman ba ang repository ng isang paraan upang sanayin / magkasya ang mga modelo na inilarawan sa dokumento?
- Mga Pangyayari sa Pagsusuri - Naglalaman ba ang repository ng isang script para sa pagkalkula ng pagganap ng (mga) sinanay na modelo o pagpapatakbo ng mga eksperimento sa mga modelo?
- Mga Pretrainong Modelo - Nagbibigay ba ang repository ng libreng pag-access sa mga timbang na nauna nang modelo?
- Mga Resulta - naglalaman ba ang lalagyan ng isang talahanayan / grapiko ng pangunahing mga resulta at isang script upang kopyahin ang mga resulta?
Ang bawat lalagyan ay maaaring makatanggap mula sa 0 (walang mayroon) hanggang 5 (mayroong lahat) na mga ticks. Ang karagdagang impormasyon sa mga pamantayan para sa bawat item ay matatagpuan sa repository ng Github.
Ano ang katibayan na nag-aambag ang mga item ng checklist sa mas kapaki-pakinabang na mga repository?
Karaniwang ginagamit ng pamayanan ang mga bituin ng GitHub bilang isang proxy para sa pagiging kapaki-pakinabang ng imbakan. Samakatuwid, ang mga repos na may mas mataas na marka sa checklist ng pagkakumpleto ng ML ay inaasahan na magkaroon din ng maraming mga bituin sa GitHub. Upang masubukan ang teorya na ito, mayroong 884 mga reposong GitHub na isinumite bilang opisyal na pagpapatupad sa mga NeurIPS docs D. Isang 25% na subset ng 884 na mga repos na ito ang sapalarang napili at manu-manong nasuri sa listahan ng pagkumpleto ng ML. Pinangkat nila ang halimbawang ito NeurIPS 2019 GitHub repos sa pamamagitan ng bilang ng mga tick na mayroon sila sa checklist ng pagkumpleto ng ML code at nai-mapa ang mga GitHub median na bituin sa bawat pangkat. Ang resulta ay nasa ibaba:
Ang mga reposong NeurIPS 2019 na may 0 na mga checkbox ay may median na 1.5 na mga bituin sa GitHub. Sa kaibahan, ang mga repos na may 5 mga checkbox ay may median na 196.5 na mga bituin ng GitHub. 9% lamang ng mga repos ang mayroong 5 ticks, at ang karamihan sa mga repos (70%) ay mayroong 3 ticks o mas kaunti. Ang Wilcoxon rank sum test ay ginanap at nalaman na ang bilang ng mga bituin sa 5 tick class ay mas malaki (p.value <1e-4) na mas mataas kaysa sa lahat ng iba pang mga klase maliban sa 5 kumpara sa 4 (kung saan ang p.value ang hangganan). sa 0.015). Maaari mong makita ang data at code para sa figure na ito sa imbakan ng Github.
Upang masubukan kung ang ugnayan na ito ay mas malawak na lumalawak, isang script ang nilikha upang i-automate ang pagkalkula ng isang checklist mula sa README na imbakan at nauugnay na code. Sinuri namin muli ang buong hanay ng 884 NeurIPS 2019 na mga repositoryo, pati na rin ang mas malawak na hanay ng 8926 code repositories para sa lahat ng mga artikulo sa ML na nai-publish noong 2019. Sa parehong mga kaso, ang mga dalubhasa ay nakakuha ng isang husay na magkatulad na resulta sa mga median na bituin na monotonically pagtaas mula sa mga ticks sa isang istatistikal na makabuluhang paraan (p.value <1e-4). Sa wakas, gamit ang matatag na linear na pag-urong, nakakita kami ng mga naunang modelo ng mga modelo at mga resulta na may pinakamalaking positibong epekto sa mga bituin ng GitHub.
Ito ay itinuturing na kapaki-pakinabang na katibayan ng mga analista na naghihikayat sa mga mananaliksik na isama ang lahat ng mga sangkap na kinakailangan ng listahan ng pagkumpleto ng ML ay hahantong sa mas kapaki-pakinabang na mga repository, at ang marka sa checklist ay nagpapahiwatig ng mas mahusay na mga pagsusumite sa kalidad.
Sa kasalukuyan, hindi inaangkin ng mga dalubhasa na ang ipinanukalang 5 item ng checklist ay ang tanging o kahit na ang pinaka makabuluhang kadahilanan sa katanyagan ng imbakan. Ang iba pang mga kadahilanan ay maaaring maka-impluwensya sa katanyagan, tulad ng: laki ng kontribusyon sa pang-agham, marketing (hal. Mga post sa blog at mga post sa Twitter), dokumentasyon (komprehensibong READMEs, mga tutorial, at dokumentasyon ng API), kalidad ng code, at nakaraang gawain.
Ang ilang mga halimbawa ng NeurIPS 2019 na repository na may 5 mga checkbox:
Kinikilala ng mga eksperto na kahit na sinubukan nilang gawin ang checklist bilang pangkalahatan hangga't maaari, maaaring hindi ito ganap na mailapat sa lahat ng uri ng mga dokumento, halimbawa, panteorya o mga hanay ng mga dokumento. Gayunpaman, kahit na ang pangunahing layunin ng artikulo ay upang kumatawan sa isang dataset, maaari pa rin itong makinabang mula sa pagpapalabas ng mga modelo ng baseline, kabilang ang mga sitwasyon sa pagsasanay, mga sitwasyon sa pagsusuri, at mga resulta.
Simulang gamitin
Upang gawing mas madali para sa mga tagasuri at gumagamit na maunawaan kung ano ang nasa lalagyan at upang masuri ito ng tama ng mga eksperto, isang koleksyon ng mga pinakamahusay na kasanayan ang ibinigay para sa pagsusulat ng mga file na README.md, pagtukoy sa mga dependency, at paglabas ng mga naunang modelo, dataset, at mga resulta. Inirerekumenda na malinaw mong tukuyin ang 5 mga sangkap na ito sa iyong lalagyan at i-link ang mga ito sa anumang panlabas na mapagkukunan tulad ng mga dokumento at leaderboard upang makapagbigay ng higit na konteksto at kalinawan para sa iyong mga gumagamit. Ito ang mga opisyal na alituntunin para sa pagsusumite ng isang code sa NeurIPS 2020.