Этот язык переведён машиной и не проверен человеком.

Искусственный интеллект · Статья

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

Опубликовано:

Коротко

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

Эта версия — машинный перевод оригинала (English). Читать оригинал

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

Обучение: как модель учится на данных

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

Для нейронных сетей в частности обучение зависит от двух связанных методов, как объясняется в GeeksforGeeks: прямой проход, где сеть обрабатывает входные данные, чтобы создать предсказание, и функция потерь, которая измеряет, насколько далеко это предсказание от истинной метки. Обратное распространение затем рассчитывает, слой за слоем, используя цепное правило, насколько каждый внутренний параметр способствовал этой ошибке. Градиентный спуск использует вычисленные градиенты для смещения каждого параметра в направлении, которое уменьшает потери. Этот цикл прямого прохода/обратного прохода/обновления повторяется через много эпох до тех пор, пока модель не сойдётся к минимуму функции потерь, согласно GeeksforGeeks.

Оптимизация: настройка и валидация модели

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

Как только кандидатная модель существует, она оценивается на отложенном тестовом наборе — данные, которые модель не видела во время обучения — для получения метрик качества. IBM описывает этот шаг как оценку производительности, используя метрики, такие как точность и справедливость на невидимых данных. Затем модель проверяется по сравнению с исходным уровнем: документация Google Cloud утверждает, что это подтверждает, что прогностическая производительность модели лучше определённого порога, прежде чем ей разрешено двигаться к развёртыванию.

Развёртывание: переход модели в производство

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

Как Google Cloud, так и Snowflake описывают сравнимые наборы паттернов развёртывания, обобщённые ниже.

Распространённые паттерны развёртывания МО
ПаттернКак это работаетТипичное использование
Онлайн / реальное времяМикросервис предоставляет модель через REST API, который возвращает предсказания синхронно с низкой задержкойОбнаружение мошенничества, рекомендации
ПакетМодель оценивает большие наборы записей по расписанию или активируется событием конвейераОтчёты, периодические задачи оценки
Бессерверное / асинхронноеМодель запускается на событии и результаты получаются позже, а не сразуПиковые или долгоживущие рабочие нагрузки
Граничное / встроенноеМодель работает непосредственно на локальном или мобильном устройстве, а не на центральном сервереАвтономная работа, требования к локальности данных

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

Мониторинг, смещение и переобучение

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

Документация Google Cloud представляет это как спектр зрелости. На наименее автоматизированном уровне каждый шаг — от подготовки данных к развёртыванию — является ручным, типичным для проектов на ранней стадии с нечастыми выпусками. Более зрелые установки добавляют автоматизированные конвейеры, которые проверяют данные и модели и обнаруживают смещение, а самые автоматизированные установки интегрируют непрерывную интеграцию и доставку так, чтобы экспериментирование, тестирование, развёртывание и мониторинг работали как связанные, в основном автоматизированные этапы.

Инструментарий жизненного цикла

Обзор IBM этой практики, известной как MLOps, перечисляет категории инструментов, на которые команды обычно полагаются на каждом этапе: фреймворки машинного обучения, такие как TensorFlow и PyTorch, для создания и обучения моделей, Git для управления версиями, платформы CI/CD, такие как Jenkins или GitLab CI/CD, для автоматизации шагов конвейера, и выделенные платформы MLOps, такие как Kubeflow или MLflow, для управления обучением, развёртыванием и мониторингом на облачной инфраструктуре, такой как AWS, Azure или IBM Cloud.

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

— IBM

Вопросы

В чём разница между обучением и оптимизацией модели машинного обучения?
Обучение — это процесс подгонки параметров модели под данные, как правило, через прямые проходы, вычисление потерь и обновления на основе градиентов. Оптимизация относится к настройке гиперпараметров — параметров, выбираемых перед обучением, таких как скорость обучения или размер пакета — для улучшения производительности обученной модели, согласно документации Google Cloud.
Что именно настраивает настройка гиперпараметров?
Она настраивает параметры, которые не изучаются из данных во время самого обучения, такие как скорость обучения, размер пакета или количество эпох обучения, с целью найти комбинацию, которая производит лучше всего работающую модель, согласно документации разработчика Google.
Как модель развёртывается в производство?
Проверенная модель упаковывается вместе с её зависимостями и логикой вывода и выпускается в производственную среду как API реального времени, задание пакетной оценки, триггер бессерверной архитектуры или встроенная модель на граничном устройстве, согласно документации Snowflake.
Почему развёрнутым моделям нужен мониторинг после запуска?
Паттерны данных в производстве могут изменяться со временем, ухудшая точность модели — явление, которое IBM называет смещением. Непрерывный мониторинг обнаруживает это ухудшение и может запустить переобучение с обновленными данными для восстановления производительности.
Какие инструменты обычно используются во всём жизненном цикле МО?
IBM перечисляет фреймворки, такие как TensorFlow и PyTorch, для обучения, Git для управления версиями, Jenkins или GitLab CI/CD для автоматизации конвейера, и Kubeflow или MLflow для управления обучением и развёртыванием на облачных платформах.

Источники

  1. Google Cloud — MLOps: Continuous delivery and automation pipelines in machine learning
  2. IBM — What is MLOps?
  3. Snowflake — What Is Model Deployment in Machine Learning?
  4. Google Developers — ML development phases
  5. GeeksforGeeks — How Does Gradient Descent and Backpropagation Work Together?

Этот материал подготовлен с помощью искусственного интеллекта и перед публикацией прошёл автоматическую проверку источников. Если вы заметили ошибку, запросите исправление. Запросить исправление или ответ · Как мы работаем

Похожие материалы