По мере того как корпоративные предприятия внедряют машинное обучение (ML) в своих организациях, ручные рабочие процессы для создания, обучения и развертывания моделей ML, как правило, становятся узким местом для инноваций. Чтобы преодолеть это, предприятия должны сформировать четкую операционную модель, определяющую, как несколько человек, таких как специалисты по данным, инженеры данных, инженеры по машинному обучению, ИТ и заинтересованные стороны бизнеса, должны сотрудничать и взаимодействовать; как разделить заботы, обязанности и навыки; и как оптимально использовать сервисы AWS. Такое сочетание машинного обучения и операций (MLOPs) помогает компаниям оптимизировать сквозной жизненный цикл машинного обучения и повысить производительность специалистов по данным, сохраняя при этом высокую точность моделей и повышая безопасность и соответствие требованиям.
В этом посте вы узнаете о ключевых этапах создания основ MLOps, о том, как несколько персонажей работают вместе на этом фундаменте, а также Создатель мудреца Амазонки специальные инструменты и встроенные средства интеграции с другими сервисами AWS, которые могут ускорить внедрение машинного обучения в корпоративном бизнесе.
Модель зрелости MLOps
Создание базы MLOps, способной удовлетворить операционные, кадровые и технологические потребности корпоративных клиентов, является сложной задачей. Поэтому мы определяем следующую модель зрелости, которая определяет необходимые возможности MLOps на четырех ключевых этапах.
- Начальный этап: На этом этапе специалисты по данным могут экспериментировать, создавать, обучать и развертывать модели на AWS с помощью сервисов SageMaker. Рекомендуемая среда разработки Студия Amazon SageMaker, в котором специалисты по данным могут экспериментировать и сотрудничать на основе записных книжек Studio.
- Повторяемая фаза – Имея возможность экспериментировать на AWS, следующим шагом будет создание автоматических рабочих процессов для предварительной обработки данных, построения и обучения моделей (конвейеры машинного обучения). Специалисты по данным сотрудничают с инженерами машинного обучения в отдельной среде для создания надежных и готовых к работе алгоритмов и исходного кода, организованных с использованием Конвейеры Amazon SageMaker. Сгенерированные модели хранятся и тестируются в реестре моделей Amazon SageMaker.
- Надежная фаза – Несмотря на то, что модели были созданы с помощью конвейеров машинного обучения, их необходимо протестировать, прежде чем они будут переведены в производство. Поэтому на этом этапе вводится методология автоматического тестирования как для модели, так и для инфраструктуры запуска в изолированной промежуточной (предпроизводственной) среде, которая имитирует производственную среду. После успешного выполнения теста модели развертываются в изолированной производственной среде. Для продвижения моделей в нескольких средах требуется ручная оценка и утверждение.
- Масштабируемая фаза – После запуска первого решения ML необходимо масштабирование основы MLOps для поддержки нескольких групп специалистов по обработке и анализу данных для совместной работы и производства десятков или сотен сценариев использования ML. На этом этапе мы внедряем шаблонизацию решений, которая увеличивает скорость за счет сокращения времени разработки новых производственных решений с недель до дней. Кроме того, мы автоматизируем создание безопасных сред MLOps, чтобы несколько команд могли работать со своими данными, снижая зависимость и накладные расходы на ИТ.
В следующих разделах мы покажем, как построить основу MLOps на основе предыдущей модели зрелости и следующих принципов:
- Трансформируемость – Специалисты по обработке и анализу данных могут работать с любой структурой (например, TensorFlow или PyTorch).
- Воспроизводимость – Специалисты по данным могут воссоздавать или наблюдать прошлые эксперименты (код, данные и результаты).
- Повторное использование – Специалисты по данным и инженеры по машинному обучению могут повторно использовать исходный код и конвейеры машинного обучения, избегая несоответствий и затрат.
- Масштабируемость – Специалисты по данным и инженеры по машинному обучению могут масштабировать ресурсы и услуги по запросу.
- контролируемости – Специалисты по обработке и анализу данных, ИТ и юридические отделы могут проводить аудит журналов, версий и зависимостей артефактов и данных.
- Согласованность – Поскольку MLOps состоит из нескольких сред, фундамент должен устранять различия между средами.
Начальный этап
На начальном этапе цель состоит в том, чтобы создать безопасную среду для экспериментов, в которой специалист по данным получает моментальные снимки данных и проводит эксперименты с использованием блокнотов SageMaker, чтобы доказать, что машинное обучение может решить конкретную бизнес-задачу. Для этого рекомендуется среда Studio с индивидуальным доступом к сервисам через конечные точки VPC. Исходный код эталонной архитектуры доступен в примерах, предоставленных командой SageMaker на сайте Безопасная наука о данных с эталонной архитектурой Amazon SageMaker Studio GitHub репо.
Помимо сервисов SageMaker, специалисты по обработке данных могут использовать другие сервисы для обработки данных, такие как Амазонка ЭМИ, Амазонка Афинаи Клей AWS, с записными книжками, хранящимися и версиями в AWS CodeCommit репозиторий (см. следующий рисунок).
Повторяемая фаза
После того, как специалисты по данным докажут, что ML может решить бизнес-проблему, и ознакомится с экспериментами, обучением и развертыванием моделей SageMaker, следующим шагом будет запуск решения ML в производство. На следующем рисунке показана эта архитектура.
На данном этапе необходимо разделение ответственности. Мы разделяем среду на несколько учетных записей AWS:
- Озеро данных – Сохраняет все полученные данные из локальной среды (или других систем) в облаке. Инженеры данных могут создавать конвейеры извлечения, преобразования и загрузки (ETL), объединяющие несколько источников данных, и подготавливать необходимые наборы данных для вариантов использования ML. Данные каталогизируются через каталог данных AWS Glue и передаются другим пользователям и учетным записям через Формирование озера AWS (уровень управления данными). В том же аккаунте Магазин функций Amazon SageMaker может быть размещен, но мы не рассматриваем это в этом посте. Для получения дополнительной информации см. Включение повторного использования функций в разных учетных записях и командах с помощью Amazon SageMaker Feature Store.
- экспериментирование – Позволяет специалистам по данным проводить свои исследования. Единственное отличие состоит в том, что источником моментальных снимков данных является озеро данных. Исследователи данных имеют доступ только к определенным наборам данных, которые могут быть анонимизированы в случае GDPR или других ограничений конфиденциальности данных. Кроме того, учетная запись для экспериментов может иметь доступ к Интернету, чтобы специалисты по данным могли использовать новые платформы обработки данных или сторонние библиотеки с открытым исходным кодом. Поэтому экспериментальная учетная запись рассматривается как часть непроизводственной среды.
- Разработка (разработка) – Первый этап производственной среды. Исследователи данных переходят от ноутбуков к миру автоматических рабочих процессов и SageMaker Pipelines. Им необходимо сотрудничать с инженерами машинного обучения, чтобы абстрагировать свой код и обеспечить охват тестированием, обработкой ошибок и качеством кода. Цель состоит в том, чтобы разработать конвейеры машинного обучения, которые представляют собой автоматические рабочие процессы, выполняющие предварительную обработку, обучение, оценку и регистрацию моделей в реестре моделей SageMaker. Развертывание конвейеров машинного обучения осуществляется только через конвейеры CI/CD, а доступ к Консоль управления AWS ограничен. Подключение к Интернету не разрешено, так как конвейер машинного обучения имеет доступ к производственным данным в озере данных (только для чтения).
- Инструмент (или автоматизация) – Размещает репозитории CodeCommit, Кодовый конвейер AWS Конвейеры CI/CD, реестр моделей SageMaker и Amazon ECR для размещения пользовательских контейнеров. Поскольку озеро данных — это единственная точка истины для данных, учетная запись инструментов предназначена для кода, контейнеров и созданных артефактов.
Обратите внимание, что это соглашение об именовании учетных записей и стратегия использования нескольких учетных записей могут различаться в зависимости от потребностей вашего бизнеса, но эта структура предназначена для демонстрации рекомендуемых уровней изоляции. Например, вы можете переименовать учетную запись разработки в учетную запись модели обучения или сборки.
Чтобы добиться автоматического развертывания, важно понять, как перейти от блокнотов к конвейерам машинного обучения и стандартизировать репозитории кода и структуру данных, которые мы обсудим в следующих разделах.
От ноутбуков к конвейерам машинного обучения
Цель среды разработки — реструктурировать, дополнить, улучшить и масштабировать код в блокнотах и перенести его в конвейеры машинного обучения. Конвейер машинного обучения — это набор шагов, отвечающих за предварительную обработку данных, обучение или использование моделей и постобработку результатов. Каждый шаг должен выполнять только одну задачу (конкретное преобразование) и быть достаточно абстрактным (например, передавать имена столбцов в качестве входных параметров), чтобы обеспечить возможность повторного использования. На следующей диаграмме показан пример конвейера.
Для реализации конвейеров машинного обучения специалисты по данным (или инженеры машинного обучения) используют конвейеры SageMaker. Конвейер SageMaker — это ряд взаимосвязанных шагов (задания обработки SageMaker, обучение, HPO), которые определяются определением конвейера JSON с использованием Python SDK. Это определение конвейера кодирует конвейер с помощью направленного ациклического графа (DAG). Эта группа обеспечения доступности баз данных предоставляет информацию о требованиях и взаимосвязях между каждым этапом конвейера машинного обучения.
В зависимости от варианта использования вы можете разделить конвейер машинного обучения на два основных типа: обучение и пакетный вывод.
На следующем рисунке показан поток обучающего конвейера машинного обучения.
Этап предварительной обработки может состоять из нескольких шагов. Общие преобразования науки о данных — это разделение и выборка данных (обучение, проверка, набор тестов), горячее кодирование или векторизация, объединение в группы и масштабирование. Этап обучения модели может быть либо одним заданием по обучению, если специалист по данным знает наилучшую конфигурацию модели, либо заданием по оптимизации гиперпараметров (HPO), в котором AWS определяет наилучшие гиперпараметры для модели (байесовский метод) и создает соответствующие Артефакт модели. На этапе оценки созданный артефакт модели используется для вывода набора данных проверки. Затем конвейер машинного обучения проверяет, соответствуют ли созданные метрики точности (такие как F1, точность и децили усиления) необходимым пороговым значениям. Если этот шаг выполнен успешно, артефакты модели и метаданные перемещаются в реестр модели для производства. Обратите внимание, что этап экспорта базового плана использует Монитор моделей Amazon SageMaker функциональность, создавая объект JSON со статистикой, которая позже используется для обнаружения дрейфа модели и может быть размещена в реестре моделей SageMaker в качестве метаданных модели.
В случае пакетного вывода специалисты по данным могут создавать аналогичные конвейеры, как показано на следующем рисунке.
Этап предварительной обработки пакетного вывода часто совпадает с обучением, за исключением выборки данных и столбца истинности. Пакетный вывод — это шаг, который отправляет данные пакетами для вывода в соответствующую конечную точку и может быть реализован с помощью пакетное преобразование. Этап постобработки создает дополнительную статистику, например распределение результатов, или объединяет результаты с внешними идентификаторами. Затем на этапе монитора модели можно сравнить базовую статистику данных, используемых для обучения (метаданные модели JSON в реестре модели), с новыми входящими данными для вывода.
Вы можете пропустить этапы предварительной обработки, если специалисты по обработке данных создают конвейерные модели, которые можно сохранить в реестре моделей SageMaker. Для получения более подробной информации см. Хост-модели вместе с логикой предварительной обработки в виде конвейера последовательного вывода за одной конечной точкой.
Стандартизация репозиториев
Чтобы обеспечить сотрудничество между специалистами по данным и инженерами по машинному обучению, необходима стандартизация структуры репозитория кода. Кроме того, стандартизация полезна для структуры конвейера CI/CD, позволяя включать автоматическую проверку, сборку (например, создание пользовательского контейнера) и этапы тестирования.
В следующем примере показано разделение решений машинного обучения на два репозитория: репозиторий построения и обучения для обучения (и, возможно, модель конвейера) и развертывание для продвижения моделей конвейера пакетного вывода или создания экземпляров конечных точек в реальном времени.
Строительный/тренировочный репозиторий
Репозиторий развертывания
Хранилище сборки и обучения разделено на три основные папки:
- Алгоритмы – Специалисты по данным разрабатывают код для каждого шага пайплайнов машинного обучения в корневой папке алгоритмов. Шаги можно сгруппировать в предварительную обработку, обучение, пакетный вывод и постобработку (оценку). В каждой группе можно определить несколько шагов в соответствующих подпапках, которые содержат папку для модульных тестов (включая дополнительные входные и выходные данные), основные функции, файл readme и файл Docker в случае необходимости в пользовательском контейнере. В дополнение к основному, в одной папке может быть размещено несколько файлов кода. Общие вспомогательные библиотеки для всех шагов могут быть размещены в общей папке библиотеки. Специалисты по данным несут ответственность за разработку модульных тестов, поскольку они владеют логикой шагов, а инженеры по машинному обучению отвечают за улучшение обработки ошибок и рекомендации по тестированию. Конвейер CI/CD отвечает за выполнение тестов, автоматическое создание контейнеров (при необходимости) и упаковку нескольких файлов исходного кода.
- конвейеры машинного обучения – После разработки исходного кода и тестов каждого шага следующим шагом будет определение конвейеров SageMaker в другой корневой папке. Каждое определение конвейера машинного обучения помещается во вложенную папку, содержащую файл .py и файл JSON или .yaml для входных параметров, таких как диапазоны гиперпараметров. Необходим файл readme для описания конвейеров машинного обучения.
- Ноутбуки – В этой папке хранятся исходные записные книжки, которые исследователь данных использовал во время экспериментов.
Репозиторий развертывания состоит из трех основных частей:
- Конфигурация вывода – Содержит конфигурацию конечных точек в реальном времени или пакетный вывод для каждой среды разработки, например типы экземпляров.
- Инфраструктура приложений – При необходимости размещает исходный код инфраструктуры, необходимой для выполнения логического вывода. Это может быть механизм запуска через Amazon EventBridge, Шлюз API Amazon, AWS Lambda функции или конвейеры SageMaker.
- Tests – Состоит из нескольких подпапок в зависимости от методики тестирования заказчика. В качестве минимального набора тестов мы предлагаем интеграционный тест (сквозной прогон вывода, включая инфраструктуру приложения), стресс-тест (проверка пограничных случаев) и тесты машинного обучения (такие как распределение оценок достоверности или вероятностей).
Внося изменения в репозиторий построения и обучения, конвейер CI/CD отвечает за проверку структуры репозитория, выполнение тестов, а также развертывание и запуск конвейеров машинного обучения. Другой конвейер CI/CD отвечает за продвижение моделей, которые мы рассмотрим в следующем разделе.
Стандартизация ветвления репозитория и CI/CD
Чтобы обеспечить надежность конвейеров машинного обучения в учетной записи разработчика, предлагается стратегия репозитория с несколькими ветками, а развертывание выполняется только через конвейеры CI/CD. Исследователи данных должны использовать ветку функций для разработки своих новых функций (исходный код). Когда они будут готовы развернуть соответствующие конвейеры машинного обучения, они могут отправить это в ветку разработки. Альтернативой этому подходу является разрешение развертывания конвейеров машинного обучения для каждой функциональной ветви. Для получения дополнительной информации см. Усовершенствуйте свой рабочий процесс в области науки о данных с помощью многоотраслевого обучающего конвейера MLOps с помощью AWS.
На следующем рисунке показана стратегия ветвления и необходимые этапы конвейера CI/CD, которые мы выполняем в среде разработки для конвейера машинного обучения и построения модели.
Пример кода многоветвевого подхода доступен в Многоотраслевой конвейер обучения MLOps. Мы можем хранить модели, созданные конвейером машинного обучения на основе ветвей функций, в отдельной группе моделей функций и выводить их из эксплуатации во время запроса на слияние с основной ветвью. Модели в основной группе моделей продвигаются в производство.
Стандартизация структуры данных
Не менее важной для стандартизации исходного кода является стандартизация структуры данных, которая позволяет специалистам по данным и инженерам по машинному обучению отлаживать, проверять и отслеживать происхождение и историю моделей и конвейеров машинного обучения. Следующая диаграмма иллюстрирует такой пример.
Для простоты предположим, что входные исторические данные попадают в корзину учетной записи разработки под входным подразделом (обычно он находится в озере данных). Для каждого варианта использования ML необходимо создать отдельный подраздел. Чтобы запустить новый конвейер машинного обучения, специалист по данным должен выполнить git commit и push, что приведет к запуску конвейера CI/CD. Затем конвейер CI/CD создает подраздел, копируя артефакты кода (т. code
подраздел) и входные данные (кнопка input
подраздел) в подразделе идентификатора сборки. Например, идентификатор сборки cможет быть комбинацией даты и времени и хэша git или идентификатором запуска конвейера SageMaker. Эта структура позволяет специалисту по обработке и анализу данных проверять и запрашивать прошлые развертывания и запуски. После этого конвейер CI/CD развертывает и запускает конвейер машинного обучения. Во время работы конвейера машинного обучения каждый шаг экспортирует промежуточные результаты в ml-pipeline-outputs
. Важно иметь в виду, что разные ветки функций развертывают и запускают новый экземпляр конвейера машинного обучения, и каждая из них должна экспортировать промежуточные результаты в другую подпапку с новым подразделом и/или стандартизированным префиксом или суффиксом, который включает в себя идентификатор ветки функции.
Этот подход поддерживает полную проверяемость каждого эксперимента. Однако многоветвевой подход стратегии развития генерирует большой объем данных. Поэтому необходима стратегия жизненного цикла данных. Мы предлагаем удалять по крайней мере данные каждого конвейера машинного обучения функциональной ветви в каждом успешном запросе на включение/слияние. Но это зависит от операционной модели и степени детализации аудита, которую должен поддерживать ваш бизнес. Вы можете использовать аналогичный подход в конвейерах пакетного вывода ML.
Надежная фаза
После первоначального разделения задач между специалистами по данным, инженерами по машинному обучению и инженерами по данным с использованием нескольких учетных записей следующим шагом является продвижение созданных моделей из реестра моделей в изолированную среду для выполнения логического вывода. Однако нам необходимо обеспечить надежность развернутых моделей. Следовательно, симуляция развернутой модели в зеркальной среде продакшена обязательна, а именно пре-продакшн (или пейджинг).
На следующем рисунке показана эта архитектура.
Продвижение модели и развертывание конечной точки в тестовой среде выполняется с помощью событий обновления состояния реестра модели (или git push в репозитории развертывания), которые запускают отдельный конвейер CI/CD с помощью событий EventBridge. На первом этапе конвейера CI/CD требуется ручное утверждение ведущим специалистом по данным (и, возможно, владельцем продукта, бизнес-аналитиком или другими ведущими специалистами по данным). Утверждающий должен проверить ключевые показатели производительности модели и контроль качества кода в репозитории развертывания. После утверждения конвейер CI/CD запускает тестовый код в репозиторий развертывания (интеграционный тест, стресс-тест, тест машинного обучения). В дополнение к конечной точке модели CI/CD также тестирует инфраструктуру запуска, такую как EventBridge, функции Lambda или шлюз API. На следующей диаграмме показана эта обновленная архитектура.
После успешного выполнения тестов конвейер CI/CD уведомляет новых (или тех же) утверждающих о том, что модель готова к внедрению в рабочую среду. На этом этапе бизнес-аналитик может захотеть выполнить некоторые дополнительные статистические проверки гипотез по результатам модели. После утверждения модели и запускающая инфраструктура внедряются в производство. SageMaker поддерживает несколько методов развертывания, например сине-зеленое, канареечное и A/B-тестирование (подробнее см. Ограждения развертывания). В случае сбоя конвейера CI/CD механизм отката возвращает систему в последнее надежное состояние.
На следующей диаграмме показаны основные этапы конвейера CI/CD для продвижения модели и инфраструктуры для запуска конечной точки модели, такой как шлюз API, функции Lambda и EventBridge.
Интеграция озера данных и MLOps
На этом этапе важно понять требования к данным для каждого этапа разработки или учетной записи, а также способ интеграции MLOps с централизованным озером данных. На следующей диаграмме показаны слои MLOps и озера данных.
В озере данных инженеры данных несут ответственность за объединение нескольких источников данных и создание соответствующих наборов данных (например, одной таблицы данных структуры или одной папки с файлами PDF или изображениями) для вариантов использования ML путем построения ETL. конвейеры, как определено учеными данных (на этапе анализа данных разведки). Эти наборы данных можно разделить на исторические данные и данные для вывода и тестирования. Все данные каталогизируются (например, с помощью каталога данных AWS Glue), и ими можно делиться с другими учетными записями и пользователями, используя Lake Formation в качестве уровня управления данными (для структурированных данных). На момент написания этой статьи Lake Formation совместим только с запросами Athena, заданиями AWS Glue и Amazon EMR.
С другой стороны, среда MLOps должна орошать конвейеры ML определенными наборами данных, расположенными в локальных корзинах в dev, pre-prod и prod. Среда разработки отвечает за создание и обучение моделей по запросу с использованием конвейеров SageMaker, извлекающих данные из озера данных. Поэтому мы предлагаем в качестве первого этапа конвейера либо этап Athena, где требуется только выборка данных и запросы, либо этап Amazon EMR, если требуются более сложные преобразования. В качестве альтернативы вы можете использовать задание AWS Glue с помощью шага обратного вызова, но пока не в качестве собственного шага с SageMaker Pipelines.
Pre-prod и prod несут ответственность либо за тестирование, либо за выполнение пакетных выводов в реальном времени. В случае логического вывода в реальном времени отправка данных в учетные записи pre-prod и prod MLOps не требуется, поскольку входные данные для логического вывода могут быть связаны с полезной нагрузкой запроса шлюза API. В случае пакетного вывода (или входных данных большого размера) необходимые наборы данных, либо тестовые данные, либо данные для вывода, должны попадать в локальные блоки данных ML (предварительные или рабочие). У вас есть два варианта перемещения данных в предварительную и рабочую среду: запуск Athena или Amazon EMR и извлечение данных из озера данных или отправка данных из озера данных в учетные записи MLOps. Первый вариант требует разработки дополнительных механизмов в учетных записях MLOps, например, создание запланированных событий EventBridge (не зная, были ли обновлены данные в озере данных) или поступления данных в события S3 EventBridge в озере данных (для подробнее см. Упрощение доступа между учетными записями с помощью политик ресурсов Amazon EventBridge). После перехвата события на стороне MLOps запрос Athena или Amazon EMR может получить данные локально и вызвать асинхронный вывод or пакетное преобразование. Для простоты это можно включить в конвейер SageMaker. Второй вариант — добавить на последнем этапе конвейера ETL функцию отправки данных в корзины MLOps. Однако этот подход смешивает обязанности (озеро данных инициирует вывод) и требует, чтобы Lake Formation предоставил доступ к озеру данных для записи в сегменты MLOps.
Последним шагом является перемещение результатов вывода обратно в озеро данных. Чтобы каталогизировать данные и сделать их доступными для других пользователей, данные должны вернуться в качестве нового источника данных обратно в целевую корзину.
Масштабируемая фаза
После разработки основы MLOps и сквозной производственной реализации первого варианта использования ML были протестированы и окончательно доработаны инфраструктура разработки, предварительной подготовки, производства и репозитория, конвейер CI/CD и структура данных. . Следующим шагом будет добавление на платформу новых вариантов использования машинного обучения и команд. Чтобы ускорить окупаемость, SageMaker позволяет создавать собственные шаблоны проектов SageMaker, которые можно использовать для автоматического создания экземпляров репозиториев шаблонов и конвейеров CI/CD. С такими шаблонами проектов SageMaker ведущие специалисты по данным несут ответственность за создание экземпляров новых проектов и выделение специальной группы для каждого нового варианта использования ML.
Следующая диаграмма иллюстрирует этот процесс.
Проблема усложняется, если разные команды специалистов по данным (или несколько бизнес-подразделений, которым необходимо внедрить машинное обучение) имеют доступ к разным конфиденциальным данным, а несколько владельцев продуктов несут ответственность за оплату отдельных счетов за обучение, развертывание и запуск моделей. . Поэтому для каждой команды необходим отдельный набор учетных записей MLOps (experimental, dev, pre-prod и prod). Чтобы упростить создание новых учетных записей MLOps, мы представляем еще одну учетную запись, учетную запись управления расширенной аналитикой, которая доступна ИТ-специалистам и позволяет им каталогизировать, создавать экземпляры или списывать учетные записи MLOps по требованию. В частности, в этой учетной записи размещаются репозитории с кодом инфраструктуры учетных записей MLOps (VPC, подсети, конечные точки, сегменты, Управление идентификацией и доступом AWS (IAM) роли и политики, AWS CloudFormation стеки), Каталог сервисов AWS продукт для автоматического развертывания стеков CloudFormation инфраструктуры для нескольких учетных записей одним щелчком мыши и Amazon DynamoDB таблицу для каталогизации метаданных, например, какая команда отвечает за каждый набор учетных записей. С помощью этой возможности ИТ-группа создает учетные записи MLOps по запросу и выделяет необходимых пользователей, доступ к данным для каждой учетной записи и согласованные ограничения безопасности.
Исходя из этого сценария, мы разделяем учетные записи на эфемерные и постоянные. Озеро данных и инструменты — это надежные учетные записи, которые играют роль единой точки достоверности для данных и исходного кода соответственно. Учетные записи MLOps в основном не имеют состояния и могут быть созданы или выведены из эксплуатации по требованию, что делает их эфемерными. Даже если набор учетных записей MLOps выведен из эксплуатации, пользователи или аудиторы могут проверить прошлые эксперименты и результаты, поскольку они хранятся в надежных средах.
Если вы хотите использовать пользовательский интерфейс Studio для MLOps, учетная запись инструмента является частью учетной записи разработчика, как показано на следующем рисунке.
Если пользователь хочет использовать пользовательский интерфейс Sagemaker Studio для MLOps, учетная запись инструмента является частью разработчика.
счет согласно рисунку выше. Пример исходного кода этого фонда MLOPs можно найти в
Безопасная платформа MLOps с несколькими учетными записями на основе CDK.
Обратите внимание, что Sagemaker предоставляет возможность заменить CodeCommit и CodePipeline другими сторонними инструментами разработки, такими как GitHub и Jenkins (более подробную информацию можно найти в Создание проектов Amazon SageMaker использование стороннего контроля версий и Jenkins и Проекты Amazon SageMaker MLOps Шаблон с GitLab и GitLab Pipelines).
Сводка персонажей, операций и технологий
С моделью зрелости MLOps мы можем определить четкий план архитектуры и доставки. Однако каждый персонаж должен иметь четкое представление об основных учетных записях и сервисах AWS, с которыми нужно взаимодействовать, и о выполняемых операциях. Следующая диаграмма суммирует эти категории.
Заключение
Надежная основа MLOps, которая четко определяет взаимодействие между несколькими людьми и технологиями, может увеличить скорость окупаемости и снизить затраты, а также позволить специалистам по данным сосредоточиться на инновациях. В этом посте мы показали, как построить такую основу поэтапно, что приведет к плавной модели зрелости MLOps для бизнеса и возможности поддержки нескольких групп специалистов по обработке данных и вариантов использования машинного обучения в производственной среде. Мы определили операционную модель, состоящую из нескольких персонажей с разными навыками и обязанностями. Наконец, мы поделились примерами того, как стандартизировать разработку кода (репозитории и конвейеры CI/CD), хранение и совместное использование данных, а также обеспечение безопасной инфраструктуры MLOps для корпоративных сред. Многие корпоративные клиенты приняли этот подход и теперь могут внедрять свои решения машинного обучения в течение нескольких дней, а не месяцев.
Если у вас есть какие-либо комментарии или вопросы, оставьте их в разделе комментариев.
Об авторе
Доктор Сократис Картакис является старшим специалистом по машинному обучению, архитектором решений для Amazon Web Services. Sokratis уделяет особое внимание тому, чтобы позволить корпоративным клиентам индустриализировать свои решения машинного обучения (ML), используя сервисы AWS и формируя свою операционную модель, т. е. основу MLOps, и дорожную карту преобразования с использованием лучших практик разработки. Он более 15 лет занимался изобретением, проектированием, ведением и внедрением инновационных комплексных решений машинного обучения и Интернета вещей (IoT) на производственном уровне в таких областях, как энергетика, розничная торговля, здравоохранение, финансы/банковское дело, автоспорт и т. д. Сократис любит проводить свободное время с семьей и друзьями или кататься на мотоциклах.
Георгиос Шинас является специалистом по разработке решений для AI/ML в регионе EMEA. Он базируется в Лондоне и тесно сотрудничает с клиентами в Великобритании и Ирландии. Georgios помогает клиентам разрабатывать и развертывать приложения машинного обучения в рабочей среде на AWS, уделяя особое внимание методам MLOps и позволяя клиентам выполнять машинное обучение в масштабе. В свободное время он любит путешествовать, готовить и проводить время с друзьями и семьей.
Джузеппе Анджело Порчелли является главным специалистом по машинному обучению, архитектором решений для Amazon Web Services. Имея опыт разработки программного обеспечения в области машинного обучения в течение нескольких лет, он работает с клиентами любого размера, чтобы глубоко понять их бизнес и технические потребности и разработать решения для искусственного интеллекта и машинного обучения, которые наилучшим образом используют облако AWS и стек машинного обучения Amazon. Он работал над проектами в различных областях, включая MLOps, Computer Vision, NLP, а также с широким набором сервисов AWS. В свободное время Джузеппе любит играть в футбол.
Шелби Айгенброде является главным архитектором решений, специализирующимся на искусственном интеллекте и машинном обучении, в Amazon Web Services (AWS). Она занимается технологиями уже 24 года, работая в различных отраслях, технологиях и на разных должностях. В настоящее время она сосредоточена на объединении своего опыта DevOps и ML в области MLOps, чтобы помочь клиентам предоставлять и управлять рабочими нагрузками ML в масштабе. Имея более 35 патентов, выданных в различных областях технологий, она стремится к непрерывным инновациям и использованию данных для достижения результатов в бизнесе. Шелби — соавтор и преподаватель специализации «Практическая наука о данных» на Coursera. Она также является содиректором организации Women In Big Data (WiBD) в Денвере. В свободное время она любит проводить время со своей семьей, друзьями и гиперактивными собаками.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/mlops-foundation-roadmap-for-enterprises-with-amazon-sagemaker/
- "
- 100
- a
- способность
- О нас
- АБСТРАКТ НАЯ
- ускорять
- доступ
- доступной
- вмещать
- Учетная запись
- Достигать
- через
- дополнение
- дополнительный
- Принятие
- продвинутый
- против
- AI
- алгоритмы
- Все
- позволяет
- альтернатива
- Amazon
- Amazon Web Services
- среди
- количество
- анализ
- аналитик
- аналитика
- Другой
- API
- Применение
- Приложения
- подхода
- архитектура
- аудит
- автоматизировать
- Автоматический
- автоматически
- автоматизация
- доступен
- избегающий
- AWS
- фон
- Базовая линия
- , так как:
- становиться
- до
- за
- полезный
- ЛУЧШЕЕ
- между
- Big Data
- Билл
- повышение
- строить
- Строительство
- встроенный
- бизнес
- бизнес
- возможности
- случаев
- случаев
- централизованная
- сложные
- Глава
- Проверки
- классический
- облако
- код
- сотрудничать
- сотрудничество
- Column
- сочетание
- Комментарии
- совершать
- Общий
- Компании
- совместим
- полный
- комплекс
- Соответствие закону
- компьютер
- Проводить
- проведение
- доверие
- Конфигурация
- связи
- последовательный
- Container
- Контейнеры
- содержит
- контроль
- копирование
- соответствующий
- может
- чехол для варгана
- Создайте
- создали
- создает
- Создающий
- создание
- В настоящее время
- изготовленный на заказ
- клиент
- Клиенты
- данным
- доступ к данным
- анализ данных
- конфиденциальность данных
- наука о данных
- ученый данных
- хранение данных
- Дней
- преданный
- поставка
- Спрос
- Денвер
- в зависимости
- зависит
- развертывание
- развернуть
- развертывание
- развертывание
- развертывания
- развертывает
- описывать
- Проект
- проектирование
- подробнее
- обнаружение
- Дев
- развивать
- Развитие
- Инструменты разработки
- разница
- различный
- обсуждать
- распределение
- Docker
- домен
- доменов
- управлять
- управляемый
- в течение
- каждый
- Edge
- ликвидировать
- обниматься
- включить
- позволяет
- позволяет
- впритык
- Конечная точка
- энергетика
- Проект и
- Инженеры
- Предприятие
- предприятий
- Окружающая среда
- и т.д
- оценивать
- оценка
- События
- События
- точно,
- пример
- Примеры
- без учета
- эксперимент
- использует
- исследование
- семья
- Особенность
- фигура
- в заключение
- Во-первых,
- поток
- Фокус
- фокусируется
- фокусировка
- после
- футбол
- образование
- найденный
- Год основания
- Устои
- Рамки
- каркасы
- Бесплатно
- от
- функциональность
- Функции
- Более того
- шлюз
- GDPR
- генерируется
- идти
- GitHub
- цель
- управление
- предоставленный
- группы
- Управляемость
- хэш
- Медицина
- помощь
- помощь
- помогает
- High
- исторический
- история
- состоялся
- Как
- How To
- Однако
- HTTPS
- Сотни
- Личность
- изображений
- осуществлять
- в XNUMX году
- Осуществляющий
- важную
- улучшать
- включает в себя
- В том числе
- Увеличение
- промышленности
- информация
- Инфраструктура
- Инновации
- инновации
- инновационный
- вход
- пример
- интеграции.
- интеграций
- взаимодействие
- интерес
- Интерфейс
- Интернет
- Интернет вещей
- КАТО
- Ирландия
- изоляция
- IT
- работа
- Джобс
- присоединение
- Играя
- Сохранить
- Основные
- знания
- большой
- последний
- слой
- вести
- ведущий
- УЧИТЬСЯ
- изучение
- Оставлять
- Юр. Информация
- уровни
- Используя
- Библиотека
- загрузка
- локальным
- в местном масштабе
- Лондон
- машина
- обучение с помощью машины
- сделать
- Создание
- управлять
- управление
- обязательный
- руководство
- зрелость
- механизм
- Участники
- идти
- Методология
- методы
- Метрика
- может быть
- против
- минимальный
- зеркало
- ML
- модель
- Модели
- монитор
- месяцев
- БОЛЕЕ
- Автоспорт
- двигаться
- перемещение
- с разными
- а именно
- имена
- именования
- необходимо
- потребности
- следующий
- нормально
- работать
- операционный
- Операционный отдел
- оптимизация
- Опция
- Опции
- заказ
- организации
- оригинал
- Другое
- собственный
- владелец
- Владельцы
- часть
- особый
- вечеринка
- страсть
- Патенты
- Люди
- производительность
- выполнения
- фаза
- Платформа
- Играть
- игры
- пожалуйста
- Точка
- сборах
- Подготовить
- Основной
- политикой конфиденциальности.
- Проблема
- процесс
- обработка
- Произведенный
- Продукт
- Производство
- производительность
- Проект
- проектов
- продвижении
- продвижение
- обеспечивать
- при условии
- приводит
- тянущий
- RE
- реального времени
- уменьшить
- снижение
- область
- зарегистрироваться
- Отношения
- складская
- хранилище
- запросить
- Запросы
- обязательный
- Требования
- требуется
- исследованиям
- ресурс
- Полезные ресурсы
- ответственности
- ответственный
- Итоги
- розничный
- возвращают
- Возвращает
- Дорожная карта
- прочность
- Роли
- корень
- Run
- Бег
- то же
- масштабируемые
- Шкала
- масштабирование
- считаться
- Наука
- Ученый
- Ученые
- SDK
- безопасный
- безопасность
- последовательный
- Серии
- обслуживание
- Услуги
- набор
- установка
- несколько
- Форма
- общие
- разделение
- показывать
- аналогичный
- моделирование
- одинарной
- Размер
- навыки
- Software
- разработка программного обеспечения
- Решение
- Решения
- РЕШАТЬ
- некоторые
- исходный код
- специалист
- конкретный
- конкретно
- скорость
- тратить
- Расходы
- раскол
- стек
- Этап
- этапы
- Начало
- Область
- статистический
- статистика
- Статус:
- диск
- магазин
- магазины
- Стратегия
- упорядочить
- стресс
- структурированный
- студия
- успешный
- поддержка
- Поддержанный
- Поддержка
- система
- системы
- команда
- команды
- Технический
- технологии
- Технологии
- шаблоны
- тестXNUMX
- Тестирование
- тестов
- Ассоциация
- Источник
- мир
- следовательно
- вещи
- сторонние
- три
- время
- вместе
- инструменты
- Train
- Обучение
- Transform
- трансформация
- преобразований
- Путешествие
- Типы
- ui
- Uk
- под
- понимать
- единиц
- Обновление ПО
- использование
- пользователей
- использовать
- Проверка
- ценностное
- различный
- Вид
- видение
- Web
- веб-сервисы
- в то время как
- в
- без
- Женщина
- Работа
- работавший
- Рабочие процессы
- работает
- Мир
- письмо
- лет
- ВАШЕ