Мы рады объявить об упрощенной версии Amazon SageMaker JumpStart SDK, которая упрощает создание, обучение и развертывание базовых моделей. Код прогнозирования также упрощается. В этом посте мы покажем, как можно использовать упрощенный SDK SageMaker Jumpstart, чтобы приступить к использованию базовых моделей всего за пару строк кода.
Дополнительную информацию об упрощенном SDK SageMaker JumpStart для развертывания и обучения см. Развертывание с минимальным количеством кода с помощью класса JumpStartModel и Тонкая настройка с низким уровнем кода с помощью класса JumpStartEstimatorсоответственно.
Обзор решения
SageMaker JumpStart предоставляет предварительно обученные модели с открытым исходным кодом для широкого спектра типов проблем, которые помогут вам начать работу с машинным обучением (ML). Вы можете постепенно обучать и настраивать эти модели перед развертыванием. JumpStart также предоставляет шаблоны решений, которые настраивают инфраструктуру для распространенных случаев использования, а также исполняемые примеры блокнотов для машинного обучения с помощью Amazon SageMaker. Вы можете получить доступ к предварительно обученным моделям, шаблонам решений и примерам через целевую страницу SageMaker JumpStart в Amazon SageMaker Studio или использовать SageMaker Python SDK.
Чтобы продемонстрировать новые возможности SageMaker JumpStart SDK, мы покажем вам, как использовать предварительно обученный Флан Т5 XL модель от Hugging Face для генерации текста для задач обобщения. Мы также покажем, как всего за несколько строк кода можно точно настроить модель Flan T5 XL для задач обобщения. Вы можете использовать любую другую модель для генерации текста, например Лама2, Соколили Мистраль ИИ.
Ноутбук для этого решения с использованием Flan T5 XL можно найти в разделе Репозиторий GitHub.
Развертывание и вызов модели
Модели Foundation, размещенные на SageMaker JumpStart, имеют идентификаторы моделей. Полный список идентификаторов моделей см. Встроенные алгоритмы с предварительно обученной таблицей моделей. В этом посте мы используем идентификатор модели генерации текста Flan T5 XL. Мы создаем экземпляр объекта модели и развертываем его в конечной точке SageMaker, вызывая его deploy
метод. См. следующий код:
Затем мы вызываем модель для создания сводки предоставленного текста с использованием модели Flan T5 XL. Новый интерфейс SDK упрощает вызов модели: вам просто нужно передать текст предиктору, и он вернет ответ модели в виде словаря Python.
Ниже приведены выходные данные задачи суммирования:
Точная настройка и развертывание модели
SageMaker JumpStart SDK предоставляет вам новый класс: JumpStartEstimator
, что упрощает тонкую настройку. Вы можете указать расположение данных для точной настройки и, при необходимости, также передать наборы данных проверки. После точной настройки модели используйте метод развертывания объекта Estimator для развертывания точно настроенной модели:
Настройте новые классы в SageMaker SDK.
Новый SDK упрощает развертывание и тонкую настройку моделей JumpStart за счет установки многих параметров по умолчанию. У вас по-прежнему есть возможность переопределить значения по умолчанию и настроить развертывание и вызов в соответствии с вашими требованиями. Например, вы можете настроить тип формата входных полезных данных, тип экземпляра, конфигурацию VPC и многое другое для своей среды и варианта использования.
Следующий код показывает, как переопределить тип экземпляра при развертывании модели:
SDK JumpStart для SageMaker deploy
Функция автоматически выберет для вас тип контента и сериализатор по умолчанию. Если вы хотите изменить тип формата входных полезных данных, вы можете использовать serializers
и content_types
объекты для анализа доступных вам вариантов, передав model_id
модели, с которой вы работаете. В следующем коде мы устанавливаем формат ввода полезных данных как JSON, установив JSONSerializer
как serializer
и application/json
как content_type
:
Далее вы можете вызвать модель Flan T5 XL для задачи суммирования с полезной нагрузкой формата JSON. В следующем коде мы также передаем параметры вывода в полезные данные JSON, чтобы сделать ответы более точными:
Если вам нужны дополнительные способы настройки входных данных и другие параметры хостинга и тонкой настройки, обратитесь к документации по JumpStartМодель и JumpStartEstimator занятия.
Заключение
В этом посте мы показали, как можно использовать упрощенный SDK SageMaker JumpStart для создания, обучения и развертывания моделей, основанных на задачах и базовых моделях, всего с помощью нескольких строк кода. Мы продемонстрировали новые классы, такие как JumpStartModel
и JumpStartEstimator
на примере модели Hugging Face Flan T5-XL. Вы можете использовать любую другую базовую модель SageMaker JumpStart для таких сценариев использования, как написание контента, генерация кода, ответы на вопросы, обобщение, классификация, поиск информации и многое другое. Чтобы просмотреть полный список моделей, доступных с помощью SageMaker JumpStart, см. Встроенные алгоритмы с предварительно обученной таблицей моделей. SageMaker JumpStart также поддерживает модели для конкретных задач для многих популярных типов проблем.
Мы надеемся, что упрощенный интерфейс SageMaker JumpStart SDK поможет вам быстро приступить к работе и ускорить выполнение задач. Мы с нетерпением ждем возможности услышать, как вы используете упрощенный SDK SageMaker JumpStart для создания интересных приложений!
Об авторах
Эван Кравиц — инженер-программист в Amazon Web Services, работающий над SageMaker JumpStart. Его интересует слияние машинного обучения с облачными вычислениями. Эван получил степень бакалавра в Корнелльском университете и степень магистра в Калифорнийском университете в Беркли. В 2021 году он представил доклад о состязательных нейронных сетях на конференции ICLR. В свободное время Эван любит готовить, путешествовать и совершать пробежки по Нью-Йорку.
Рахна Чадха — главный архитектор решений AI/ML в отделе стратегических счетов в AWS. Рахна — оптимистка, которая верит, что этичное и ответственное использование ИИ может улучшить общество в будущем и принести экономическое и социальное процветание. В свободное время Рахна любит проводить время с семьей, ходить в походы и слушать музыку.
Джонатан Гинеган — старший инженер-программист в Amazon SageMaker JumpStart в AWS. Он получил степень магистра в Колумбийском университете. Его интересы охватывают машинное обучение, распределенные системы и облачные вычисления, а также демократизацию использования искусственного интеллекта. Джонатан родом из Франции и сейчас живет в Бруклине, штат Нью-Йорк.
Доктор Ашиш Хетан — старший ученый-прикладник, работающий со встроенными алгоритмами Amazon SageMaker и помогающий разрабатывать алгоритмы машинного обучения. Он получил докторскую степень в Университете Иллинойса Урбана-Шампейн. Он является активным исследователем в области машинного обучения и статистического вывода и опубликовал множество статей на конференциях NeurIPS, ICML, ICLR, JMLR, ACL и EMNLP.