Met die doel om reproduceerbaarheid te verhoog en ander te bemagtig om makliker op gepubliseerde werk voort te bou, bied ons 'n kontrolelys vir die volledigheid van die ML-kode aan. Die ML-kontrolelys vir volledigheid evalueer die kodewinkel aan die hand van die skrifte en artefakte wat daarin aangebied word.
Inleiding
Verlede jaar het Joel Pino 'n kontrolelys vir reproduceerbaarheid vrygestel om reproduseerbare navorsing te vergemaklik wat tydens groot OA-konferensies (NeurIPS, ICML, …) aangebied is. Die meeste items op die kontrolelys fokus op die komponente van die vraestel. Een item op hierdie kontrolelys is 'verskaf 'n skakel na die bronkode', maar daarbenewens is min aanbevelings gemaak.
Beste praktyke is saamgevat in die kontrolelys vir die voltooiing van die ML-kode, wat nou deel uitmaak van die amptelike NeurIPS 2020-indieningsproses en beskikbaar sal wees vir beoordelaars soos hulle goeddink.
ML-kontrolelys vir volledigheid
Die kontrolelys vir die voltooiing van die M-kode kyk na die kodewinkel vir:
- Afhanklikhede - Het die bewaarplek inligting oor afhanklikheid of instruksies oor hoe om die omgewing op te stel?
- Opleidingsscenario's - Bevat die bewaarplek 'n manier om die modelle op te lei wat in die dokument beskryf word?
- Evaluasiescenario's - Bevat die bewaarplek 'n skrif om die prestasie van die opgeleide model (s) te bereken of eksperimente op modelle uit te voer?
- Voorafgeoefende modelle - Bied die bewaarplek gratis toegang tot vooraf-opgeleide gewigte?
- Resultate - bevat die bewaarplek 'n tabel / grafiek van die hoofresultate en 'n script om die resultate weer te gee?
Elke bewaarplek kan ontvang van 0 (het geen) tot 5 (het al) regmerkies. Meer inligting oor die kriteria vir elke item kan gevind word in die Github-bewaarplek.
Wat is die bewys dat kontrolelysitems bydra tot nuttiger bewaarplekke?
Die gemeenskap gebruik gewoonlik GitHub-sterre as 'n proxy vir die bruikbaarheid van die bewaarplek. Daarom word verwag dat repo's met 'n hoër telling op die ML-volledigheidskontrolelys ook meer GitHub-sterre sal hê. Om hierdie hipotese te toets, is daar 884 GitHub-repo's ingedien as amptelike implementerings in die NeurIPS 2019-dokumente. 'N Subgroep van 25% van hierdie 884 repo's is lukraak gekies en handmatig gekontroleer in die ML-volledigheidskontrolelys. Hulle het hierdie monster NeurIPS 2019 GitHub-repos gegroepeer volgens die aantal regmerkies wat hulle in die kontrolelys van die ML-kode bevat en die GitHub-mediaansterre in elke groep gekarteer. Die resultaat is hieronder:
NeurIPS 2019-repo's met 0 regmerkies het 'n mediaan van 1,5 sterre op GitHub gehad. Daarteenoor het repo's met 5 vinkies 'n mediaan van 196,5 GitHub-sterre. Slegs 9% van die repo's het 5 bosluise, en die meeste van die repo's (70%) het 3 bosluise of minder. Die Wilcoxon rang som-toets is uitgevoer en bevind dat die aantal sterre in die 5 bosluisklas beduidend (p.waarde <1e-4) hoër is as in alle ander klasse behalwe 5 versus 4 (waar p.waarde die grens is). by 0,015). U kan die data en kode vir hierdie figuur in die Github-bewaarplek sien.
Om te toets of hierdie verhouding wyer strek, is 'n script geskep om die berekening van 'n kontrolelys uit die README-bewaarplek en die gepaardgaande kode te outomatiseer. Daarna het ons die hele reeks 884 NeurIPS 2019-bewaarplekke, sowel as die breër reeks 8926-kode-bewaarplekke vir alle ML-artikels wat in 2019 gepubliseer is, weer geanaliseer. In albei gevalle het die spesialiste 'n kwalitatiewe identiese resultaat behaal met mediaansterre wat op 'n statisties beduidende manier monotonies van bosluise toegeneem het (p.waarde <1e-4). Ten slotte, met behulp van robuuste lineêre regressie, het ons gevind dat vooraf-opgeleide modelle en resultate die grootste positiewe impak op GitHub-sterre het.
Dit word deur die ontleders as bruikbare bewyse beskou dat navorsers aangemoedig word om al die komponente wat deur die ML-kontrolelys vereis word, op te neem, sal lei tot nuttiger bewaarplekke en dat die telling op die kontrolelys dui op 'n beter gehalte voorleggings.
Tans beweer kenners nie dat die voorgestelde vyf kontrolelys-items die enigste of selfs die belangrikste faktor in die gewildheid van die bewaarplek is nie. Ander faktore kan gewildheid beïnvloed, soos: wetenskaplike bydraegrootte, bemarking (bv. Blogposte en Twitter-plasings), dokumentasie (omvattende README's, tutoriale en API-dokumentasie), kwaliteit van die kode en vorige werk.
Enkele voorbeelde van NeurIPS 2019-bewaarplekke met 5 regmerkies:
Kundiges erken dat, alhoewel hulle probeer het om die kontrolelys so algemeen as moontlik te maak, dit dalk nie ten volle van toepassing is op alle soorte dokumente nie, byvoorbeeld teoretiese of dokumentestelle. Selfs al is die hoofdoel van die artikel om 'n datastel voor te stel, kan dit steeds voordeel trek uit die bekendmaking van basismodelle, insluitend opleidingscenario's, evaluasiescenario's en resultate.
Begin gebruik
Om dit makliker te maak vir beoordelaars en gebruikers om te verstaan wat in die bewaarplek is en vir kundiges om dit korrek te evalueer, word 'n versameling beste praktyke voorsien vir die skryf van README.md-lêers, die definiëring van afhanklikhede en die vrystelling van vooraf-opgeleide modelle, datastelle en resultate. Dit word aanbeveel dat u hierdie 5 elemente in u bewaarplek duidelik definieer en koppel aan eksterne hulpbronne soos dokumente en ranglyste om meer konteks en duidelikheid aan u gebruikers te bied. Dit is die amptelike riglyne vir die indiening van 'n kode by NeurIPS 2020.