Provjera Cjelovitosti ML-a

Sadržaj:

Provjera Cjelovitosti ML-a
Provjera Cjelovitosti ML-a

Video: Provjera Cjelovitosti ML-a

Video: Provjera Cjelovitosti ML-a
Video: Reduktor brzine + PWK 21 - Yamaha Jog - postavka prijenosa skutera 2024, Svibanj
Anonim

S ciljem povećanja ponovljivosti i osnaživanja drugih da lakše nadograđuju objavljeni rad, predstavljamo popis za provjeru cjelovitosti ML koda. Kontrolni popis za potpunost ML koda procjenjuje spremište koda na temelju skripti i artefakata koji su u njemu navedeni.

Kontrolni popis cjelovitosti ML koda
Kontrolni popis cjelovitosti ML koda

Uvod

Prošle je godine Joel Pino objavio popis ponovljivosti kako bi olakšao ponovljiva istraživanja predstavljena na glavnim OA konferencijama (NeurIPS, ICML, …). Većina stavki na kontrolnom popisu usredotočena je na komponente papira. Jedna stavka na ovom kontrolnom popisu je "pružite vezu do izvornog koda", ali osim toga, malo je preporuka.

Najbolje prakse sumirane su na popisu za provjeru cjelovitosti ML koda, koji je sada dio službenog postupka predaje koda NeurIPS 2020 i bit će dostupan recenzentima po njihovoj ocjeni.

Provjera cjelovitosti ML-a

Kontrolni popis cjelovitosti M koda provjerava spremište kodova radi:

  1. Ovisnosti - ima li spremište informacije o ovisnosti ili upute o tome kako postaviti okruženje?
  2. Scenariji treninga - Sadrži li spremište način obuke / uklapanja u modele opisane u dokumentu?
  3. Scenariji procjene - sadrži li spremište skriptu za izračunavanje izvedbe osposobljenih modela ili izvođenja eksperimenata na modelima?
  4. Pretraženi modeli - pruža li spremište besplatan pristup unaprijed pripremljenim težinama modela?
  5. Rezultati - sadrži li spremište tablicu / grafikon glavnih rezultata i skriptu za reprodukciju tih rezultata?

Svako spremište može primiti od 0 (nema ih) do 5 (ima sve) krpelja. Više informacija o kriterijima za svaku stavku možete pronaći u spremištu Github.

Koji su dokazi da stavke kontrolnih popisa doprinose korisnijim spremištima?

Zajednica obično koristi GitHub zvijezde kao proxy za korisnost spremišta. Stoga se očekuje da će repo snimci s višim rezultatom na kontrolnom popisu ML-a također imati više GitHub zvijezda. Da bi se testirala ova hipoteza, bilo je 884 GitHub repo-prijava predanih kao službena implementacija u dokumentima NeurIPS 2019. Podskup od tih 884 repo-mjesta od 25% nasumično je odabran i ručno provjeren na kontrolnom popisu cjelovitosti ML-a. Grupirali su ovaj uzorak NeurIPS 2019 GitHub repo oglasa po broju krpelja koje imaju na kontrolnom popisu cjelovitosti ML koda i mapirali srednje GitHub zvijezde u svakoj grupi. Rezultat je u nastavku:

Slika
Slika

Repo poslovi NeurIPS 2019 s 0 potvrdnih okvira imali su medijan od 1,5 zvjezdice na GitHubu. Suprotno tome, repo snimke s 5 potvrdnih okvira imale su medijan od 196,5 GitHub zvijezda. Samo 9% repozicija imalo je 5 krpelja, a većina repoa (70%) imalo je 3 krpelja ili manje. Izvršen je test zbrajanja Wilcoxon-ovog ranga i utvrđeno je da je broj zvijezda u klasi 5 krpelja značajno (p.value <1e-4) veći nego u svim ostalim razredima, osim 5 nasuprot 4 (gdje je p.value granica). 0,015). Podatke i kod za ovu sliku možete vidjeti u spremištu Github.

Da bi se ispitalo širi li se ovaj odnos šire, stvorena je skripta za automatizaciju izračunavanja kontrolnog popisa iz README spremišta i pridruženog koda. Zatim smo ponovno analizirali cijeli set od 884 spremišta NeurIPS 2019, kao i širi skup od 8926 spremišta koda za sve članke o ML objavljene u 2019. godini. U oba slučaja stručnjaci su dobili kvalitativno identičan rezultat sa srednjim zvijezdama koje se monotono povećavaju od krpelja na statistički značajan način (p.value <1e-4). Napokon, koristeći robusnu linearnu regresiju, otkrili smo da prethodno obučeni modeli i rezultati imaju najveći pozitivan utjecaj na GitHub zvijezde.

Analitičari ovo smatraju korisnim dokazom da će poticanje istraživača da uključe sve komponente potrebne na kontrolnom popisu cjelovitosti ML dovesti do korisnijih spremišta i da rezultat na kontrolnom popisu ukazuje na kvalitetniju prijavu.

Trenutno stručnjaci ne tvrde da su predloženih 5 stavki kontrolnog popisa jedini ili čak najvažniji čimbenik popularnosti spremišta. Ostali čimbenici mogu utjecati na popularnost, kao što su: veličina znanstvenog doprinosa, marketing (npr. Postovi na blogu i postovi na Twitteru), dokumentacija (sveobuhvatni README-ovi, vodiči i API dokumentacija), kvaliteta koda i prethodni rad.

Neki primjeri NeurIPS 2019 spremišta s 5 potvrdnih okvira:

Stručnjaci prepoznaju da, iako su pokušali kontrolni popis učiniti što općenitijim, on možda nije u potpunosti primjenjiv na sve vrste dokumenata, na primjer, teorijske ili skupove dokumenata. Međutim, čak i ako je glavna svrha članka predstavljati skup podataka, on i dalje može imati koristi od objavljivanja osnovnih modela, uključujući scenarije treninga, scenarije procjene i rezultate.

Počnite koristiti

Da bi recenzenti i korisnici lakše razumjeli što se nalazi u spremištu, a stručnjaci da bi ga ispravno procijenili, pruža se zbirka najboljih praksi za pisanje datoteka README.md, definiranje ovisnosti i objavljivanje prethodno obučenih modela, skupova podataka i rezultata. Preporučuje se da ovih 5 elemenata jasno definirate u spremištu i povežete ih s bilo kojim vanjskim resursima, poput dokumenata i ploča s rezultatima, kako biste svojim korisnicima pružili više konteksta i jasnoće. Ovo su službene smjernice za slanje koda na NeurIPS 2020.

Preporučeni: