AWS Sagemaker — это управляемый экземпляр для создания, обучения, настройки и развертывания моделей Data Science. В следующем разделе описываются компоненты SageMaker для сквозного цикла машинного обучения.

Подготовка

SageMaker Ground Truth — пометка обучающих данных для машинного обучения

SageMaker Data Wrangler: сбор и подготовка данных для машинного обучения

SageMaker Processing – встроенный в Python, используйте собственный R/Spark

SageMaker Feature Store — храните, обновляйте, извлекайте и делитесь функциями.

SageMaker Clarify — обнаружение предвзятости и понимание прогнозов модели.

Создать

Блокноты SageMaker Studio —блокноты Jupyter с эластичными вычислениями и совместным использованием

Встроенные и собственные алгоритмы. Десятки встроенных оптимизированных алгоритмов или собственные

Локальный режим — тестирование и создание прототипа на моем локальном компьютере

SageMaker Autopilot:автоматическое создание моделей машинного обучения с полной видимостью

SageMaker Jumpstart — готовые решения для распространенных случаев использования

Обучать и настраивать

Управляемые тренингиРаспределенное управление инфраструктурой

Эксперименты SageMaker – фиксируйте, систематизируйте и сравнивайте каждый шаг

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

Распределенное обучение: обучение работе с большими наборами данных и моделями

SageMaker Debugger — отладка и профилирование обучающих запусков

Управляемое точечное обучение –снижение затрат на обучение на 90 %

Развертывание и управление

Управляемое развертывание –полностью управляемое сверхнизкое время ожидания, высокая пропускная способность

Интеграция Kubernetes и Kubeflow — упрощение машинного обучения на основе Kubernetes

Мультимодельные конечные точки. Сократите расходы за счет размещения нескольких моделей на одном экземпляре.

SageMaker Model Monitor:поддержание точности развернутых моделей.

SageMaker Edge Manager: управление и мониторинг моделей на периферийных устройствах.

SageMaker Pipelines — оркестровка и автоматизация рабочих процессов

Тип шаблонов логического вывода и как сделать выбор.

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

Вывод в реальном времени:

Вывод в реальном времени идеально подходит для онлайн-выводов, требующих малой задержки или высокой пропускной способности. Используйте вывод в реальном времени для постоянной и полностью управляемой конечной точки (REST API), которая может обрабатывать устойчивый трафик, поддерживаемый типом экземпляра по вашему выбору. Вывод в реальном времени может поддерживать размеры полезной нагрузки до 6 МБ и время обработки 60 секунд.

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

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

Конечная точка с несколькими контейнерами для логического вывода в реальном времени В некоторых случаях использования у нас может быть несколько алгоритмов, каждый из которых имеет разные платформы машинного обучения. Мы можем разместить эти несколько моделей в нескольких отдельных контейнерах (до 15 контейнеров), а конечная точка модели может вызываться напрямую или последовательно в зависимости от событий. Это позволяет избежать проблемы холодного запуска, связанной с мультимодельной конечной точкой. Разверните любое сочетание предварительно обученных встроенных алгоритмов SageMaker и пользовательских алгоритмов, упакованных в контейнеры Docker. Используя этот подход, мы можем комбинировать задачи предварительной обработки, прогнозирования и постобработки данных.

Асинхронный вывод:

Асинхронный вывод идеально подходит, если вы хотите ставить запросы в очередь и иметь большие полезные данные с длительным временем обработки. Асинхронный вывод может поддерживать полезные нагрузки до 1 ГБ и длительное время обработки до одного часа. Вы также можете уменьшить конечную точку до 0, когда нет запросов для обработки. Идеально подходит для большой полезной нагрузки до 1 ГБ, более длительное время ожидания обработки до 15 минут, автоматическое масштабирование (до 0 экземпляров), подходит для сценариев использования CV / NLP.

Пакетное преобразование

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

Бессерверный вывод

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

Serverless Inference идеально подходит для прерывистых или непредсказуемых моделей трафика. SageMaker автоматически запускает вычислительные ресурсы и управляет ими. Он управляет всей базовой инфраструктурой, поэтому нет необходимости управлять экземплярами или политиками масштабирования. Он поставляется с управляемым ведением журнала и мониторингом. Лучше всего мы платим только за то, что вы используете, а не за время простоя. Он может поддерживать размеры полезной нагрузки до 4 МБ и время обработки до 60 секунд. Платите только за то, что используете, в миллисекундах. Нет необходимости устанавливать политики масштабирования.

Идите вперед и сделайте выбор с точки зрения выбора правильного подхода для ваших вариантов использования.