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 секунд. Платите только за то, что используете, в миллисекундах. Нет необходимости устанавливать политики масштабирования.
Идите вперед и сделайте выбор с точки зрения выбора правильного подхода для ваших вариантов использования.