Эта статья изначально была опубликована в блоге Encord, который вы можете прочитать здесь.

Эрик Ландау

Последней тенденцией в сообществе машинного обучения является появление так называемого ИИ, ориентированного на данные. Проще говоря, ИИ, ориентированный на данные, — это представление о том, что наиболее важным компонентом системы ИИ являются данные, на которых она была обучена, а не модель или наборы моделей, которые она использует. Он рекомендует переключить внимание с попыток найти улучшения в архитектуре модели и гиперпараметрах на поиск способов улучшения самих данных. Хотя это хорошо в абстрактном плане, это оставляет желать лучшего в отношении действий, необходимых для реального практикующего ИИ. Как именно вы переводите свою рабочую нагрузку с итерации моделей на работу с данными?

В этой статье мы рассмотрим несколько практических шагов, чтобы правильно продумать и внедрить ИИ, ориентированный на данные. В частности, мы исследуем, чем ИИ, ориентированный на данные, отличается от ИИ, ориентированного на модель, в отношении создания и обработки обучающих данных.

Источник

Включает: поиск данных, их сбор, очистку, санитарную обработку (в целях соблюдения нормативных требований).

Модельно-ориентированная перспектива: используйте ImageNet или набор данных с открытым исходным кодом, все будет хорошо!

Точка зрения, ориентированная на данные: используйте каждую кость своего тела, чтобы найти хорошие проприетарные наборы данных

Несмотря на то, что это кажется обыденным, самым важным шагом для ориентированного на данные ИИ является обеспечение надежного источника данных. На самом деле, исходя из нашего опыта, решающим фактором успеха компании, занимающейся искусственным интеллектом, была ее способность получать наилучшие данные (наилучшие в смысле сочетания количества и качества). Иногда это происходило за счет партнерских отношений, иногда за счет творческих методов, таких как изощренный сбор данных, иногда за счет структурных преимуществ (например, Google собирает лучшие данные о поиске), а иногда просто за счет силы воли компании. Судя по примерам, которые мы видели, инвестиции в сбор и выявление лучших данных почти всегда были оправданы, по крайней мере, в контексте применимости в бизнесе. Поиск хороших данных также создает положительные внешние эффекты, потому что более качественные данные привлекают лучших специалистов по данным, инженеров по данным и инженеров по машинному обучению.

Однако даже после того, как вы получили источник, работа еще не близка к завершению. Необработанные массивы неструктурированных данных сами по себе бесполезны для последующих процессов без очистки и структурирования. Во многих случаях необработанные данные также не соответствуют юридическим, конфиденциальным или другим нормативным ограничениям. К сожалению, проблемы здесь часто специфичны для конкретного случая компании. Несмотря на это, часто можно систематически сортировать их, чтобы данные можно было непрерывно извлекать из защищенного источника, не беспокоясь о проблемах с конвейером. У лучших ИИ-компаний будет поток исходных данных, требующий минимального вмешательства на следующем этапе.

Управление

Включает: хранение, запросы, выборку, дополнение, контроль

Модельно-ориентированная перспектива: запросы и нарезка данных эффективными способами не нужны, я буду использовать фиксированный набор данных и меток для всего, поскольку я сосредоточусь на улучшении параметров моей модели.

Точка зрения, ориентированная на данные. Извлечение и обработка данных должны выполняться часто и эффективно, поскольку мы будем повторять множество перестановок и преобразований данных.

Как только вы нашли источник данных, следующим естественным шагом будет поиск способа эффективного управления ими. Управление данными — недооцененный компонент в стеке разработки ИИ, потому что это задача запутанной инженерии, а не идеализированных математических формулировок. Проблема, которую мы обнаружили, заключается в том, что системы данных часто разрабатываются специалистами по данным, а не инженерами данных.

Количество раз, когда мы видели аннотации в текстовых файлах, выгруженных в случайные папки S3, больше, чем мы хотели бы признать. Во многом это связано с философией, согласно которой, если данные находятся в месте, доступном каким-либо способом, с ними все должно быть в порядке. Это отсутствие гибкости замедляет процесс разработки, ориентированной на данные, поскольку не позволяет экспериментировать из-за неэффективного доступа к данным.

Подход, ориентированный на данные, позволяет планировать решения по управлению с самого начала проектов и обеспечивает включение всех ценных утилит. Иногда это может быть поиск способов создать больше данных с помощью дополнений, иногда это может быть поиск способов избавиться от данных с помощью выборки и обрезки. Например, в Большом адронном коллайдере (вероятно, самом сложном устройстве для сбора данных на планете) более 99,99% данных выбрасываются и никогда не анализируются. Это, конечно, делается не случайно, а является частью тщательного управления системой, производящей около 100 петабайт в год.

С практической точки зрения это означает инвестировать в разработку данных заблаговременно. Это может быть в таланте или во внешних решениях, просто убедитесь, что ваши системы данных рассчитаны на будущее, и не оставляйте это в руках доктора математики (как сказал бывший доктор философии по физике).

Аннотирование и рецензирование

Включает: спецификацию схемы, проектирование конвейера, ручную и автоматическую маркировку, оценку маркировки и модели.

Перспектива, ориентированная на модель: ускорьте разработку модели, используя размеченный набор данных с открытым исходным кодом, или, если он недоступен для вашей проблемы, заплатите группе людей за маркировку вещей, и теперь у вас есть метки, которые вы можете использовать вечно.

