ML Pilnīguma Kontrolsaraksts

Satura rādītājs:

ML Pilnīguma Kontrolsaraksts
ML Pilnīguma Kontrolsaraksts

Video: ML Pilnīguma Kontrolsaraksts

Video: ML Pilnīguma Kontrolsaraksts
Video: ML BEST TIKTOK FREESTYLE - Anxious Plays | MLBB 2024, Novembris
Anonim

Ar mērķi palielināt reproducējamību un dot iespēju citiem vieglāk balstīties uz publicētajiem darbiem, mēs iesniedzam ML koda pilnības kontrolsarakstu. ML koda pilnības kontrolsaraksts novērtē kodu krātuvi, pamatojoties uz tajā sniegtajiem skriptiem un artefaktiem.

ML koda pilnības kontrolsaraksts
ML koda pilnības kontrolsaraksts

Ievads

Pagājušajā gadā Džoels Pino izdeva reproducējamības kontrolsarakstu, lai atvieglotu reproducējamus pētījumus, kas tika prezentēti lielākajās OA konferencēs (NeurIPS, ICML,…). Lielākā daļa kontrolsaraksta punktu ir koncentrēti uz papīra sastāvdaļām. Viens šī kontrolsaraksta elements ir “norādīt saiti uz pirmkodu”, taču, izņemot to, tika sniegti daži ieteikumi.

Labākā prakse ir apkopota ML koda pilnības kontrolsarakstā, kas tagad ir daļa no oficiālā NeurIPS 2020 koda iesniegšanas procesa un būs pieejams recenzentiem pēc viņu ieskatiem.

ML pilnīguma kontrolsaraksts

M koda pilnības kontrolsaraksts pārbauda kodu krātuvi:

  1. Atkarības - vai repozitorijā ir informācija par atkarību vai instrukcijas, kā izveidot vidi?
  2. Apmācības scenāriji - vai repozitorijā ir veids, kā apmācīt / pielāgot dokumentā aprakstītos modeļus?
  3. Novērtēšanas scenāriji - vai repozitorijā ir skripts apmācītā (-o) modeļa (-u) veiktspējas aprēķināšanai vai eksperimentu veikšanai ar modeļiem?
  4. Iepriekš sagatavoti modeļi - vai repozitorijs nodrošina bezmaksas piekļuvi iepriekš sagatavotiem modeļu svariem?
  5. Rezultāti - vai repozitorijā ir tabula / diagramma ar galvenajiem rezultātiem un skripts šo rezultātu reproducēšanai?

Katrs krātuve var saņemt no 0 (nav neviena) līdz 5 (ir visas) ērces. Plašāku informāciju par katra vienuma kritērijiem var atrast Github krātuvē.

Kādi ir pierādījumi tam, ka kontrolsarakstu vienības veicina noderīgāku krātuvju izveidi?

Kopiena parasti izmanto GitHub zvaigznes kā repozitorija lietderības aizstājēju. Tāpēc sagaidāms, ka repo ar augstāku punktu skaitu ML pilnības kontrolsarakstā būs arī vairāk GitHub zvaigžņu. Lai pārbaudītu šo hipotēzi, NeurIPS 2019 dokumentos 884 GitHub repo tika iesniegti kā oficiāli ieviesti. Šo 884 repo 25% apakškopa tika nejauši izvēlēta un manuāli pārbaudīta ML pilnīguma kontrolsarakstā. Viņi sagrupēja šo NeurIPS 2019 GitHub repo paraugu pēc ērču skaita, kas viņiem bija ML koda pilnības kontrolsarakstā, un kartēja GitHub vidējās zvaigznes katrā grupā. Rezultāts ir šāds:

Attēls
Attēls

NeurIPS 2019 repos ar 0 izvēles rūtiņām GitHub vidējā vērtība bija 1,5 zvaigznes. Turpretī repo ar 5 izvēles rūtiņām mediāna bija 196,5 GitHub zvaigznes. Tikai 9% repo bija 5 ērces, un lielākajai daļai repo (70%) bija 3 vai mazāk ērces. Tika veikts Vilkoksona rangu summas tests, kurā tika konstatēts, ka zvaigžņu skaits 5 ērču klasē ir ievērojami (p.vērtība <1e-4) lielāks nekā visās pārējās klasēs, izņemot 5 pret 4 (kur p.vērtība ir robeža). pie 0,015). Šīs figūras datus un kodu varat skatīt Github krātuvē.

Lai pārbaudītu, vai šīs attiecības paplašinās plašāk, tika izveidots skripts, lai automatizētu kontrolsaraksta aprēķināšanu no README krātuves un saistītā koda. Pēc tam mēs atkārtoti analizējām visu 884 NeurIPS 2019 krātuvju komplektu, kā arī plašāku 8926 kodu krātuvju komplektu visiem 2019. gadā publicētajiem ML rakstiem. Abos gadījumos speciālisti ieguva kvalitatīvi identisku rezultātu, kad mediānas zvaigznes statistiski nozīmīgā veidā monotoni palielinājās no ērcēm (p.vērtība <1e-4). Visbeidzot, izmantojot stabilu lineāro regresiju, mēs atklājām, ka iepriekš sagatavoti modeļi un rezultāti visvairāk pozitīvi ietekmē GitHub zvaigznes.

Analītiķi to uzskata par noderīgu pierādījumu, ka, mudinot pētniekus iekļaut visus komponentus, kas nepieciešami ML pilnīguma kontrolsarakstā, tiks izveidoti noderīgāki krātuves un ka kontrolsarakstā iegūtais rezultāts norāda uz labākas kvalitātes iesniegumiem.

Pašlaik eksperti neapgalvo, ka piedāvātie 5 kontrolsarakstu elementi ir vienīgais vai pat vissvarīgākais krātuves popularitātes faktors. Citi faktori var ietekmēt popularitāti, piemēram: zinātniskā ieguldījuma lielums, mārketings (piemēram, emuāra ziņas un Twitter ziņas), dokumentācija (visaptverošas README, apmācības un API dokumentācija), koda kvalitāte un iepriekšējais darbs.

Daži NeurIPS 2019 krātuvju piemēri ar 5 izvēles rūtiņām:

Eksperti atzīst, ka, lai arī viņi ir mēģinājuši izveidot kontrolsarakstu pēc iespējas vispārīgāku, tas, iespējams, nav pilnībā piemērojams visu veidu dokumentiem, piemēram, teorētiskiem vai dokumentu kopumiem. Tomēr, pat ja raksta galvenais mērķis ir attēlot datu kopu, tas joprojām var gūt labumu no bāzes modeļu, tostarp apmācības scenāriju, novērtēšanas scenāriju un rezultātu, izlaišanas.

Sāciet lietot

Lai recenzentiem un lietotājiem būtu vieglāk saprast, kas atrodas krātuvē, un ekspertiem to pareizi novērtēt, tiek nodrošināta paraugprakses kolekcija, lai rakstītu failus README.md, definētu atkarības un sagatavotu modeļus, datu kopas un rezultātus. Ieteicams skaidri definēt šos 5 elementus savā krātuvē un saistīt tos ar visiem ārējiem resursiem, piemēram, dokumentiem un uzvarētāju sarakstiem, lai lietotājiem nodrošinātu lielāku kontekstu un skaidrību. Šīs ir oficiālās vadlīnijas koda iesniegšanai vietnē NeurIPS 2020.