🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
  • Home
  • Blog
  • Внедрение искусственного интеллекта в масштабе с помощью Software 2.0, MLOps и Milvus

Внедрение искусственного интеллекта в масштабе с помощью Software 2.0, MLOps и Milvus

  • Engineering
March 31, 2021
milvus

Создание приложений машинного обучения (ML) - сложный и итеративный процесс. По мере того как все больше компаний осознают неиспользованный потенциал неструктурированных данных, спрос на обработку и аналитику данных на основе ИИ будет расти. Без эффективной работы с машинным обучением, или MLOps, большинство инвестиций в приложения ML будут увядать на корню. Исследования показали, что лишь 5 % внедрений ИИ, которые компании планируют внедрить, на самом деле доходят до внедрения. У многих организаций возникает "модельный долг", когда изменения рыночных условий и неспособность адаптироваться к ним приводят к нереализованным инвестициям в модели, которые лежат без обновления (или, что еще хуже, вообще не развертываются).

В этой статье рассказывается о MLOps, системном подходе к управлению жизненным циклом моделей ИИ, и о том, как платформа управления векторными данными с открытым исходным кодом Milvus может быть использована для реализации ИИ в масштабе.


Что такое MLOps?

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

01.jpg 01.jpg

Gartner определяет ModelOps как управление и управление жизненным циклом широкого спектра операционализированных моделей искусственного интеллекта и принятия решений. Основную функциональность MLOps можно разделить следующим образом:

  • Непрерывная интеграция/непрерывная доставка (CI/CD): CI/CD - это набор передовых практик, заимствованных из операционной деятельности разработчиков (DevOps). CI/CD - это метод более частой и надежной доставки изменений в коде. Непрерывная интеграция способствует внедрению изменений в код небольшими партиями, отслеживая их с помощью строгого контроля версий. Непрерывная доставка автоматизирует доставку приложений в различные среды (например, среды тестирования и разработки).

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

  • Тестирование по принципу "чемпион-челленджер": Подобно методологии A/B-тестирования, используемой маркетологами, champion-challenger testing предполагает экспериментирование с различными решениями, чтобы помочь процессу принятия решений, который предшествует принятию решения о выборе одного подхода. Эта техника предполагает мониторинг и измерение эффективности в режиме реального времени, чтобы определить, какое отклонение работает лучше всего.

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

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

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


Почему MLOps необходима?

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

02.jpg 02.jpg


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

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

Поддержка перехода к программному обеспечению 2.0

Программное обеспечение 2.0 - это идея о том, что разработка программного обеспечения претерпит смену парадигмы, поскольку искусственный интеллект будет играть все более важную роль в написании моделей ИИ, на основе которых работают программные приложения. В рамках ПО 1.0 разработка заключается в написании программистами явных инструкций с использованием конкретного языка программирования (например, Python, C++). Программное обеспечение 2.0 гораздо более абстрактно. Хотя люди предоставляют входные данные и задают параметры, нейронные сети трудно понять из-за их огромной сложности - типичные сети содержат миллионы весов, влияющих на результат (а иногда миллиарды или триллионы).

DevOps был построен на основе программного обеспечения 1.0, которое полагалось на конкретные инструкции, продиктованные программистами с помощью языков, но никогда не рассматривало жизненный цикл модели машинного обучения, которая обеспечивает работу множества различных приложений. MLOps учитывает необходимость того, чтобы процесс управления разработкой программного обеспечения менялся вместе с разрабатываемым ПО. Поскольку ПО 2.0 становится новым стандартом для решения задач с помощью компьютеров, наличие правильных инструментов и процессов для управления жизненным циклом моделей будет способствовать или препятствовать инвестициям в новые технологии. Milvus - это поисковая система векторного сходства с открытым исходным кодом, созданная для поддержки перехода к ПО 2.0 и управления жизненными циклами моделей с помощью MLOps.

03.jpg 03.jpg


Операционализация ИИ в масштабе с помощью Milvus

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

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

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

  • Предоставление обширного набора API, поддерживающих такие популярные фреймворки, как Python, Java и Go, что упрощает интеграцию общего набора ML-моделей.

  • Совместимость с Google Colaboratory, средой Jupyter notebook, работающей в браузере, упрощает процесс компиляции Milvus из исходного кода и выполнения основных операций на Python.

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

Независимо от того, какие приложения машинного обучения вы создаете сегодня или планируете создать в будущем, Milvus - это гибкая платформа управления данными, созданная с учетом требований Software 2.0 и MLOps. Чтобы узнать больше о Milvus или внести свой вклад, найдите проект на Github. Чтобы принять участие в жизни сообщества или задать вопросы, присоединяйтесь к нашему каналу в Slack. Хотите больше контента? Ознакомьтесь со следующими ресурсами:

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Продолжить чтение