Как развернуть модель машинного обучения

Итак, вы очистили необработанные данные, создали модель машинного обучения и обучили свои данные… Что теперь?

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

Для начала мы должны изучить следующие вопросы и составить соответствующий план:

  • Как ваши данные будут храниться и извлекаться?
  • Какие фреймворки и инструменты подходят для вашего проекта?
  • Как мы получим обратную связь от производственной модели и продолжим итерацию?

Хранение и поиск данных. Вам нужно будет понять, насколько велики ваши данные, как они будут храниться и как данные будут извлекаться для определенных целей, таких как обучение и прогнозирование. Отсюда вам нужно решить, будут ли данные храниться локально, в облаке (AWS, GPC, Azure) или их гибрид. Хорошей практикой является хранение ваших данных там, где происходит обучение вашей модели и где будут предоставляться результаты. Имейте в виду, что знание и планирование размера ваших данных очень важно, так как вам нужно будет учитывать вычислительную мощность для обработки ваших наборов данных. Если вы работаете локально, вам нужно будет добавить больше вычислительных ресурсов; Если вы используете облако, автомасштабирование - отличный вариант. По мере продолжения этапов оптимизации модели вы захотите отслеживать эти ресурсы, чтобы гарантировать оптимальную работу системы; При выборе любого типа хранилища обратная сторона может оказаться дорогостоящей, если вы не продумаете свои потребности в данных и не спланируете их заранее.

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

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

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

Это всего лишь один суженный аспект производства вашей модели. Другие возможные вопросы, которые следует рассмотреть:

  • Как мы подключаемся к живым системам, которые требуют умозаключений (предсказаний)?
  • Требуется ли контроль / управление доступом?
  • Сколько выводов в секунду мы должны поддерживать?
  • Приемлемо ли время простоя, и если да, то сколько?
  • Что нам делать, если что-то пойдет не так - вернуться к отказоустойчивой модели, вернуть «без вывода», просмотреть человека, просто зарегистрировать ошибку и ничего не делать?

Существует ли более упрощенный маршрут?

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

У Google, Microsoft и AWS есть доступное дополнение MLOps к своим платформам. Например, проект Google Kubeflow предоставляет набор инструментов с открытым исходным кодом для MLOps и собирает их на Kubernetes. Если предпочтительнее собственное решение, легко доступны такие варианты, как Sacred, DVC или MLFlow, но вы должны иметь постоянный постоянный уход и обслуживание на дому.

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

  • Управление версиями
  • Конвейеры CI / CD
  • Автоматизация
  • A / B-тестирование и эксперименты
  • Обнаружение аномалий
  • Мониторинг и производительность

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

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

Уникальный подход Wallaroo к производству ИИ дает любой организации желаемое быстрое время вывода на рынок, контролируемую прозрачность, масштабируемость - и, в конечном итоге, измеримую ценность для бизнеса - благодаря инициативам, основанным на ИИ, и позволяет специалистам по данным сосредоточиться на создании ценности, а не на низком уровне ». сантехника ».