Ландшафт искусственного интеллекта меняется благодаря появлению генеративных моделей, способных синтезировать высококачественные данные, такие как текст, изображения, музыка и видео. Курс на демократизацию ИИ помог еще больше популяризировать генеративный ИИ после выпусков с открытым исходным кодом для таких семейств базовых моделей, как BERT, T5, GPT, CLIP и, совсем недавно, Стабильная диффузия. Сотни приложений «программное обеспечение как услуга» (SaaS) разрабатываются на основе этих предварительно обученных моделей, которые либо напрямую обслуживаются конечными клиентами, либо сначала настраиваются для каждого клиента для создания личного и уникального контента (например, аватары, стилизованное редактирование фотографий, активы видеоигр, текст для домена и многое другое). С темпами технологических инноваций и распространением новых вариантов использования генеративного ИИ будущие поставщики SaaS с собственным ИИ и стартапы в сегменте B2C должны готовиться к масштабированию с первого дня и стремиться сократить время выхода на рынок за счет сокращения операционных расходов. накладные расходы как можно больше.
В этом посте мы рассмотрим технические требования и рекомендации по проектированию приложений для точной настройки и обслуживания гиперперсонализированных моделей ИИ в масштабе AWS. Мы предлагаем архитектуру, основанную на полностью управляемом Создатель мудреца Амазонки функции обучения и обслуживания, которые позволяют поставщикам SaaS быстрее разрабатывать свои приложения, обеспечивать качество обслуживания и повышать рентабельность.
Объем решения и требования
Давайте сначала определим область применения персонализированных генеративных ИИ-приложений SaaS:
Далее рассмотрим технические требования и рабочий процесс для приложения, поддерживающего тонкую настройку и обслуживание потенциально тысяч персонализированных моделей. Рабочий процесс обычно состоит из двух частей:
- Создайте персонализированную модель с помощью облегченной тонкой настройки базовой предварительно обученной модели.
- Размещение персонализированной модели для запросов логического вывода по требованию, когда пользователь возвращается
Одно из соображений для первой части рабочего процесса заключается в том, что мы должны быть готовы к непредсказуемому и скачкообразному пользовательскому трафику. Пиковые нагрузки могут возникать, например, из-за выпуска новых базовых моделей или развертывания новых функций SaaS. Это наложит большие периодические потребности в мощности графического процессора, а также потребность в асинхронных запусках заданий тонкой настройки для поглощения всплеска трафика.
Что касается хостинга моделей, поскольку рынок наводнен приложениями SaaS на основе ИИ, скорость обслуживания становится отличительным фактором. Быстрое и плавное взаимодействие с пользователем может быть нарушено холодным запуском инфраструктуры или высокой задержкой логического вывода. Хотя требования к задержке вывода будут зависеть от варианта использования и ожиданий пользователя, в целом это соображение приводит к предпочтению размещения моделей в реальном времени на графических процессорах (в отличие от более медленных вариантов размещения только на процессорах). Однако размещение модели графического процессора в режиме реального времени может быстро привести к высоким эксплуатационным расходам. Поэтому для нас жизненно важно определить стратегию хостинга, которая предотвратит линейный рост затрат с количеством развернутых моделей (активных пользователей).
Архитектура решения
Прежде чем мы опишем предлагаемую архитектуру, давайте обсудим, почему SageMaker отлично подходит для требований нашего приложения, рассмотрев некоторые его функции.
Первое Обучение SageMaker и хостинг API-интерфейсы обеспечивают повышение производительности благодаря полностью управляемым заданиям по обучению и развертыванию моделей, поэтому быстро меняющиеся команды могут уделять больше времени функциям и отличиям продукта. Кроме того, парадигма заданий SageMaker Training по принципу «запусти и забудь» идеально подходит для временного характера параллельных заданий тонкой настройки модели на этапе адаптации пользователя. Мы обсудим дополнительные соображения о параллелизме в следующем разделе.
Во-вторых, SageMaker поддерживает уникальные варианты хостинга с поддержкой GPU для масштабного развертывания моделей глубокого обучения. Например, NVIDIA Triton Inference Server, высокопроизводительное программное обеспечение для логических выводов с открытым исходным кодом, было изначально интегрировано в экосистему SageMaker в 2022 году. За этим последовал запуск поддержки графических процессоров для мультимодельных конечных точек SageMaker, что обеспечивает масштабируемую, низкую -латентность и экономичный способ развертывания тысяч моделей глубокого обучения за одной конечной точкой.
Наконец, когда мы переходим к уровню инфраструктуры, эти функции поддерживаются лучшими в своем классе вариантами вычислений. Например, инстанс типа G5, оснащенный графическими процессорами NVIDIA A10g (уникальными для AWS), предлагает отличное соотношение цены и качества как для обучения моделей, так и для хостинга. Он обеспечивает самую низкую стоимость в расчете на FP32 FLOP (важный показатель того, сколько вычислительной мощности вы получаете за доллар) во всей палитре экземпляров графического процессора на AWS и значительно улучшает предыдущий тип экземпляра графического процессора с самой низкой стоимостью (G4dn). Для получения дополнительной информации см. Достигните в четыре раза более высокой пропускной способности вывода машинного обучения при трехкратном снижении затрат на вывод с помощью инстансов Amazon EC2 G5 для моделей NLP и CV PyTorch..
Хотя следующая архитектура обычно применима к различным вариантам использования генеративного ИИ, давайте в качестве примера возьмем преобразование текста в изображение. В этом сценарии приложение для создания изображений создаст одну или несколько настраиваемых, точно настроенных моделей для каждого из своих пользователей, и эти модели будут доступны для создания изображений в реальном времени по требованию конечного пользователя. Затем рабочий процесс решения можно разделить на две основные фазы, как видно из архитектуры. Первая фаза (A) соответствует процессу адаптации пользователя — это когда модель настраивается для нового пользователя. На втором этапе (B) точная модель используется для логического вывода по требованию.
Давайте более подробно рассмотрим шаги в архитектуре, пронумерованные на схеме.
1. Проверка статуса модели
Когда пользователь взаимодействует со службой, мы сначала проверяем, является ли он вернувшимся пользователем, который уже подключен к службе и имеет персонализированные модели, готовые к обслуживанию. У одного пользователя может быть более одной персонализированной модели. Сопоставление между пользователем и соответствующими моделями сохраняется в Amazon DynamoDB, который служит полностью управляемым, бессерверным, нереляционным хранилищем метаданных, которое легко запрашивать, недорогое и масштабируемое. Как минимум, мы рекомендуем иметь две таблицы:
- Один для хранения сопоставления между пользователями и моделями. Сюда входят идентификатор пользователя и артефакт модели. Простой сервис хранения Amazon (Амазон S3) URI.
- Другой служит очередью, в которой хранятся запросы на создание модели и статус их выполнения. Сюда входят идентификатор пользователя, идентификатор задания обучения модели и статус, а также гиперпараметры и метаданные, связанные с обучением.
2. Адаптация пользователей и тонкая настройка модели.
Если ни одна модель ранее не была настроена для пользователя, приложение загружает изображения для точной настройки в Amazon S3, запуская AWS Lambda для регистрации нового задания в таблице DynamoDB.
Другая функция Lambda запрашивает в таблице новое задание и запускает его с помощью SageMaker Training. Его можно активировать для каждой записи, используя Потоки Amazon DynamoDBили по расписанию с использованием Amazon EventBridge (шаблон, проверенный клиентами AWS, в том числе внутри Amazon). При желании изображения или подсказки можно передавать для логического вывода и обрабатывать непосредственно в задании SageMaker Training сразу после обучения модели. Это может помочь сократить время доставки первых изображений обратно в приложение. По мере создания изображений вы можете использовать механизм синхронизации контрольных точек в SageMaker для загрузки промежуточных результатов в Amazon S3. Что касается параллелизма запуска заданий, SageMaker API CreateTrainingJob поддерживает скорость запросов один в секунду, с более высокими скоростями пакетов, доступными в периоды высокого трафика. Если вам постоянно необходимо запускать более одной задачи тонкой настройки в секунду (TPS), у вас есть следующие элементы управления и параметры:
- Используйте Управляемые теплые пулы SageMaker, которые позволяют сохранять и повторно использовать подготовленную инфраструктуру после завершения задания обучения, чтобы уменьшить задержку холодного запуска для повторяющихся рабочих нагрузок.
- Реализуйте повторные попытки в лямбда-функции задания запуска (показано на диаграмме архитектуры).
- В конечном счете, если частота запросов тонкой настройки будет постоянно превышать 1 TPS, вы можете запустить N тонких настроек параллельно с одним заданием SageMaker Training, запросив задание с
num_instances=K
, и распределяя работу по разным экземплярам. Примером того, как вы можете добиться этого, является передача списка задач, которые должны быть запущены, в качестве входного файла для задания обучения, и каждый экземпляр обрабатывает другую задачу или часть этого файла, отличающиеся числовым идентификатором экземпляра (найденным в ресурсconfig.json). Имейте в виду, что отдельные задачи не должны сильно различаться по продолжительности обучения, чтобы избежать ситуации, когда одна задача поддерживает работоспособность всего кластера дольше, чем необходимо.
Наконец, точно настроенная модель сохраняется, запуская функцию Lambda, которая подготавливает артефакт для обслуживания на конечной точке с несколькими моделями SageMaker. На этом этапе пользователь может быть уведомлен о том, что обучение завершено и модель готова к использованию. Ссылаться на Управление внутренними запросами и внешними уведомлениями в бессерверных веб-приложениях для лучших практик по этому вопросу.
3. Обслуживание запросов пользователей по запросу
Если модель была предварительно настроена под пользователя, путь намного проще. Приложение вызывает конечную точку с несколькими моделями, передавая полезные данные и идентификатор модели пользователя. Выбранная модель динамически загружается из Amazon S3 на диск экземпляра конечной точки и в память графического процессора (если она в последнее время не использовалась; для получения дополнительной информации см. Как работают мультимодельные конечные точки), и используется для вывода. Выходные данные модели (персонализированный контент) наконец возвращаются в приложение.
Ввод и вывод запроса должны быть сохранены в S3 для дальнейшего использования пользователем. Чтобы не влиять на задержку запроса (время, измеряемое с момента отправки пользователем запроса до получения ответа), вы можете выполнить эту загрузку непосредственно из клиентского приложения или, альтернативно, в коде логического вывода вашей конечной точки.
Эта архитектура обеспечивает асинхронность и параллелизм, которые были частью требований к решению.
Заключение
В этом посте мы рассмотрели вопросы тонкой настройки и обслуживания гиперперсонализированных моделей ИИ в масштабе, а также предложили гибкое и экономичное решение на AWS с использованием SageMaker.
Мы не рассмотрели вариант использования предварительного обучения большой модели. Для получения дополнительной информации см. Распределенное обучение в Amazon SageMaker и Разделенный параллелизм данных, а также рассказы о том, как клиенты AWS обучали массивные модели в SageMaker, например AI21 и Стабильность ИИ.
Об авторах
Жоао Моура является специалистом по архитектуре решений AI/ML в AWS, базирующейся в Испании. Он помогает клиентам с обучением моделей глубокого обучения и оптимизацией логических выводов, а также с созданием крупномасштабных платформ машинного обучения на AWS. Он также является активным сторонником специализированного оборудования для машинного обучения и решений для машинного обучения с низким кодом.
Доктор Александр Аржанов является архитектором решений специалиста по искусственному интеллекту и машинному обучению из Франкфурта, Германия. Он помогает клиентам AWS разрабатывать и развертывать решения машинного обучения в регионе EMEA. До прихода в AWS Александр исследовал происхождение тяжелых элементов в нашей Вселенной и увлекся машинным обучением после того, как использовал его в своих крупномасштабных научных расчетах.
Оливье Крючан является специалистом по машинному обучению и архитектором решений в AWS, базирующейся во Франции. Оливье помогает клиентам AWS — от небольших стартапов до крупных предприятий — разрабатывать и развертывать приложения машинного обучения производственного уровня. В свободное время он любит читать исследовательские работы и исследовать пустыню с друзьями и семьей.
Хайко Хотц является старшим архитектором решений для искусственного интеллекта и машинного обучения, уделяя особое внимание обработке естественного языка (NLP), моделям больших языков (LLM) и генеративному искусственному интеллекту. До этой должности он был руководителем отдела обработки и анализа данных службы поддержки клиентов Amazon в ЕС. Heiko помогает нашим клиентам добиться успеха в их путешествии по AI/ML на AWS и работает с организациями во многих отраслях, включая страхование, финансовые услуги, средства массовой информации и развлечения, здравоохранение, коммунальные услуги и производство. В свободное время Хайко как можно больше путешествует.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/architect-personalized-generative-ai-saas-applications-on-amazon-sagemaker/
- :является
- $UP
- 1
- 100
- 2022
- 7
- a
- О нас
- выше
- Достигать
- через
- активный
- После
- AI
- ИИ и машинное обучение
- варианты использования ИИ
- AI / ML
- Alexander
- уже
- Несмотря на то, что
- Amazon
- Amazon EC2
- Создатель мудреца Амазонки
- и
- API
- приложение
- Применение
- Приложения
- архитектура
- МЫ
- около
- AS
- Активы
- связанный
- асинхронность
- At
- доступен
- Аватары
- AWS
- B2C
- назад
- со спинкой
- Backend
- Использование темпера с изогнутым основанием
- основанный
- основа
- BE
- становится
- до
- за
- не являетесь
- польза
- ЛУЧШЕЕ
- лучшие практики
- между
- широко
- Здание
- by
- расчеты
- CAN
- способный
- Пропускная способность
- случаев
- случаев
- проверка
- клиент
- Кластер
- код
- полный
- завершение
- Вычисление
- параллельный
- рассмотрение
- соображения
- содержание
- контрольная
- соответствующий
- соответствует
- Цена
- рентабельным
- Расходы
- может
- "Курс"
- чехол для варгана
- Создайте
- создание
- изготовленный на заказ
- клиент
- Служба поддержки игроков
- Клиенты
- данным
- наука о данных
- день
- глубоко
- глубокое обучение
- доставить
- Спрос
- развертывание
- развернуть
- развертывание
- развертывания
- описывать
- Проект
- подробность
- развивать
- развитый
- отличаться
- различный
- дифференцированный
- дифференцирование
- непосредственно
- обсуждать
- Разделенный
- Доллар
- вниз
- в течение
- динамично
- каждый
- экосистема
- или
- элементы
- в регионе EMEA
- позволяет
- Конечная точка
- предприятий
- Развлечения
- оборудованный
- EU
- пример
- ожидания
- опыт
- Эксплуатировать
- Исследование
- семей
- семья
- стремительный
- быстрее
- Особенность
- Особенности
- Файл
- в заключение
- финансовый
- финансовые услуги
- Во-первых,
- соответствовать
- гибкого
- Фокус
- следует
- после
- Что касается
- найденный
- Год основания
- Франция
- свежий
- друзья
- от
- Frontend
- полностью
- функция
- далее
- будущее
- игра
- Общие
- в общем
- порождать
- генерируется
- поколение
- генеративный
- Генеративный ИИ
- Germany
- получить
- Go
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- Графические процессоры
- большой
- значительно
- Рост
- Аппаратные средства
- Есть
- имеющий
- здравоохранение
- тяжелый
- помощь
- помог
- помогает
- High
- высокая производительность
- высококачественный
- высший
- хостинг
- Как
- Однако
- HTML
- HTTP
- HTTPS
- Сотни
- ID
- идентификатор
- изображение
- изображений
- важную
- наложенный
- in
- включает в себя
- В том числе
- Увеличение
- individual
- промышленности
- информация
- Инфраструктура
- Инновации
- вход
- пример
- страхование
- интегрированный
- взаимодействует
- внутренне
- Запускает
- IT
- ЕГО
- работа
- Джобс
- присоединение
- путешествие
- Сохранить
- пейзаж
- язык
- большой
- крупномасштабный
- больше
- Задержка
- запуск
- запускает
- вести
- Лиды
- изучение
- уровень
- легкий
- Список
- дольше
- искать
- машина
- обучение с помощью машины
- основной
- ДЕЛАЕТ
- управляемого
- производство
- многих
- отображение
- Рынок
- массивный
- проводить измерение
- Медиа
- Память
- Метаданные
- может быть
- против
- минимальный
- ML
- модель
- Модели
- момент
- БОЛЕЕ
- Более того
- самых
- Мультимодельная конечная точка
- с разными
- Музыка
- натуральный
- Обработка естественного языка
- природа
- Необходимость
- потребности
- Новые
- следующий
- НЛП
- Уведомления
- роман
- номер
- нумерованный
- Nvidia
- of
- Предложения
- оливковый
- on
- On-Demand
- Вводный
- ONE
- с открытым исходным кодом
- оперативный
- против
- оптимизация
- Опции
- организации
- выходной
- Темп
- бумага
- парадигма
- Параллельные
- часть
- части
- Прошло
- Прохождение
- страстный
- путь
- шаблон
- периодов
- личного
- Персонализированные
- фаза
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Точка
- возможное
- После
- потенциально
- мощностью
- практиками
- Подготовить
- (например,
- Готовит
- предотвращать
- предыдущий
- предварительно
- Предварительный
- Обработанный
- Процессы
- обработка
- Продукт
- производительность
- сторонник
- предлагает
- предложило
- обеспечивать
- поставщики
- приводит
- pytorch
- быстро
- Обменный курс
- Стоимость
- соотношение
- Reading
- готовый
- реального времени
- недавно
- рекомендовать
- запись
- уменьшить
- снижение
- по
- область
- зарегистрироваться
- публикации
- повторяющийся
- запросить
- Запросы
- Требования
- исследованиям
- ответ
- Итоги
- сохранять
- возвращение
- обзоре
- Рост
- Роли
- Run
- Бег
- SaaS
- sagemaker
- масштабируемые
- Шкала
- сценарий
- график
- Наука
- научный
- сфера
- Во-вторых
- Раздел
- сегмент
- выбранный
- старший
- служить
- Serverless
- служит
- обслуживание
- Услуги
- выступающей
- должен
- показанный
- просто
- одинарной
- ситуация
- небольшой
- So
- Software
- программное обеспечение как услуга
- Решение
- Решения
- некоторые
- Испания
- особый
- специалист
- скорость
- шип
- Распространение
- Начало
- начинается
- Стартапы
- Статус:
- Шаги
- диск
- магазин
- Истории
- Стратегия
- сильный
- успешный
- такие
- поддержка
- Поддержка
- ТАБЛИЦЫ
- Сложность задачи
- задачи
- команды
- Технический
- технологический
- который
- Ассоциация
- их
- следовательно
- Эти
- тысячи
- три
- Через
- пропускная способность
- время
- раз
- в
- к
- TPS
- трафик
- специалистов
- Обучение
- путешествия
- срабатывает
- срабатывание
- Тритон
- созданного
- Вселенная
- непредсказуемый
- Предстоящие
- us
- Применение
- использование
- прецедент
- Информация о пользователе
- Пользовательский опыт
- пользователей
- коммунальные услуги
- различный
- с помощью
- Видео
- видеоигра
- Видео
- жизненный
- ходил
- теплый
- Путь..
- Web
- ЧТО Ж
- , которые
- все
- будете
- в
- Работа
- работавший
- доходность
- Ты
- ВАШЕ
- YouTube
- зефирнет