S cieľom zvýšiť reprodukovateľnosť a umožniť ostatným ľahšie stavať na publikovaných prácach predstavujeme kontrolný zoznam úplnosti kódu ML. Kontrolný zoznam úplnosti kódu ML vyhodnocuje úložisko kódov na základe skriptov a artefaktov, ktoré sú v ňom uvedené.
Úvod
V minulom roku Joel Pino vydal kontrolný zoznam reprodukovateľnosti, ktorý uľahčuje reprodukovateľný výskum prezentovaný na významných OA konferenciách (NeurIPS, ICML, …). Väčšina položiek v kontrolnom zozname sa zameriava na komponenty papiera. Jedna položka v tomto kontrolnom zozname je „poskytnúť odkaz na zdrojový kód“, ale okrem toho bolo urobených niekoľko odporúčaní.
Najlepšie postupy boli zhrnuté v kontrolnom zozname úplnosti kódu ML, ktorý je teraz súčasťou oficiálneho procesu zadávania kódu NeurIPS 2020 a bude k dispozícii na použitie recenzentom podľa vlastného uváženia.
Kontrolný zoznam úplnosti ML
Kontrolný zoznam úplnosti M kódu kontroluje v úložisku kódov:
- Závislosti - Má úložisko informácie o závislosti alebo pokyny, ako nastaviť prostredie?
- Scenáre výcviku - Obsahuje úložisko spôsob školenia / prispôsobenia modelov opísaných v dokumente?
- Hodnotiace scenáre - Obsahuje úložisko skript na výpočet výkonnosti trénovaných modelov alebo vykonávanie experimentov na modeloch?
- Pretrained models - Poskytuje úložisko bezplatný prístup k váham vopred pripravených modelov?
- Výsledky - obsahuje archív tabuľku / graf hlavných výsledkov a skript na ich reprodukciu?
Každé úložisko môže prijímať od 0 (nemá žiadne) do 5 (má všetky) kliešte. Viac informácií o kritériách pre každú položku sa nachádza v úložisku Github.
Aký je dôkaz, že položky kontrolného zoznamu prispievajú k užitočnejším úložiskám?
Komunita zvyčajne používa hviezdy GitHubu ako proxy server pre užitočnosť úložiska. Očakáva sa preto, že repo obchody s vyšším skóre na kontrolnom zozname úplnosti ML budú mať tiež viac hviezd GitHub. Na testovanie tejto hypotézy bolo v dokumentoch NeurIPS 2019 predložených ako oficiálna implementácia 884 repozitárov GitHub. 25% podmnožina týchto 884 repo operácií bola náhodne vybraná a manuálne skontrolovaná v kontrolnom zozname úplnosti ML. Zoskupili túto vzorku repozitárov NeurIPS 2019 GitHub podľa počtu kliešťov, ktoré majú v kontrolnom zozname úplnosti kódu ML, a zmapovali stredné hviezdy GitHubu v každej skupine. Výsledok je uvedený nižšie:
Reprezentácie NeurIPS 2019 s 0 začiarkavacími políčkami mali na GitHub medián 1,5 hviezdičky. Naproti tomu repo obchody s 5 začiarkavacími políčkami mali medián 196,5 hviezd GitHub. Iba 9% repo operácií malo 5 kliešťov a väčšina repo operácií (70%) mala 3 kliešte alebo menej. Bol vykonaný Wilcoxonov test súčtu radov a zistilo sa, že počet hviezd v triede 5 kliešťov je významne (p.hodnota <1e-4) vyšší ako vo všetkých ostatných triedach okrem 5 oproti 4 (kde p.hodnota je hranica). pri 0,015). Údaje a kód tohto obrázka môžete vidieť v úložisku Github.
Na testovanie, či sa tento vzťah rozširuje širšie, bol vytvorený skript na automatizáciu výpočtu kontrolného zoznamu z úložiska README a súvisiaceho kódu. Potom sme znova analyzovali celú sadu úložísk 884 NeurIPS 2019, ako aj širšiu sadu úložísk kódu 8926 pre všetky články ML zverejnené v roku 2019. V obidvoch prípadoch dosiahli špecialisti kvalitatívne identický výsledok so strednými hviezdami monotónne rastúcimi z kliešťov štatisticky významným spôsobom (p. Hodnota <1e-4). Nakoniec sme pomocou robustnej lineárnej regresie zistili, že predcvičené modely a výsledky majú najväčší pozitívny vplyv na hviezdy GitHubu.
Toto je analytikmi považované za užitočné dôkazy, že povzbudzovanie výskumných pracovníkov k zahrnutiu všetkých komponentov požadovaných v kontrolnom zozname úplnosti ML povedie k užitočnejším archívom a že skóre v kontrolnom zozname naznačuje kvalitnejšie podania.
Odborníci v súčasnosti netvrdia, že navrhovaných 5 položiek kontrolného zoznamu je jediným alebo dokonca najvýznamnejším faktorom obľúbenosti úložiska. Popularitu môžu ovplyvniť ďalšie faktory, ako napríklad: veľkosť vedeckého príspevku, marketing (napr. Blogové príspevky a príspevky na Twitteri), dokumentácia (komplexné súbory README, výukové programy a dokumentácia API), kvalita kódu a predchádzajúce práce.
Niekoľko príkladov úložísk NeurIPS 2019 s 5 začiarkavacími políčkami:
Odborníci uznávajú, že hoci sa pokúsili urobiť kontrolný zoznam čo najobecnejším, nemusí byť úplne použiteľný pre všetky typy dokumentov, napríklad pre teoretické alebo súbory dokumentov. Avšak aj keď je hlavným účelom článku predstavenie súboru údajov, stále môže ťažiť z uvoľnenia základných modelov vrátane výcvikových scenárov, hodnotiacich scenárov a výsledkov.
Začnite používať
Aby recenzenti a používatelia ľahšie pochopili, čo sa v úložisku nachádza, a experti to mohli správne vyhodnotiť, poskytuje sa zbierka osvedčených postupov na písanie súborov README.md, definovanie závislostí a vydávanie predcvičených modelov, súborov údajov a výsledkov. Odporúča sa jasne definovať týchto 5 prvkov vo vašom úložisku a prepojiť ich s akýmikoľvek externými zdrojmi, ako sú napríklad dokumenty a výsledkové tabuľky, aby používateľom poskytli väčší kontext a jasnosť. Toto sú oficiálne pokyny pre odoslanie kódu do systému NeurIPS 2020.