Искусственный интеллект, ориентированный на данные: аннотирование — это непрерывный процесс, который должен учитывать производительность модели.

Самое большое заблуждение об аннотации состоит в том, что это одноразовый процесс. Представление, ориентированное на модель, заключается в том, что вы создаете статический набор меток для проекта, а затем строите производственную модель, оптимизируя параметры и гиперпараметры посредством перестановки наборов обучения, тестирования и проверки этих меток.

Понятно, откуда берется это восприятие. Это стандартная рабочая процедура для большей части академической работы по ИИ, поскольку ученые опираются на эталонные наборы данных, чтобы сравнить свои результаты с корпусом существующих работ, выполненных с теми же наборами данных. Однако этого опасно недостаточно для практического применения. К сожалению, реальный мир не похож на ImageNet. Это беспорядок динамических и несовершенных данных.

Единственный способ разобраться в беспорядке реального мира — это техническое обслуживание. Непрерывная аннотация — это уровень обслуживания ИИ. Надежные конвейеры аннотаций являются итеративными и содержат потоки, которые включают не только разовые аннотации, но и строгие процессы проверки для обеспечения достоверности и ввода существующих моделей и аналитики. Это облегчает непрерывное обучение в вашей системе, где модели могут адаптироваться к потоку новых меток и данных. Наиболее удобные в сопровождении системы искусственного интеллекта спроектированы таким образом, чтобы они могли поддерживать эти непрерывные процессы и максимально использовать эти активные конвейеры обучения.

Другое соображение в отношении промышленного ИИ заключается в том, что интеллектуальная собственность может развиваться на самом этапе маркировки. В мире ИИ, ориентированного на данные, используемые вами структуры меток сами по себе являются выбором архитектуры, который может дать вашей системе конкурентные преимущества. Использование общих онтологий или ярлыков с открытым исходным кодом сводит на нет это потенциальное преимущество. Такой выбор трудно сделать априори, и часто требуется некоторый эмпирический анализ, чтобы сделать правильный выбор. Таким образом, подобно тому, как конвейеры аннотаций должны быть итеративными, сведение к правильной структуре меток само по себе также должно быть итеративным процессом, управляемым экспериментами.

Обучение

Включает: разделение данных, эффективную загрузку данных, обучение и переобучение, активное обучение.

Искусственный интеллект, ориентированный на модель: я обучил свою модель и вижу результаты в виде весов и смещений! Хм, они выглядят не очень хорошо, позвольте мне написать код, чтобы исправить это.

Ориентирован на данные: я обучил свою модель и вижу результаты в виде весов и смещений! Хм, они выглядят не очень хорошо, позвольте мне проверить мой набор данных, чтобы увидеть, что не так.

Процессы обучения и проверки модели очень похожи как для моделей, так и для данных. Основное отличие заключается в том, на что в первую очередь обращает внимание специалист по данным, когда он собирается повысить производительность. Неудивительно, что ориентированное на модель представление будет проверять модель. Есть ли ошибка в коде модели? Использовал ли я достаточно широкий набор гиперпараметров? Должен ли я включить пакетную нормализацию? Ориентированное на данные представление будет (что также неудивительно) сфокусировано на данных. Я тренировался на правильных данных? Это не удается для определенных подмножеств данных? Есть ли ошибки в моих аннотациях?

Полезный вывод здесь заключается в том, что при разработке идей о возможных улучшениях производительности после обучения начинайте с данных. Субоптимальность, конечно, может быть вызвана широким набором причин, но тезис ИИ, ориентированного на данные, заключается в том, что для создания устойчивых высокопроизводительных систем ИИ требуется гораздо больше внимания к правильному уровню данных. Виды отказов в этой области могут быть довольно тонкими, поэтому часто требуется тщательное обдумывание, что может привести к более глубокому пониманию и пониманию проблемного пространства. Поскольку это тонко, отладка ваших данных после обучения также требует правильного выравнивания всех вышеперечисленных шагов конвейера SMART. И, как и большинство других шагов, обучение — это не одноразовый процесс в конвейере, а динамичный и итеративный процесс, который питает другие шаги. Обучение — это не конец линейного конвейера, а только его середина.

Заключение

Подводя итог, для более эффективного ИИ, ориентированного на данные:

  • Найдите умные способы получения данных
  • Инвестируйте в хорошие ресурсы инженерии данных для управления наборами данных
  • Настройка конвейеров непрерывного создания и мониторинга аннотаций
  • Сначала подумайте об отладке ваших данных, прежде чем ваши модели

Хотя это кажется очевидным, мы видели множество компаний, которые не учитывают многие из вышеперечисленных моментов. Они не понимают, что им не обязательно иметь более умные или сложные модели, чем у их конкурентов, им просто нужны более качественные данные, чем у них. Хотя, вероятно, это не так весело, как чтение статьи о последней модели, которая улучшилась по сравнению с эталонным тестом с открытым исходным кодом, подход, ориентированный на данные, — это наш лучший способ сделать ИИ практической реальностью для повседневного мира.

Команды машинного обучения и обработки данных любого размера используют приложения Encord для совместной работы, функции автоматизации и API-интерфейсы для создания моделей, аннотирования, управления и оценки своих наборов данных. Загляните к нам здесь.