ML Išsamumo Kontrolinis Sąrašas

Turinys:

ML Išsamumo Kontrolinis Sąrašas
ML Išsamumo Kontrolinis Sąrašas

Video: ML Išsamumo Kontrolinis Sąrašas

Video: ML Išsamumo Kontrolinis Sąrašas
Video: ✅ DENEDİKTEN SONRA HERKES BU POĞAÇANIN LEZZETİNE BAYILDI😋💯EN KOLAY POĞAÇA TARİFİ ⁉️ 2024, Lapkritis
Anonim

Siekdami padidinti atkuriamumą ir suteikti kitiems galimybę lengviau remtis paskelbtais darbais, pateikiame ML kodo išsamumo kontrolinį sąrašą. ML kodo išsamumo kontrolinis sąrašas įvertina kodų saugyklą pagal joje pateiktus scenarijus ir artefaktus.

ML kodo išsamumo kontrolinis sąrašas
ML kodo išsamumo kontrolinis sąrašas

Įvadas

Praėjusiais metais Joelis Pino išleido atkuriamumo kontrolinį sąrašą, kad palengvintų pakartotinus tyrimus, pristatytus pagrindinėse OA konferencijose („NeurIPS“, „ICML“ir kt.). Daugumoje kontrolinio sąrašo elementų daugiausia dėmesio skiriama popieriaus komponentams. Vienas šio kontrolinio sąrašo punktas yra „pateikti nuorodą į šaltinio kodą“, tačiau, išskyrus tai, buvo pateikta keletas rekomendacijų.

Geriausios praktikos pavyzdžiai buvo apibendrinti ML kodo išsamumo kontroliniame sąraše, kuris dabar yra oficialaus „NeurIPS 2020“kodo pateikimo proceso dalis ir kurį recenzentai galės naudoti savo nuožiūra.

ML išsamumo kontrolinis sąrašas

M kodo išsamumo kontrolinis sąrašas tikrina kodų saugyklą:

  1. Priklausomybės - ar saugykloje yra informacijos apie priklausomybę ar instrukcijų, kaip sukurti aplinką?
  2. Mokymo scenarijai - ar saugykloje yra būdas mokyti / pritaikyti dokumente aprašytus modelius?
  3. Įvertinimo scenarijai - ar saugykloje yra scenarijus, skirtas apskaičiuoti apmokyto (-ų) modelio (-ių) našumą ar vykdyti eksperimentus su modeliais?
  4. Iš anksto paruošti modeliai - ar saugykla suteikia nemokamą prieigą prie iš anksto paruoštų modelių svorių?
  5. Rezultatai - ar saugykloje yra pagrindinių rezultatų lentelė / diagrama ir scenarijus, kaip tuos rezultatus atkurti?

Kiekviena saugykla gali gauti nuo 0 (neturi) iki 5 (turi visas) varneles. Daugiau informacijos apie kiekvieno elemento kriterijus galite rasti „Github“saugykloje.

Kokie įrodymai rodo, kad kontrolinių sąrašų elementai prisideda prie naudingesnių saugyklų?

Bendruomenė paprastai naudoja „GitHub“žvaigždes kaip saugyklos naudingumo tarpininką. Todėl tikimasi, kad atpirkimo operacijos, kurių ML išsamumo kontroliniame sąraše yra didesnis rezultatas, taip pat turės daugiau „GitHub“žvaigždžių. Norėdami patikrinti šią hipotezę, „NeurIPS 2019“dokumentuose buvo pateikti 884 „GitHub“atpirkimai kaip oficialūs diegimai. 25% šių 884 atpirkimų pogrupis buvo atsitiktinai parinktas ir rankiniu būdu patikrintas ML išsamumo kontroliniame sąraše. Jie sugrupavo šį „NeurIPS 2019 GitHub“repo pavyzdį pagal erkių skaičių, kurį jie turi ML kodo išsamumo kontroliniame sąraše, ir suskirstė „GitHub“vidutines žvaigždes kiekvienoje grupėje. Rezultatas yra žemiau:

Vaizdas
Vaizdas

„NeurIPS 2019“atpirkimuose su 0 žymimųjų langelių „GitHub“mediana buvo 1,5 žvaigždutės. Priešingai, atpirkimo rinkiniuose su 5 žymės langeliais mediana buvo 196,5 „GitHub“žvaigždžių. Tik 9% atpirkimo akcijų turėjo 5 erkes, o dauguma atpirkimo akcijų (70%) - 3 ar mažiau. Buvo atliktas Wilcoxon rango sumos testas ir nustatyta, kad žvaigždžių skaičius 5 erkių klasėje yra žymiai didesnis (p. Vertė <1e-4) didesnis nei visose kitose klasėse, išskyrus 5, palyginti su 4 (kur p.value yra riba). 0,015). Šios figūros duomenis ir kodą galite pamatyti „Github“saugykloje.

Norėdami patikrinti, ar šis ryšys tęsiasi plačiau, buvo sukurtas scenarijus, skirtas automatizuoti kontrolinio sąrašo iš README saugyklos ir susijusio kodo apskaičiavimą. Tada mes iš naujo išanalizavome visą 884 „NeurIPS 2019“saugyklų rinkinį, taip pat platesnį 8926 kodų saugyklų rinkinį visiems ML straipsniams, paskelbtiems 2019 m. Abiem atvejais specialistai pasiekė kokybiškai identišką rezultatą, kai žvaigždžių mediana statistiškai reikšmingai monotoniškai didėja nuo erkių (p. Vertė <1e-4). Galiausiai, naudodami tvirtą tiesinę regresiją, nustatėme, kad iš anksto paruošti modeliai ir rezultatai turi didžiausią teigiamą poveikį „GitHub“žvaigždėms.

Analitikai tai vertina kaip naudingą įrodymą, kad paskatinus tyrėjus įtraukti visus ML išsamumo kontroliniame sąraše reikalaujamus komponentus, bus sukurtos naudingesnės saugyklos ir kad kontrolinio sąrašo balas rodo geresnę pateikimo kokybę.

Šiuo metu ekspertai neteigia, kad siūlomi 5 kontrolinių sąrašų elementai yra vienintelis ar net reikšmingiausias kapinyno populiarumo veiksnys. Kiti veiksniai gali turėti įtakos populiarumui, pavyzdžiui: mokslinio įnašo dydis, rinkodara (pvz., Tinklaraščio įrašai ir „Twitter“įrašai), dokumentacija (išsamūs README, vadovėliai ir API dokumentai), kodo kokybė ir ankstesnis darbas.

Keli „NeurIPS 2019“saugyklų su 5 žymės langeliais pavyzdžiai:

Ekspertai pripažįsta, kad nors jie bandė padaryti kontrolinį sąrašą kiek įmanoma bendresnį, jis gali būti ne visai pritaikytas visų tipų dokumentams, pavyzdžiui, teoriniams ar dokumentų rinkiniams. Tačiau net jei pagrindinis straipsnio tikslas yra pateikti duomenų rinkinį, jam vis tiek gali būti naudinga išleisti bazinius modelius, įskaitant mokymo scenarijus, vertinimo scenarijus ir rezultatus.

Pradėkite naudoti

Kad recenzentai ir vartotojai lengviau suprastų, kas yra saugykloje, ir ekspertams tai teisingai įvertinti, pateikiamas geriausios praktikos rinkinys, skirtas rašyti README.md failus, apibrėžti priklausomybes ir išleisti parengtus modelius, duomenų rinkinius ir rezultatus. Rekomenduojama aiškiai apibrėžti šiuos 5 elementus saugykloje ir susieti juos su visais išoriniais šaltiniais, tokiais kaip dokumentai ir pirmaujančiųjų sąrašai, kad vartotojams būtų daugiau konteksto ir aiškumo. Tai yra oficialios gairės, kaip pateikti kodą „NeurIPS 2020“.

Rekomenduojamas: