Reproduktivliyi artırmaq və başqalarına nəşr olunmuş işi daha asan qurmaq üçün gücləndirmək məqsədi ilə ML kodunun tamlığı yoxlama siyahısını təqdim edirik. ML Code Completeness Checklist, kod mağazasını, orada verilmiş ssenarilərə və əsərlərə əsasən qiymətləndirir.
Giriş
Keçən il Joel Pino, böyük OA konfranslarında (NeurIPS, ICML,…) təqdim olunan təkrarlana bilən tədqiqatları asanlaşdırmaq üçün təkrarlanabilirlik yoxlama siyahısı çıxardı. Yoxlama siyahısındakı maddələrin əksəriyyəti kağızın tərkib hissələrinə yönəldilmişdir. Bu yoxlama siyahısındakı bir maddə “mənbə koduna keçid təmin etməkdir”, lakin bunun xaricində çox az tövsiyə edilmişdir.
Ən yaxşı təcrübələr, indi rəsmi NeurIPS 2020 kod təqdimetmə prosesinin bir hissəsi olan ML Kod Tamluğu Yoxlama Siyahısında ümumiləşdirilib və rəyçilər tərəfindən istədikləri kimi istifadəyə veriləcək.
ML Tamlığı Yoxlama Siyahısı
M Code Completeness Checklist kod mağazasını yoxlayır:
- Asılılıqlar - Anbarda asılılıq məlumatı və ya mühitin qurulmasına dair təlimatlar varmı?
- Təlim Ssenariləri - Anbarda sənəddə təsvir olunan modelləri öyrətmək / uyğunlaşdırmaq üçün bir yol varmı?
- Qiymətləndirmə ssenariləri - Anbarda öyrədilmiş model (lər) in performansını hesablamaq və ya modellərdə təcrübələr aparmaq üçün bir ssenari varmı?
- Öncədən hazırlanmış modellər - Anbar əvvəlcədən hazırlanmış model çəkilərinə pulsuz giriş təmin edirmi?
- Nəticələr - anbarda əsas nəticələrin cədvəli / qrafiki və bu nəticələri çoxaltmaq üçün bir skript var?
Hər bir depo 0 (yoxdur) ilə 5 (hamısı var) arasında gənə ala bilər. Hər bir maddə üçün meyarlara dair daha çox məlumatı Github deposunda tapa bilərsiniz.
Yoxlama siyahısı maddələrinin daha faydalı anbarlara kömək etdiyinə dair dəlil nədir?
Cəmiyyət ümumiyyətlə GitHub ulduzlarını deponun faydalı olması üçün vəkil olaraq istifadə edir. Bu səbəbdən, ML tamlığı yoxlama siyahısında daha yüksək bal toplayan repoların daha çox GitHub ulduzuna sahib olması gözlənilir. Bu fərziyyəni yoxlamaq üçün NeurIPS 2019 sənədlərində rəsmi tətbiqetmə şəklində 884 GitHub reposu təqdim edildi. Bu 884 reponun% 25 hissəsi təsadüfi seçildi və ML tamlığı yoxlama siyahısında əl ilə yoxlanıldı. Bu nümunə NeurIPS 2019 GitHub reposlarını ML kodunun tamlığı yoxlama siyahısında olan gənə sayına görə qruplaşdırdılar və hər qrupdakı GitHub orta ulduzlarını xəritəyə qoydular. Nəticə aşağıdadır:
0 onay qutusu olan NeurIPS 2019 repolarının GitHub'da 1,5 ulduz medianı var. Əksinə, 5 onay qutusu olan repoların 196.5 GitHub ulduzu ortalaması var idi. Repoların yalnız 9% -ində 5, repoların çoxunda (% 70) 3 və daha az gənə var idi. Wilcoxon dərəcə cəmi testi aparıldı və 5 gənə sinifindəki ulduzların sayının 5-dən 4-ə (p.value sərhəd olduğu) xaricində digər siniflərdə olduğundan xeyli (p.value <1e-4) çox olduğu aşkar edildi. 0.015-də). Bu rəqəmin məlumatlarını və kodlarını Github deposunda görə bilərsiniz.
Bu əlaqənin daha geniş vüsət aldığını yoxlamaq üçün README deposundan və əlaqəli koddan bir yoxlama siyahısının hesablanmasını avtomatlaşdırmaq üçün bir skript yaradıldı. Daha sonra 884 NeurIPS 2019 depolarının tamamını və 2019-cu ildə nəşr olunan bütün ML məqalələri üçün daha geniş 8926 kod deposunu yenidən təhlil etdik. Hər iki halda da mütəxəssislər statistik baxımdan əhəmiyyətli dərəcədə gənələrdən monoton artan orta ulduzlarla keyfiyyətcə eyni nəticə əldə etdilər (p.value <1e-4). Nəhayət, möhkəm xətti reqressiyadan istifadə edərək əvvəlcədən hazırlanmış modellər və nəticələrin GitHub ulduzları üzərində ən böyük müsbət təsiri olduğunu gördük.
Bu, analitiklər tərəfindən tədqiqatçıların ML-in tamlığı yoxlama siyahısının tələb etdiyi bütün komponentləri daxil etmələrini təşviq etməsinin daha faydalı anbarlara gətirib çıxaracağına və yoxlama siyahısındakı balın daha keyfiyyətli təqdimata işarə etdiyinə dair faydalı dəlil hesab olunur.
Hal-hazırda mütəxəssislər, təklif olunan 5 yoxlama siyahısı maddəsinin anbarın populyarlığında yeganə və ya hətta ən vacib amil olduğunu iddia etmirlər. Digər amillər populyarlığı təsir edə bilər, məsələn: elmi töhfə ölçüsü, marketinq (məsələn, blog yazıları və Twitter yazıları), sənədləşmə (hərtərəfli README, təlimatlar və API sənədləri), kod keyfiyyəti və əvvəlki iş.
5 onay qutusu olan NeurIPS 2019 depolarına bəzi nümunələr:
Mütəxəssislər, yoxlama siyahısını mümkün qədər ümumi vəziyyətə gətirməyə çalışsalar da, hər növ sənəd üçün, məsələn, nəzəri və ya sənədlər toplusuna tam tətbiq edilə bilməyəcəyini qəbul edirlər. Bununla birlikdə, məqalənin əsas məqsədi bir verilənlər bazasını təmsil etmək olsa da, təlim ssenariləri, qiymətləndirmə ssenariləri və nəticələr daxil olmaqla, baza modellərinin sərbəst buraxılmasından faydalana bilər.
İstifadə etməyə başlayın
Rəyçilərin və istifadəçilərin anbarda olanları başa düşməsini və mütəxəssislərin onu düzgün qiymətləndirməsini asanlaşdırmaq üçün README.md fayllarının yazılması, asılılıqların müəyyənləşdirilməsi və əvvəlcədən hazırlanmış modellərin, məlumatların və nəticələrin yayımlanması üçün ən yaxşı təcrübələr toplusu təqdim olunur. Anbarınızdakı bu 5 elementi aydın şəkildə müəyyənləşdirməyiniz və istifadəçiləriniz üçün daha çox kontekst və aydınlıq təmin etmək üçün sənədlər və lider lövhələri kimi xarici mənbələrə bağlamağınız tövsiyə olunur. Bunlar NeurIPS 2020-yə kod təqdim etmək üçün rəsmi qaydalardır.