Контролен списък за пълнота на ML

Съдържание:

Контролен списък за пълнота на ML
Контролен списък за пълнота на ML

Видео: Контролен списък за пълнота на ML

Видео: Контролен списък за пълнота на ML
Видео: ГАЙД ПО БЕСКОНЕЧНОЙ ТЬМЕ Mobile Legends: Adventure 2024, Ноември
Anonim

С цел повишаване на възпроизводимостта и овластяване на другите да надграждат по-лесно публикуваната работа, представяме контролен списък за пълнота на ML кода. Контролният списък за пълнота на ML Code оценява хранилището на кодове въз основа на скриптове и артефакти, предоставени в него.

Контролен списък за пълнота на ML кода
Контролен списък за пълнота на ML кода

Въведение

Миналата година Джоел Пино пусна контролен списък за възпроизводимост, за да улесни възпроизводимите изследвания, представени на големи OA конференции (NeurIPS, ICML, …). Повечето елементи в контролния списък се фокусират върху компонентите на хартията. Един елемент от този контролен списък е „предоставете връзка към изходния код“, но освен това бяха направени малко препоръки.

Най-добрите практики са обобщени в контролния списък за пълнота на ML Code, който сега е част от официалния процес на подаване на код NeurIPS 2020 и ще бъде на разположение за използване от рецензенти, както сметнат за добре.

Контролен списък за пълнота на ML

Контролният списък за пълнота на M кода проверява хранилището на кодове за:

  1. Зависимости - Има ли хранилището информация за зависимости или инструкции за това как да настроите средата?
  2. Сценарии за обучение - Съхранява ли хранилището начин за обучение / напасване на моделите, описани в документа?
  3. Сценарии за оценка - Съхранява ли хранилището скрипт за изчисляване на ефективността на обучените модели или провеждане на експерименти върху модели?
  4. Преобработени модели - Предоставя ли хранилището безплатен достъп до предварително обучени тегла на модели?
  5. Резултати - хранилището съдържа ли таблица / графика на основните резултати и скрипт за възпроизвеждане на тези резултати?

Всяко хранилище може да получи от 0 (няма нищо) до 5 (има всички) отметки. Повече информация за критериите за всеки елемент може да се намери в хранилището на Github.

Какво е доказателството, че елементите от контролния списък допринасят за по-полезни хранилища?

Общността обикновено използва GitHub звезди като прокси за полезността на хранилището. Следователно репо сделките с по-висок резултат от контролния списък за пълнота на ML се очаква да имат и повече звезди от GitHub. За да се тества тази хипотеза, има 884 репо репо GitHub, представени като официални внедрения в документите NeurIPS 2019. 25% от подгрупата от тези 884 репо са били избрани на случаен принцип и ръчно проверени в списъка за пълнота на ML. Те групираха тази примерна репо сделка на NeurIPS 2019 GitHub по броя на отметките, които имат в контролния списък за пълнота на ML кода, и картографираха средните звезди на GitHub във всяка група. Резултатът е по-долу:

Изображение
Изображение

Репозиториите на NeurIPS 2019 с 0 квадратчета имаха медиана от 1,5 звезди на GitHub. За разлика от това, репозиториите с 5 квадратчета са имали медиана от 196,5 GitHub звезди. Само 9% от повторните сделки са имали 5 отметки, а повечето от повторните сделки (70%) са имали 3 отметки или по-малко. Извършен е тестът за ранг на Wilcoxon и е установено, че броят на звездите в класа с 5 отметки е значително (p.value <1e-4) по-висок от всички останали класове с изключение на 5 срещу 4 (където p.value е границата). при 0,015). Можете да видите данните и кода за тази фигура в хранилището на Github.

За да се провери дали тази връзка се разпростира по-широко, беше създаден скрипт за автоматизиране на изчисляването на контролен списък от хранилището README и свързания с него код. След това преразгледахме целия набор от 884 хранилища NeurIPS 2019, както и по-широкия набор от 8926 хранилища на кодове за всички статии за ML, публикувани през 2019 г. И в двата случая специалистите са получили качествено идентичен резултат със средни звезди, монотонно нарастващи от кърлежи по статистически значим начин (p.value <1e-4). И накрая, използвайки силна линейна регресия, открихме, че предварително обучените модели и резултати имат най-голямо положително въздействие върху звездите на GitHub.

Това се счита за полезно доказателство от анализаторите, че насърчаването на изследователите да включат всички компоненти, изисквани от контролния списък за пълнота на ML, ще доведе до по-полезни хранилища и че резултатът от контролния списък показва по-добро качество на представените материали.

Понастоящем експертите не твърдят, че предложените 5 елемента от контролния списък са единственият или дори най-значимият фактор за популярността на хранилището. Други фактори могат да повлияят на популярността, като: размер на научния принос, маркетинг (напр. Публикации в блогове и публикации в Twitter), документация (изчерпателни README, уроци и API документация), качество на кода и предишна работа.

Някои примери за хранилища на NeurIPS 2019 с 5 квадратчета за отметка:

Експертите признават, че въпреки че са се опитали да направят контролния списък възможно най-общ, той може да не е напълно приложим за всички видове документи, например теоретични или комплекти документи. Въпреки това, дори ако основната цел на статията е да представлява набор от данни, тя все пак може да се възползва от пускането на базовите модели, включително сценарии за обучение, сценарии за оценка и резултати.

Започнете да използвате

За да е по-лесно за рецензенти и потребители да разберат какво има в хранилището и за експерти да го оценят правилно, се предоставя колекция от най-добри практики за писане на файлове README.md, дефиниране на зависимости и пускане на предварително обучени модели, набори от данни и резултати. Препоръчително е да дефинирате ясно тези 5 елемента във вашето хранилище и да ги свържете с всякакви външни ресурси като документи и класации, за да осигурите повече контекст и яснота за вашите потребители. Това са официалните насоки за подаване на код на NeurIPS 2020.

Препоръчано: