Поделиться через


MLOps и GenAIOps для рабочих нагрузок ИИ в Azure

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

Задачи рабочей нагрузки можно разделить на три основные области: разработка приложений, обработка данных и управление моделями ИИ. Каждая категория должна применять проверенные в отрасли операционные методологии, такие как DevOps, DataOps, MLOps и GenAIOps.

Действия DevOps охватывают все управление жизненным циклом разработки приложений с помощью автоматизированных конвейеров непрерывной интеграции и непрерывного развертывания (CI/CD) и мониторинга. Однако для рабочих нагрузок ИИ конвейер данных является одним из основных компонентов. DataOps, специализация DevOps, ориентирована на управление жизненным циклом данных путем упрощения таких процессов, как извлечение данных, преобразование и загрузка (ETL/ELT). Специалисты DataOps обычно измеряют производительность потока данных и эффективность очистки данных и отслеживают конвейер аномалий.

Рабочие нагрузки ИИ по сути недетерминированные. Многие модели искусственного интеллекта подвержены созданию различных ответов для одного и того же расследования во время вывода. Эти рабочие нагрузки нуждаются в процессах, которые могут управлять и адаптироваться к непредсказуемости выходных данных ИИ. DataOps расширяется в MLOps, которая выполняет рабочие процессы машинного обучения для обучения и тестирования моделей. GenAIOps, специализированное подмножество MLOps, предназначено для создания решений искусственного интеллекта. Она включает такие задачи, как обнаружение моделей и уточнение предварительно обученных моделей с обогащенными данными.

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

Независимо от того, общая цель — это доставка возможностей с эффективными операциями на протяжении всего жизненного цикла разработки. Ожидаемые результаты:

  • Повторяемые процессы с согласованными результатами.
  • Устойчивая точность моделей с течением времени.
  • Эффективное управление, которое сводит к минимуму риски.
  • Процессы управления изменениями для адаптации к смещениям модели.

Автоматизация и мониторинг — это ключевые операционные стратегии для достижения этих целей.

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

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

Необходимо реализовать установленные процессы с правильным набором инструментов. Специализированные средства доступны для управления рабочими процессами искусственного интеллекта и машинного обучения в разных средах.

Эта статья посвящена стратегии проектирования операций и предоставляет рекомендации по инструментам.

Рекомендации

Ниже приведена сводка рекомендаций, приведенных в этой статье.

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

DataOps
MLOps
GenAIOps
Контроль
Автоматизируйте все. Автоматизация обеспечивает повторяемость и эффективность жизненного цикла рабочей нагрузки. Хотя процессы DevOps являются ключевым участником этого процесса, необходимо выполнить дополнительные действия, необходимые для создания, тестирования, проверки и эффективного развертывания моделей.

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

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

Обслуживание моделей

Жизненный цикл операций рабочей нагрузки

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

Схема действий MLOps и GenAIOps.

Этапы MLOps и GenAIOps похожи. Основное различие заключается в том, что, в случае GenAIOps, фокус перемещается с обучения на выбор правильной модели, разработки запросов и включения знаний, относящихся к домену, путем точной настройки или реализации повторного создания дополненного поколения (RAG).

Даже этапы развертывания и мониторинга довольно похожи.

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

DataOps

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

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

Кроме того, необходимо обеспечить безопасность данных, учитывая, что данные из рабочей среды. Убедитесь, что более низкие среды, такие как разработка и тестирование, являются безопасными, как рабочие, чтобы предотвратить проблемы с безопасностью.

Примечание.

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

Сведения о задачах обработки данных см. в следующих статьях:

Инструменты

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

Конвейер Фабрика данных Azure может быть первоначальным выбором. Он может эффективно подключать и обрабатывать множество источников данных. Вы также можете рассмотреть Azure Synapse Analytics, которая объединяет большие данные и хранилище данных и поддерживает озера данных, Apache Spark и Azure Synapse SQL. Она также интегрируется с фабрикой данных для ETL.

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

Технологии с открытым исходным кодом, такие как Pandas (для подготовки данных) и Ломки являются популярными вариантами.

MLOps

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

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

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

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

Инструменты

Мы рекомендуем использовать средства, которые могут отслеживать эксперименты машинного обучения, записывая такие сведения, как версии кода, среды, параметры, запуски и результаты. MLflow является одной из таких платформ с открытым исходным кодом. Рассмотрите возможность использования рабочих областей Машинное обучение Azure, совместимых с MLflow, и обеспечивает упрощенный рабочий процесс, позволяющий специалистам по обработке и анализу данных управлять производительностью и воспроизводимостью в своих проектах. Чтобы управлять разработкой кода с помощью отслеживания системы управления версиями, интегрируйте конвейер машинного обучения с системой управления версиями, например GitHub, или используйте общие папки.

Вычислительные ресурсы размещения также могут повлиять на выбор оркестратора рабочих процессов. Если приложение размещено в Служба Azure Kubernetes (AKS), рассмотрите возможность использования Kubeflow.

Если вы рассматриваете Машинное обучение Azure, рекомендуем начать с точки зрения azure Well-Architected Framework на Машинное обучение, чтобы убедиться, что продукт может помочь вам с проблемами качества хорошо спроектированной платформы рабочей нагрузки.

Частью преимущества процесса является оптимизация личного времени. Специалисты по обработке и анализу данных обычно требуют конкретных средств и пакетов SDK для эффективного проведения анализа данных (EDA) и экспериментирования с рабочих станций. Оцените, подходят ли предварительно созданные параметры в Машинное обучение Azure. В противном случае сохраните конфигурацию рабочей станции или сохраните утвержденные образы виртуальных машин для этой работы. Одним из примеров изображения, которое можно использовать в качестве отправной точки, является Виртуальная машина для обработки и анализа данных (DSVM).

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

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

Машинное обучение Azure предоставляет решения на основе кода с помощью пакета SDK и параметров с низким кодом, таких как автоматизированное машинное обучение и визуальный конструктор. Пакет SDK для Python предлагает несколько способов обучения моделей, каждый из которых содержит различные функции. Машинное обучение также поддерживает расширенную оптимизацию и распределенные вычислительные технологии, такие как ORTModule ONNX Runtime Training, DeepSpeed и LoRA, чтобы ускорить процесс обучения.

GenAIOps

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

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

Инструменты

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

Машинное обучение Azure поток запроса может помочь в разработке кода оркестрации, включения прототипа, экспериментирования, итерации и разработки запросов. Эти потоки можно развернуть в Машинное обучение Azure управляемых конечных точек. Оцените, можно ли запускать и развертывать потоки с помощью существующей технологии конвейера CI/CD.

Развертывание

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

Начните с платформы как службы (PaaS) и бессерверных решений, таких как Azure OpenAI Service, чтобы упростить внедрение и управление. Рекомендуется использовать Машинное обучение Azure бессерверный API для агрегирования доступа к конечной точке. Управляемые вычислительные кластеры — это жизнеспособный вариант для расширенных потребностей. Самостоятельное размещение в AKS — это еще один вариант. Убедитесь, что вы правильно масштабируете вычислительные ресурсы и сохраняете правильную изоляцию от других рабочих нагрузок. Вы также можете рассмотреть такие варианты, как полностью размещение модели как инфраструктура как услуга (IaaS). IaaS обеспечивает гибкость, но может добавить рабочее бремя. Эти параметры описаны на платформе приложений.

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

Модель следует интегрировать в существующую рабочую среду, следуя прогрессивным процессам воздействия и используя параллельные развертывания. Канарной модели — это распространенный способ развертывания новых моделей. С помощью этого метода база пользователей постепенно увеличивается. Развертывание blue-green — это другой метод.

Инструменты

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

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

Если вы используете другие платформы размещения, такие как приложения контейнеров Azure или служба приложение Azure, вы несете ответственность за операции, включая подготовку и масштабирование. Используйте конвейеры Azure DevOps, GitHub или выбор технологии CI/CD в этих случаях.

Наблюдение

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

Настоятельно рекомендуется использовать процесс мониторинга внутренних циклов DataOps, который измеряет близость к панели качества принятия и проверяет наличие аномалий.

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

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

Инструменты

Инвестируйте в средства, которые упрощают сбор метрик из конечных точек вывода, таких как сборщик данных Машинное обучение Azure.

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

Дополнительные сведения см. в следующих статьях:

Автоматизация

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

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

    Жизненный цикл модели включает два основных типа обучения:

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

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

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

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

  • Модели можно обучить двумя различными подходами.

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

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

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

Конвейеры развертывания

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

Хотя mlOps и GenAIOps могут потребовать различных действий и основных технологий ИИ, базовые понятия остаются похожими на devOps. Рекомендуется применять рекомендации из существующих процессов DevOps. Интеграция действий ИИ в существующие конвейеры рабочей нагрузки.

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

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

  • Средства инфраструктуры как кода (IaC)
  • Конвейеры CI/CD
  • Стек наблюдаемости для отслеживания и выявления проблем
Инструменты

Вы можете расширить рабочие процессы Azure Pipelines и GitHub Actions, часто используемые для CI/CD, к моделям машинного обучения. Они помогают развернуть инфраструктуру машинного обучения, пользовательские компоненты рабочей нагрузки, код оркестрации и модели. Объединение конвейеров Машинное обучение Azure с конвейерами Azure DevOps или GitHub. Дополнительные сведения см. в статье "Использование Azure Pipelines" с Машинное обучение Azure.

Два основных фактора влияют на выбор правильного сочетания инструментов: вариант использования и возможности. Например, Машинное обучение Azure конвейеры отлично подходят для оркестрации, выполняемой специалистами по обработке и анализу данных. Он имеет широкий набор функций, который поддерживает повторное использование, кэширование и многое другое. Сведения о выборе инструментов см. в статье "Какие технологии конвейера Azure следует использовать?".

Обслуживание модели

Ландшафт ИИ/ML конкурентоспособен с текущими инновациями. Новые модели часто возникают, новые варианты использования обнаруживаются, а новые источники данных становятся доступными. В результате разложение модели является распространенным вызовом.

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

  • Обслуживание каталога моделей. Автоматизируйте процесс обнаружения новых моделей и обновления каталога.

  • Адаптация к новым вариантам использования. Так как новые варианты использования добавляются в требования рабочей нагрузки, предвидят запросы и корректируют логику обработки данных соответствующим образом.

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

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

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

Непрерывная эволюция

Регулярно просматривайте и совершенствуйте операции и поощряйте инновации.

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

Уровни зрелости GenAIOps переходят от базовых моделей к структурированным развертываниям, постепенно используя автоматизированные методы оптимизации. Дополнительные сведения см. в разделе "Продвинуть уровень зрелости" для GenAIOps.

Следующие шаги