На прошлой неделе Институт технологических инноваций (ТИИ) запустили ТИИ Сокол ЛЛМ, базовая модель большого языка (LLM) с открытым исходным кодом. Обучено на 1 трлн токенов с Создатель мудреца Амазонки, Falcon может похвастаться первоклассной производительностью (№1 в Таблица лидеров «Обнимающее лицо» на момент написания), будучи сравнительно легким и менее дорогим для размещения, чем другие LLM, такие как llama-65B. В этом посте мы покажем, как развернуть Falcon для таких приложений, как понимание языка и автоматическая помощь в написании, используя контейнеры глубокого обучения для вывода больших моделей в SageMaker.
Сокол приземлился на SageMaker
TII — организация прикладных исследований в Абу-Даби. Совет по исследованиям передовых технологий; его команда ученых, исследователей и инженеров занимается открытием преобразующих технологий и развитием научных прорывов, которые обеспечат будущее нашему обществу. Ранее в этом году TII приступила к обучению современного LLM с открытым исходным кодом и использовала инфраструктуру, инструменты и опыт SageMaker для выполнения работы (чтобы узнать больше о том, как эта модель была обучена на SageMaker , Ссылаться на Институт технологических инноваций обучает современную базовую модель Falcon LLM 40B на Amazon SageMaker.). Результатом этих усилий является ТИИ Сокол ЛЛМ.
Обученный на 1 триллионе токенов, Falcon может похвастаться первоклассной производительностью по сравнению с Система оценки языковой модели Eleuther AI и в настоящее время № 1 на Таблица лидеров «Обнимающее лицо» для точности. Модель доступна в двух размерах — Falcon-40B и Falcon-7B — и может использоваться для достижения самых современных результатов в таких приложениях, как понимание языка, разговорный опыт и автоматизированная помощь при письме. Этот пост поможет вам приступить к развертыванию Falcon на SageMaker для получения высокоточных логических выводов в таких областях.
DLC для вывода больших моделей SageMaker упрощают хостинг LLM
Размещение LLM, таких как Falcon-40B и Falcon-7B, может оказаться сложной задачей. Более крупные модели часто более точны, поскольку включают миллиарды параметров, но их размер также может привести к меньшей задержке логического вывода или снижению пропускной способности. Размещение LLM может потребовать больше памяти графического процессора и оптимизированных ядер для достижения приемлемой производительности. Еще больше усложняет ситуацию то, что, хотя меньшие модели, такие как Falcon-7B, обычно могут поместиться на одном графическом процессоре, таком как экземпляр NVIDIA A10G, который поддерживает типы экземпляров AWS G5, более крупные модели, такие как Falcon-40B, не могут. Когда это происходит, необходимо использовать такие стратегии, как тензорный параллелизм, чтобы разделить эту более крупную модель на несколько частей и использовать преимущества памяти нескольких графических процессоров. Устаревшие хостинговые решения, используемые для небольших моделей, обычно не предлагают такой функциональности, что усугубляет проблему.
Контейнеры глубокого обучения (DLC) SageMaker для вывода больших моделей (LMI) могут помочь. LMI DLC — это комплексное комплексное решение для размещения таких LLM, как Falcon-40B. Во внешнем интерфейсе они включают высокопроизводительный сервер моделей (DJL Serving), предназначенный для логического вывода больших моделей с такими функциями, как потоковая передача токенов и автоматическая репликация модели в экземпляре для увеличения пропускной способности. На серверной части LMI DLC также включают несколько высокопроизводительных параллельных движков моделей, таких как DeepSpeed и FasterTransformer, которые могут разделять параметры модели и управлять ими на нескольких графических процессорах. Эти движки также включают оптимизированные ядра для популярных моделей трансформеров, которые могут ускорять вывод до трех раз быстрее. С LMI DLC вам просто нужно создать файл конфигурации, чтобы начать работу с хостингом LLM в SageMaker. Чтобы узнать больше о DLC для SageMaker LMI, см. Параллелизм моделей и вывод больших моделей и наш список доступных изображений. Вы также можете проверить наш предыдущий пост о хостинге Блум-175B на SageMaker используя LMI DLC.
Обзор решения
В этом посте вы узнаете, как разместить Falcon-40B с помощью DeepSpeed на SageMaker с помощью LMI DLC. Falcon-40B требует, чтобы мы использовали несколько графических процессоров A10, тогда как для Falcon-7B требуется только один графический процессор. Мы также подготовили примеры, на которые вы можете ссылаться, чтобы разместить Falcon-40B и Falcon-7B с использованием как DeepSpeed, так и Accelerate. Вы можете найти наши примеры кода на GitHub.
Этот пример можно запустить в экземплярах блокнота SageMaker или Студия Amazon SageMaker блокноты. Для размещения Falcon-40B с использованием LMI и DeepSpeed нам нужно использовать экземпляр ml.g5.24xlarge. Эти инстансы оснащены 4 графическими процессорами NVIDIA A10G, каждый из которых поддерживает 96 ГБ памяти графического процессора. Кроме того, хост предоставляет 96 виртуальных ЦП и 384 ГиБ памяти хоста. Контейнер LMI поможет решить большую часть недифференцированной тяжелой работы, связанной с размещением LLM, включая загрузку модели и разделение артефакта модели, чтобы содержащиеся в нем параметры можно было распределить между несколькими графическими процессорами.
Квоты для экземпляров машинного обучения SageMaker (ML) могут различаться в разных учетных записях. Если вы получили сообщение об ошибке, указывающее, что вы превысили свою квоту для экземпляров g5.24xlarge при просмотре этого сообщения, вы можете увеличить лимит с помощью Консоль сервисных квот.
Пошаговое руководство по записной книжке
Для начала мы начнем с установки и импорта необходимых зависимостей для нашего примера. Мы используем Boto3 SDK, а также SageMaker SDK. Обратите внимание, что мы используем Простой сервис хранения Amazon (Amazon S3) для хранения артефактов модели, необходимых для использования SageMaker и LMI, поэтому мы соответствующим образом настроили префиксную переменную S3. См. следующий код:
Затем мы создаем локальную папку для нашей рабочей области для хранения артефактов нашей модели:
Сначала мы создаем serving.properties
файл конфигурации в созданном нами локальном каталоге. Этот serving.properties
указывает контейнеру LMI и внешней библиотеке DJL Serving, какую модель распараллеливания и механизма оптимизации логического вывода мы хотим использовать. Вы можете найти параметры конфигурации для DeepSpeed и Hugging Face Accelerate в Конфигурации и настройки. Здесь обратите внимание, что мы установили option.model_id
параметр, чтобы определить, из какой модели Hugging Face брать. SageMaker упрощает работу с моделями Hugging Face, и вам достаточно одной этой строки. Кроме того, мы устанавливаем option.tensor_parallel_degree
до значения 4, потому что у нас есть четыре графических процессора в нашем экземпляре ml.g5.24xlarge. Этот параметр определяет, сколько разделов модели необходимо создать и распределить. Обратите внимание, что если бы мы использовали более крупный экземпляр с восемью графическими процессорами, такой как ml.g5.48xlarge, и по-прежнему установили бы значение 4, то LMI автоматически создал бы две реплики модели (две реплики, распределенные по четырем графическим процессорам каждая). См. следующий код:
Вы также можете поменять местами tiiuae/falcon-40b
tiiuae/falcon-40b-instruct
если это лучше соответствует вашим потребностям.
Мы также включаем requirements.txt
файл, который вы можете указать для установки необходимых вам пакетов:
Последнее, что нам нужно, это model.py
файл, который будет использоваться с вашей моделью:
Вот и все! На данный момент мы создали все артефакты, которые вам понадобятся для развертывания Falcon-40B с DeepSpeed! Мы упаковываем каталог в файл *.tar.gz и загружаем его на Amazon S3. Обратите внимание, что фактическая модель не была загружена или упакована в этот файл. Контейнер LMI загрузит модель для вас напрямую из Hugging Face. У вас также есть возможность настроить таргетинг на корзину S3, если вы хотите, чтобы ваша собственная копия модели находилась в месте, которое будет более производительным для загрузки. LMI также включает оптимизацию для загрузки с Amazon S3 с высокой производительностью. См. следующий код:
Все, что осталось сделать на этом этапе, — это определить контейнер, который мы хотим использовать, и создать объект модели:
Затем мы создаем конфигурацию конечной точки и создаем конечную точку:
Элементы конфигурации, о которых следует помнить для успешного хостинга
Важным соображением при размещении крупных моделей является обеспечение достаточного времени для загрузки модели с Hugging Face. В наших тестах загрузка Falcon-40B в инстанс заняла около 90 минут. Ключевой набор конфигураций, позволяющих это сделать, ContainerStartupHealthCheckTimeoutInSeconds и Моделдатадунлоадтимеаутинсекондс. Убедитесь, что конфигурация конечной точки SageMaker имеет значение 3600 для каждого из них. Кроме того, намного проще загружать из Amazon S3 вместо исходного зоопарка моделей с помощью контейнеров LMI, специально разработанных для LLMS, использующих утилиту S5cmd, которая сокращает время загрузки модели примерно до 10 минут.
Вы можете контролировать состояние конечной точки, позвонив DescribeEndpoint
, который сообщит вам, когда все будет готово. Ваша конечная точка теперь готова отвечать на запросы логического вывода! Поскольку LMI выполняет за вас разделение и оркестровку модели, каждый запрос будет обрабатываться с использованием всех 4 графических процессоров, доступных в нашем экземпляре ml.g5.12xlarge. Это позволяет нам размещать LLM и повышать производительность при горизонтальном масштабировании ускорителей GPU. См. следующий код:
Если вы закончили и хотите удалить конфигурацию конечной точки, конечную точку и объект модели, вы можете запустить следующие команды:
Этот код, на который мы ссылались в этом посте, можно найти в полном Блокнот на GitHub.
Заключение
SageMaker Hosting и LMI DLC упрощают размещение таких LLM, как Falcon-40B. Он берет на себя тяжелую работу по организации того, что требуется для размещения моделей на нескольких графических процессорах, и предоставляет настраиваемые параметры в соответствии с вашими потребностями. Кроме того, использование моделей Hugging Face становится очень простым благодаря встроенной поддержке этих моделей.
В этом посте мы показали, как вы можете использовать SageMaker для размещения модели Falcon-40B с помощью DeepSpeed. Кроме того, мы привели примеры в GitHub для размещения Falcon-40B с использованием Accelerate и меньших моделей Falcon-7B. Мы рекомендуем вам попробовать SageMaker с LMI и освоить самую эффективную общедоступную LLM на сегодняшний день!
Об авторах
Джеймс Парк работает архитектором решений в Amazon Web Services. Он работает с Amazon.com над проектированием, созданием и развертыванием технологических решений на AWS и проявляет особый интерес к искусственному интеллекту и машинному обучению. В свободное время ему нравится знакомиться с новыми культурами, получать новый опыт и быть в курсе последних технологических тенденций. Вы можете найти его на LinkedIn.
Абхи Шивадитья — старший архитектор решений в AWS, работающий со стратегическими глобальными корпоративными организациями, чтобы облегчить внедрение сервисов AWS в таких областях, как искусственный интеллект, распределенные вычисления, сети и хранилища. Его опыт заключается в глубоком обучении в областях обработки естественного языка (NLP) и компьютерного зрения. Abhi помогает клиентам эффективно развертывать высокопроизводительные модели машинного обучения в экосистеме AWS.
Роберт Ван Дусен является старшим менеджером по продуктам в Amazon SageMaker. Он возглавляет оптимизацию моделей глубокого обучения для таких приложений, как вывод больших моделей.
Эвандро Франко является специалистом по архитектуре решений AI/ML, работающим над Amazon Web Services. Он помогает клиентам AWS преодолевать бизнес-проблемы, связанные с искусственным интеллектом и машинным обучением поверх AWS. Он более 15 лет работает с технологиями, от разработки программного обеспечения, инфраструктуры, бессерверных технологий до машинного обучения.
Цин Лан является инженером-разработчиком программного обеспечения в AWS. Он работал над несколькими сложными продуктами в Amazon, включая высокопроизводительные решения для логического вывода машинного обучения и высокопроизводительную систему ведения журналов. Команда Цин успешно запустила первую модель с миллиардом параметров в Amazon Advertising с очень низкой задержкой. Цин обладает глубокими знаниями по оптимизации инфраструктуры и ускорению глубокого обучения.
Фрэнк Лю является инженером-программистом для AWS Deep Learning. Он специализируется на создании инновационных инструментов глубокого обучения для инженеров-программистов и ученых. В свободное время он любит ходить в походы с друзьями и семьей.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- ЭВМ Финанс. Единый интерфейс для децентрализованных финансов. Доступ здесь.
- Квантум Медиа Групп. ИК/PR усиление. Доступ здесь.
- ПлатонАйСтрим. Анализ данных Web3. Расширение знаний. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/deploy-falcon-40b-with-large-model-inference-dlcs-on-amazon-sagemaker/
- :имеет
- :является
- :нет
- :куда
- $UP
- 1
- 10
- 100
- 13
- 14
- 15 лет
- 15%
- 20
- 22
- 27
- 7
- 8
- 9
- a
- О нас
- ускорять
- ускорители
- приемлемый
- соответственно
- Учетные записи
- точность
- точный
- Достигать
- через
- фактического соединения
- добавить
- дополнение
- Дополнительно
- адрес
- Принятие
- плюс
- Реклама
- против
- AI
- AI / ML
- Все
- позволять
- позволяет
- причислены
- Несмотря на то, что
- Amazon
- Создатель мудреца Амазонки
- Amazon Web Services
- Amazon.com
- an
- и
- любой
- API
- Приложения
- прикладной
- МЫ
- области
- около
- искусственный
- искусственный интеллект
- AS
- Помощь
- помогает
- связанный
- At
- автоматический
- Автоматизированный
- Автоматический
- автоматически
- доступен
- AWS
- Backend
- BE
- , так как:
- становится
- было
- начинать
- не являетесь
- Лучшая
- между
- миллиарды
- хвастается
- тело
- изоферменты печени
- прорывы
- строить
- Строительство
- встроенный
- бизнес
- но
- by
- призывают
- вызова
- CAN
- не могу
- проблемы
- сложные
- проверка
- код
- COM
- сравнительно
- полный
- содержащий
- компьютер
- Компьютерное зрение
- вычисление
- Конфигурация
- рассмотрение
- Container
- Контейнеры
- диалоговый
- Создайте
- создали
- В настоящее время
- Клиенты
- сокращение
- данным
- Время
- преданный
- глубоко
- глубокое обучение
- Определяет
- демонстрировать
- развертывание
- развертывание
- Проект
- предназначенный
- Развитие
- ДИКТ
- различный
- Трудность
- непосредственно
- открытие
- распространять
- распределенный
- распределенных вычислений
- do
- доменов
- сделанный
- Dont
- скачать
- каждый
- Ранее
- легче
- легко
- экосистема
- эффективно
- усилие
- поощрять
- конец
- впритык
- Конечная точка
- Двигатель
- инженер
- Инженеры
- Двигатели
- обеспечение
- Предприятие
- ошибка
- оценка
- многое
- пример
- Примеры
- Превышен
- выполнение
- дорогим
- Впечатления
- опыта
- Face
- содействовал
- семья
- быстрее
- Особенности
- Файл
- Найдите
- Во-первых,
- соответствовать
- фокусируется
- после
- Что касается
- найденный
- Год основания
- 4
- друзья
- от
- передний
- Внешний интерфейс
- функциональность
- далее
- в общем
- генератор
- получить
- Дайте
- Глобальный
- Go
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- Графические процессоры
- было
- Ручки
- практический
- происходит
- Есть
- he
- тяжелый
- тяжелая атлетика
- помощь
- помогает
- здесь
- High
- высокая производительность
- его
- его
- горизонтально
- кашель
- хостинг
- Вилла / Бунгало
- Как
- How To
- HTML
- HTTP
- HTTPS
- if
- изображение
- Импортировать
- важную
- импортирующий
- in
- углубленный
- включают
- включает в себя
- В том числе
- Увеличение
- указывает
- Инфраструктура
- Инновации
- инновационный
- вход
- затраты
- устанавливать
- Установка
- пример
- вместо
- Институт
- Интеллекта
- взаимодействующий
- интерес
- в
- IT
- пункты
- ЕГО
- работа
- JPG
- JSON
- Сохранить
- Основные
- знания
- язык
- большой
- больше
- Фамилия
- Задержка
- последний
- запустили
- Лиды
- УЧИТЬСЯ
- изучение
- оставил
- Наследие
- Меньше
- Библиотека
- лежит
- ЖИЗНЬЮ
- Подтяжка лица
- легкий
- такое как
- ОГРАНИЧЕНИЯ
- линия
- LLM
- локальным
- расположение
- каротаж
- Низкий
- машина
- обучение с помощью машины
- сделать
- ДЕЛАЕТ
- управлять
- менеджер
- многих
- Память
- против
- Минут
- ML
- модель
- Модели
- монитор
- БОЛЕЕ
- много
- с разными
- должен
- натуральный
- Обработка естественного языка
- необходимо
- Необходимость
- потребности
- сетей
- Новые
- НЛП
- ноутбук
- сейчас
- Nvidia
- объект
- of
- предлагают
- .
- on
- ONE
- только
- с открытым исходным кодом
- оптимизация
- оптимизированный
- Опция
- Опции
- or
- оркестровка
- организация
- организации
- оригинал
- OS
- Другое
- наши
- внешний
- выходной
- Преодолеть
- собственный
- пакет
- в упаковке
- пакеты
- Параллельные
- параметр
- параметры
- особый
- путь
- производительность
- штук
- трубопровод
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Точка
- Популярное
- После
- полномочия
- Predictor
- подготовленный
- предыдущий
- Обработанный
- обработка
- Продукт
- Менеджер по продукции
- Продукция
- свойства
- обеспечивать
- при условии
- приводит
- публично
- цель
- готовый
- Получать
- область
- Связанный
- копирование
- запросить
- требовать
- обязательный
- требуется
- исследованиям
- исследователи
- Реагируйте
- результат
- возвращают
- Роли
- Run
- sagemaker
- Шкала
- научный
- Ученые
- SDK
- посмотреть
- поиск
- старший
- Serverless
- Услуги
- выступающей
- Сессия
- набор
- несколько
- показал
- просто
- упростить
- просто
- одинарной
- Размер
- меньше
- So
- Общество
- Software
- разработка программного обеспечения
- Инженер-программист
- Решение
- Решения
- специалист
- специально
- распространение
- Начало
- и политические лидеры
- ввод в эксплуатацию
- современное состояние
- Статус:
- По-прежнему
- диск
- магазин
- простой
- Стратегический
- стратегий
- потоковый
- успешный
- Успешно
- такие
- Костюм
- поддержка
- обмен
- система
- взять
- принимает
- цель
- команда
- технологии
- Технологии
- сказать
- тестов
- чем
- который
- Ассоциация
- их
- тогда
- Там.
- Эти
- они
- задача
- вещи
- этой
- В этом году
- три
- Через
- пропускная способность
- время
- раз
- в
- знак
- Лексемы
- приняли
- инструменты
- топ
- факел
- Train
- специалистов
- поезда
- преобразующей
- трансформатор
- трансформеры
- Тенденции
- Триллион
- стараться
- два
- напишите
- Типы
- типично
- понимание
- загружено
- us
- использование
- используемый
- через
- утилита
- ценностное
- очень
- видение
- хотеть
- законопроект
- we
- Web
- веб-сервисы
- неделя
- ЧТО Ж
- Что
- Что такое
- когда
- в то время как
- который
- в то время как
- будете
- в
- работает
- работает
- хуже
- бы
- письмо
- год
- лет
- Ты
- ВАШЕ
- зефирнет
- ZOO