Хотя машинное обучение (МО) может показаться сложным и трудоемким для новых исследований в этой области, часто обратное справедливо для создания доказательства концепции (proof of concept или POC). Целью POC является быстрая демонстрация того, что приложение или идея осуществимы с помощью МО, что не нужно делать с нуля. Вместо того, чтобы обучать модель или создавать что-то совершенно новое, можно использовать существующие сторонние или открытые ресурсы (Open Source).
Мы обсудим, как использовать некоторые этапы при разработке модели POC. Мы получим руководство о том, как подходить к разработке, особенно с точки зрения того, когда использовать многочисленные доступные ресурсы в экосистеме МО, которые постоянно обновляются. В этой статье описываются некоторые ключевые инструменты, программные пакеты и предварительно обученные хабы моделей, которые помогают успешно построить МО POC.
Чтобы разработать модель, которая будет работать достаточно хорошо, чтобы считаться успешной POC, следует взглянуть на первоначальную дорожную карту, которая была составлена при переводе целей в метрики. Обычно это начинается с готовых моделей или тех, которые доступны через сторонний интерфейс прикладного программирования (API), если это допустимо в бизнес-контексте. Затем дорожная карта переходит к архитектурам или предварительно обученным моделям, которые можно настроить с помощью тонкой настройки или переобучения для конкретной задачи, прежде чем закончить теми, которые необходимо реализовать с нуля, возможно, с более сложными режимами обучения. К счастью, с ростом экосистемы МО многие инструменты, ресурсы, библиотеки программного обеспечения и даже исследовательские работы с открытым исходным кодом с репозиториями кода могут быть изменены по мере необходимости для каждого этапа.
Для достаточной демонстрации использования МО для конкретного приложения не нужно начинать с нуля или даже включать обучение модели МО, если производительность может быть продемонстрирована другими способами. Поэтому, безусловно, следует использовать существующие инструменты и предварительно обученные модели, если это возможно. Во всех областях МО, таких как компьютерное зрение (CV), прогнозирование временных рядов, регрессия и обработка естественного языка (NLP), для начальной загрузки МО POC доступны различные сторонние и открытые исходные пакеты программного обеспечения и модели или платные сервисные опции. Они различаются по простоте использования, необходимому опыту для работы или интеграции, объему требуемых данных и гибкости или настраиваемости для новых задач. Большинство из них будут совместимы с экспериментальной средой, созданной на предыдущих этапах POC.
Грубо говоря, чем более предварительно упакован инструмент или модель, тем менее он гибок с точки зрения переобучения для новых задач, но это не проблема, когда задача не является строго индивидуальной, скудной или сложной. Например, модели CV, используемые для обнаружения объектов, обычно доступны у облачных провайдеров, таких как Cloud Vision от Google или Rekognition от Amazon Web Services. Они, скорее всего, будут хорошо работать при идентификации обычных объектов, таких как продукты на конвейерной ленте или на складе, но будут испытывать трудности с очень специфическими задачами, такими как обнаружение дефектов, без дополнительных данных и тонкой настройки, когда это позволяют сервисы.
Обычно обученные на миллионах точек данных, эти базовые модели обслуживаются API или интерактивными пользовательскими интерфейсами, что означает, что их проще использовать, и они по-прежнему хорошо выполняют различные задачи. Чаще всего к ним обращаются через облачных провайдеров (для различных доменов машинного обучения, таких как NLP или CV), но они есть и у других компаний. Например, OpenAI имеет большие языковые модели (LLM) для обработки естественного языка, такие как GPT-4, а также Whisper для распознавания речи. С этими инструментами пользователь не несет бремени разработки инфраструктуры для обучения и последующего размещения модели для дальнейшего использования. Кроме того, эти инструменты устраняют риск того, что набор данных POC не будет содержать достаточно данных для задачи.
В случаях, когда эти типы готовых, предварительно упакованных инструментов недостаточно хорошо работают для завершения POC, слишком дороги или запрещены из-за соображений конфиденциальности или сети, доступны другие варианты. Однако они могут потребовать от пользователя большего опыта, разработки инфраструктуры или наличия большего количества данных для обучения. Несколько крупных игроков программного обеспечения в экосистеме МО имеют хабы с открытым исходным кодом для предварительно обученных моделей, которые можно загрузить, с дополнительным кодом, написанным для их повторного использования и переобучения для различных задач.
В частности, Hugging Face является одной из самых популярных платформ с открытым исходным кодом, с моделями во всех доменах, доступными для бесплатного повторного использования, архитектурной документацией о том, как они работают, и фрагментами кода, показывающими, как их использовать и изменять. Еще один популярный вариант – TensorFlow Hub от Google. Даже Meta и Microsoft бросили свои шляпы в ринг, выпустив различные модели с открытым исходным кодом. В зависимости от размера выбранной модели и степени необходимой модификации может потребоваться полное переобучение, обучение с нуля или дополнительная инфраструктура (как и экспертиза в области машинного обучения). Для амбициозных пользователей решения также могут быть найдены в arXiv, открытой библиотеке часто обновляемых научных статей, описывающих новые подходы МО, часто с репозиториями кода, используемыми для демонстрации воспроизводимости исследования.
При запуске части разработки МО в POC-сборке следует пересмотреть первоначальную дорожную карту, созданную на этапах генерации метрик и спецификаций проекта. Ресурсы существуют для каждого этапа в этой дорожной карте – от простых в использовании, но потенциально менее гибких или производительных сторонних моделей до более сложных, но настраиваемых программных пакетов, которые могут быть адаптированы для цели по мере необходимости. К счастью, с развитием экосистемы МО, несколько высококачественных программных инструментов могут быть развернуты и легко подключены для охвата всех аспектов жизненного цикла разработки МО. Это касается даже более новых моделей, таких как LLM.
До сих пор эта серия охватывала четыре важных первых шага к успеху в проекте ML: постановка целей и перевод их в метрики, подготовка набора данных, создание среды разработки для обеспечения надежности и, в этом блоге, разработка модели POC. Продолжайте следить, чтобы узнать об оставшихся этапах разработки МО POC и вывода результатов в производство. Остальные блоги будут содержать важные рекомендации по расширению POC, разработанного на этом этапе, до версии, готовой к производству, и советы о том, чего ожидать и что отслеживать после развертывания, особенно в отношении обновления модели.
© digitrode.ru