Lista De Verificare A Completitudinii ML

Cuprins:

Lista De Verificare A Completitudinii ML
Lista De Verificare A Completitudinii ML

Video: Lista De Verificare A Completitudinii ML

Video: Lista De Verificare A Completitudinii ML
Video: ML's Hidden Tasks: A Checklist for Developers When Building ML Systems 2024, Mai
Anonim

În scopul creșterii reproductibilității și împuternicirii celorlalți să construiască mai ușor pe lucrările publicate, vă prezentăm o listă de verificare a completitudinii codului ML. Lista de verificare a integrității codului ML evaluează depozitul de coduri pe baza scripturilor și a artefactelor furnizate în acesta.

Lista de verificare a completitudinii codului ML
Lista de verificare a completitudinii codului ML

Introducere

Anul trecut, Joel Pino a lansat o listă de verificare a reproductibilității pentru a facilita cercetarea reproductibilă prezentată la conferințele majore OA (NeurIPS, ICML, …). Majoritatea articolelor din lista de verificare se concentrează pe componentele hârtiei. Un element din această listă de verificare este „furnizați un link către codul sursă”, dar în afară de aceasta, au fost făcute câteva recomandări.

Cele mai bune practici au fost rezumate în Lista de verificare a completitudinii codului ML, care face acum parte din procesul oficial de trimitere a codului NeurIPS 2020 și va fi disponibilă pentru utilizare de către recenzori după cum consideră potrivit.

Lista de verificare a completitudinii ML

Lista de verificare a integrității codului M verifică depozitul de coduri pentru:

  1. Dependențe - Depozitul are informații despre dependență sau instrucțiuni despre cum să configurați mediul?
  2. Scenarii de instruire - Contine depozitul o modalitate de a antrena / potrivi modelele descrise în document?
  3. Scenarii de evaluare - Contine depozitul un script pentru calcularea performanței modelului (modelelor) instruit (e) sau pentru derularea experimentelor pe modele?
  4. Modele preinstruite - Repertoriul oferă acces gratuit la greutățile modelelor preinstruite?
  5. Rezultate - depozitul conține un tabel / grafic al rezultatelor principale și un script pentru a reproduce aceste rezultate?

Fiecare depozit poate primi de la 0 (nu are niciunul) la 5 (are toate) căpușe. Mai multe informații despre criteriile pentru fiecare articol pot fi găsite în depozitul Github.

Care sunt dovezile conform cărora elementele din lista de verificare contribuie la depozite mai utile?

Comunitatea folosește în general stelele GitHub ca un proxy pentru utilitatea depozitului. Prin urmare, repozitele cu un scor mai mare pe lista de verificare a completitudinii ML sunt de așteptat să aibă și mai multe stele GitHub. Pentru a testa această ipoteză, au fost trimise 884 de repoții GitHub ca implementări oficiale în documentele NeurIPS 2019. Un subset de 25% din aceste 884 repoze au fost selectate aleatoriu și verificate manual în lista de verificare a completitudinii ML. Au grupat acest eșantion NeurIPS 2019 GitHub repos după numărul de căpușe pe care le au în lista de verificare a completitudinii codului ML și au cartografiat stelele mediane GitHub din fiecare grup. Rezultatul este mai jos:

Imagine
Imagine

NeurIPS 2019 repos cu 0 casete de selectare aveau o medie de 1,5 stele pe GitHub. În schimb, repos-urile cu 5 casete de selectare aveau o mediană de 196,5 stele GitHub. Doar 9% dintre repoși au avut 5 căpușe, iar majoritatea repoșelor (70%) au avut 3 căpușe sau mai puțin. S-a efectuat testul sumei de rang Wilcoxon și s-a constatat că numărul de stele din clasa cu 5 căpușe este semnificativ (valoare p <1e-4) mai mare decât în toate celelalte clase, cu excepția 5 față de 4 (unde valoarea p este granița). la 0,015). Puteți vedea datele și codul pentru această figură în depozitul Github.

Pentru a testa dacă această relație se extinde mai larg, a fost creat un script pentru a automatiza calculul unei liste de verificare din depozitul README și codul asociat. Apoi am re-analizat întregul set de 884 depozite NeurIPS 2019, precum și setul mai larg de depozite de cod 8926 pentru toate articolele ML publicate în 2019. În ambele cazuri, specialiștii au obținut un rezultat calitativ identic cu stelele mediane crescând monoton de la căpușe într-un mod semnificativ statistic (p.valor <1e-4). În cele din urmă, folosind regresia liniară robustă, am găsit că modelele și rezultatele pre-antrenate au cel mai mare impact pozitiv asupra stelelor GitHub.

Aceasta este considerată dovadă utilă de către analiști că încurajarea cercetătorilor să includă toate componentele cerute de lista de verificare a completitudinii ML va duce la depozite mai utile și că scorul de pe lista de verificare indică trimiteri de o calitate mai bună.

În prezent, experții nu susțin că cele 5 articole de listă de verificare propuse sunt singurul sau chiar cel mai semnificativ factor în popularitatea depozitului. Alți factori pot influența popularitatea, cum ar fi: dimensiunea contribuției științifice, marketing (de exemplu, postări de blog și postări pe Twitter), documentație (README cuprinzătoare, tutoriale și documentație API), calitatea codului și lucrările anterioare.

Câteva exemple de depozite NeurIPS 2019 cu 5 casete de selectare:

Experții recunosc că, deși au încercat să facă lista de verificare cât mai generală, este posibil să nu fie pe deplin aplicabilă tuturor tipurilor de documente, de exemplu, teoretice sau seturilor de documente. Cu toate acestea, chiar dacă scopul principal al articolului este reprezentarea unui set de date, acesta poate beneficia în continuare de lansarea modelelor de bază, inclusiv scenarii de instruire, scenarii de evaluare și rezultate.

Începeți să utilizați

Pentru a face mai ușor pentru recenzori și utilizatori să înțeleagă ce se află în depozit și experții să îl evalueze corect, este furnizată o colecție de cele mai bune practici pentru scrierea fișierelor README.md, definirea dependențelor și lansarea de modele, seturi de date și rezultate pretrainate. Este recomandat să definiți în mod clar aceste 5 elemente din depozitul dvs. și să le conectați la orice resurse externe, cum ar fi documentele și clasamentele, pentru a oferi mai mult context și claritate utilizatorilor dvs. Acestea sunt liniile directoare oficiale pentru trimiterea unui cod la NeurIPS 2020.

Recomandat: