Операционные процессы генеративного ИИ для организаций с инвестициями в MLOps.

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

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

Технические шаблоны создания искусственного интеллекта

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

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

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

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

  • Fine-tuning
  • Побуждение
  • Генерация, дополненная извлечением (RAG)

Точное настройка языковых моделей

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

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

Побуждение

Формулирование запросов — это искусство и наука создания эффективных входных данных для языковых моделей. Эти входные данные обычно делятся на две категории. Системные запросы определяют личность, тон или поведение модели. Запросы пользователей представляют взаимодействие пользователя с языковой моделью.

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

На следующей схеме показана архитектура для инженерии подсказок.

Схема, иллюстрирующая архитектуру инженерии подсказок.

Эта категория технических шаблонов может решать множество вариантов использования:

  • Классификация
  • Перевод текста
  • Резюмирование
  • ТРЯПКА

ТРЯПКА

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

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

На следующей схеме показана архитектура RAG, содержащая данные из документов.

Схема, показывющая архитектуру RAG.

Расширение MLOps для создания технических шаблонов ИИ

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

DataOps

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

Обучение и настройка

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

Проектирование RAG и процесс запросов

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

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

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

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

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

Экспериментирование

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

Обучение и настройка

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

Проектирование RAG и процесс запросов

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

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

  • Стратегии укрупнения
  • Методы обогащения блоков
  • Выбор модели внедрения
  • Настройка индекса поиска
  • Типы поиска для выполнения, такие как вектор, полнотекстовый и гибридный

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

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

Оценка и экспериментирование

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

Fine-tuning

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

RAG и запуск запроса

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

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

  • Перевод: BLEU
  • Сводка: ROUGE, BLEU, BERTScore, МЕТЕОР
  • Классификация: точность, отзыв, точность, перекрестная энтропия
  • RAG: заземленность, релевантность, согласованность, плавность

Примечание.

Дополнительные сведения о том, как оценивать языковые модели и решения RAG, см. в сквозной оценке крупной языковой модели.

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

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

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

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

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

Fine-tuning

Используйте существующие инвестиции MLOps с некоторыми возможными корректировками для развертывания моделей создания ИИ и точной настройки базовых моделей. Например, чтобы точно настроить большую языковую модель в Azure OpenAI в модели Foundry, убедитесь, что наборы данных обучения и проверки находятся в формате JSONL и передают данные через REST API. Также создайте задачу по точной настройке. Чтобы развернуть обученную малую языковую модель, используйте ваши текущие инвестиции в MLOps.

RAG и запуск запроса

Для подсказок в RAG рассмотрим логику оркестрации, изменения в хранилищах данных, таких как индексы и схемы, и корректировки логики потока данных. Логика оркестрации обычно инкапсулируется в платформу, например пакет SDK Microsoft Agent Framework. Оркестратор можно развернуть в разных вычислительных ресурсах, включая ресурсы, в которых в настоящее время развертываются пользовательские модели. Кроме того, оркестраторы агентов могут быть решениями с минимальным количеством кода, например, такими как Служба агента Foundry. Дополнительные сведения о развертывании агента чата см. в справочной архитектуре базового чата Foundry.

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

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

Развертывания элементов, характерных для создания искусственного интеллекта, например оркестратора, должны соответствовать соответствующим операционным процедурам:

  • Строгое тестирование, включая модульные тесты
  • Интеграционные тесты
  • Тесты A/B
  • Тесты от начала до конца
  • Стратегии развертывания, такие как канарейное развертывание или синее-зеленое развертывание

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

Инференция и мониторинг

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

Операционный мониторинг

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

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

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

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

В рамках оперативного мониторинга важно отслеживать метрики, такие как задержка, использование маркеров и 429 ошибок, чтобы гарантировать, что пользователи не сталкиваются с значительными проблемами.

Учитесь у производственного процесса

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

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

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

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

Еще одной ключевой областью мониторинга для создания решений является безопасность содержимого. Целью является умеренное реагирование и обнаружение вредного или нежелательного содержимого. Microsoft Azure AI Content Safety Studio — это средство, которое можно использовать для умеренного содержимого.

Управление ресурсами

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

Оснастка

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

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

Модели зрелости MLOps и GenAIOps

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

Используйте оценку модели зрелости GenAIOps. Эта оценка помогает вам понять, как продвигаются ваши инвестиции в GenAIOps.

Итоги

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

Соавторы

Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.

Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия