Мантиум является глобальным поставщиком облачных платформ для создания приложений ИИ и управления ими в масштабе. Платформа комплексной разработки Mantium позволяет предприятиям и компаниям любого размера создавать приложения для ИИ и автоматизацию быстрее и проще, чем это было возможно раньше. С помощью Mantium технические и нетехнические группы могут создавать прототипы, разрабатывать, тестировать и развертывать приложения ИИ, используя подход с минимальным кодом. Благодаря функциям автоматического ведения журналов, мониторинга и безопасности Mantium также освобождает разработчиков программного обеспечения и DevOps от необходимости заново изобретать велосипед. На высоком уровне Mantium обеспечивает:
- Ультрасовременный ИИ – Экспериментируйте и развивайтесь, используя широкий выбор открытых и частных больших языковых моделей с простым пользовательским интерфейсом или API.
- Автоматизация процессов ИИ – Легко создавайте приложения на основе ИИ с помощью растущей библиотеки интеграций и графического AI Builder от Mantium.
- Быстрое развертывание – Сократите сроки производства с месяцев до недель или даже дней с помощью развертывания одним щелчком мыши. Эта функция одним щелчком мыши превращает приложения ИИ в общедоступные веб-приложения.
- Безопасность и регулирование – Обеспечьте безопасность и соответствие политикам управления, а также поддержку процессов с участием человека.
С помощью Mantium AI Builder вы можете разрабатывать сложные рабочие процессы, объединяющие внешние API, логические операции и модели ИИ. На следующем снимке экрана показан пример приложения Mantium AI, которое объединяет входные данные Twilio, политику управления, блок AI (который может опираться на модель с открытым исходным кодом, например GPT-J) и выходные данные Twilio.
Для поддержки этого приложения Mantium предоставляет комплексный и унифицированный доступ не только к API-интерфейсам моделей от поставщиков ИИ, таких как Open AI, Co:here и AI21, но и к современным моделям с открытым исходным кодом. В Mantium мы считаем, что каждый должен иметь возможность создавать современные приложения искусственного интеллекта, которыми он владеет, от начала до конца, и мы поддерживаем это, предоставляя доступ без кода и с минимальным кодом к оптимизированным по производительности моделям с открытым исходным кодом.
Например, одна из основных моделей с открытым исходным кодом Mantium — это ГПТ-J, современная модель обработки естественного языка (NLP), разработанная ЭлеутерАИ. GPT-J с 6 миллиардами параметров является одной из крупнейших и наиболее эффективных моделей генерации текста с открытым исходным кодом. Пользователи Mantium могут интегрировать GPT-J в свои приложения ИИ через Mantium AI Builder. В случае GPT-J это включает указание подсказка (представление на естественном языке того, что должна делать модель) и настройка некоторых дополнительных параметров.
Например, на следующем снимке экрана показана сокращенная демонстрация подсказки анализа тональности, которая выдает объяснения и прогнозы тональности. В этом примере автор написал, что «еда была замечательной» и что их «обслуживание было экстраординарным». Таким образом, этот текст выражает положительные эмоции.
Однако одна проблема с моделями с открытым исходным кодом заключается в том, что они редко разрабатываются для производительности производственного уровня. В случае больших моделей, таких как GPT-J, это может сделать производственное развертывание непрактичным и даже неосуществимым, в зависимости от варианта использования.
Чтобы наши пользователи имели доступ к лучшей в своем классе производительности, мы всегда ищем способы уменьшить задержку наших базовых моделей. В этом посте мы описываем результаты эксперимента по оптимизации вывода, в котором мы используем механизм вывода DeepSpeed для увеличения скорости вывода GPT-J примерно на 116%. Мы также описываем, как мы развернули реализацию GPT-J Hugging Face Transformers с DeepSpeed в нашем Создатель мудреца Амазонки конечные точки вывода.
Обзор модели GPT-J
GPT-J — это языковая модель с генеративной предварительной подготовкой (GPT), и с точки зрения ее архитектуры она сравнима с популярными, частными, большими языковыми моделями, такими как GPT-3 Open AI. Как отмечалось ранее, он состоит примерно из 6 миллиардов параметров и 28 слоев, состоящих из блока прямой связи и блока внутреннего внимания. Когда он был впервые выпущен, GPT-J был одной из первых больших языковых моделей, использовавших поворотные закладные, новая стратегия кодирования положения, объединяющая абсолютные и относительные кодировщики положения. Он также использует инновационную стратегию распараллеливания, при которой плотные слои и уровни с прямой связью объединяются в один слой, что сводит к минимуму коммуникационные издержки.
Хотя по сегодняшним меркам GPT-J может не считаться большим — большие модели обычно состоят из более чем 100 миллиардов параметров, — он по-прежнему впечатляюще производительен, и после некоторой быстрой разработки или минимальной тонкой настройки вы можете использовать его для решения многих проблем. Кроме того, его относительно скромный размер означает, что вы можете развернуть его быстрее и с гораздо меньшими затратами, чем более крупные модели.
Тем не менее, GPT-J все еще довольно большой. Например, для обучения GPT-J в FP32 с обновлениями полного веса и оптимизатором Адама требуется более 200 ГБ памяти: 24 ГБ для параметров модели, 24 ГБ для градиентов, 24 ГБ для квадратов градиентов Адама, 24 ГБ для состояний оптимизатора. и дополнительные требования к памяти для загрузки обучающих пакетов и хранения активаций. Конечно, обучение в FP16 снижает эти требования к памяти почти вдвое, но объем памяти, превышающий 100 ГБ, по-прежнему требует инновационных стратегий обучения. Например, в сотрудничестве с SageMaker команда НЛП Mantium разработала рабочий для обучения (тонкой настройки) GPT-J с использованием параллельной библиотеки распределенных моделей SageMaker.
Напротив, использование GPT-J для вывода требует гораздо меньших требований к памяти — в FP16 веса моделей занимают менее 13 ГБ, а это означает, что вывод можно легко провести на одном графическом процессоре объемом 16 ГБ. Однако вывод с готовыми реализациями GPT-J, такими как Hugging Face Transformers реализация который мы используем, является относительно медленным. Для поддержки вариантов использования, требующих высокочувствительного создания текста, мы сосредоточились на уменьшении задержки логического вывода GPT-J.
Проблемы с задержкой ответа GPT-J
Задержка ответа является основным препятствием для генеративных предварительно обученных преобразователей (GPT), таких как GPT-J, которые обеспечивают современную генерацию текста. Модели GPT генерируют текст посредством последовательностей шагов логического вывода. На каждом шаге вывода модель получает текст в качестве входных данных, и в зависимости от этих входных данных она выбирает слово из своего словаря для добавления к тексту. Например, учитывая последовательность токенов «Мне нужен зонт, потому что это так», следующим токеном с высокой вероятностью может быть «дождь». Тем не менее, это также может быть «солнечно» или «привязано», что может быть первым шагом к текстовой последовательности, например «Мне нужен зонт, потому что скоро начнется дождь».
Сценарии, подобные этому, создают некоторые интересные проблемы для развертывания моделей GPT, поскольку в реальных сценариях использования могут потребоваться десятки, сотни или даже тысячи шагов вывода. Например, для создания ответа с 1,000 токенов требуется 1,000 шагов логического вывода! Соответственно, хотя модель может предлагать скорости вывода, которые кажутся достаточно высокими в отдельности, задержка может легко достичь неприемлемого уровня при генерации длинных текстов. Мы наблюдали среднюю задержку 280 миллисекунд на шаг вывода на графическом процессоре V100. Это может показаться быстрым для модели с 6.7 миллиардами параметров, но с такими задержками для генерации ответа с 30 маркерами требуется примерно 500 секунд, что не идеально с точки зрения взаимодействия с пользователем.
Оптимизация скорости логического вывода с помощью DeepSpeed Inference
Глубокая скорость — это библиотека оптимизации глубокого обучения с открытым исходным кодом, разработанная Microsoft. Хотя в первую очередь DeepSpeed ориентирован на оптимизацию обучения больших моделей, он также предоставляет платформу оптимизации логических выводов, которая поддерживает выбранный набор моделей, включая BERT, Megatron, GPT-Neo, GPT2 и GPT-J. DeepSpeed Inference обеспечивает высокопроизводительный логический вывод с большими архитектурами на основе Transformer за счет сочетания параллелизма моделей, оптимизированных для логического вывода ядер CUDA и квантования.
Чтобы повысить скорость вывода с помощью GPT-J, мы используем механизм вывода DeepSpeed для внедрения оптимизированных ядер CUDA в реализацию GPT-J Hugging Face Transformers.
Чтобы оценить преимущества скорости механизма логического вывода DeepSpeed, мы провели серию тестов задержки, в которых замеряли время GPT-J в различных конфигурациях. В частности, мы варьировали использование DeepSpeed, аппаратное обеспечение, длину выходной последовательности и длину входной последовательности. Мы сосредоточились на длине как выходной, так и входной последовательности, потому что они оба влияют на скорость логического вывода. Чтобы сгенерировать выходную последовательность из 50 токенов, модель должна выполнить 50 шагов вывода. Кроме того, время, необходимое для выполнения шага логического вывода, зависит от размера входной последовательности — большие входные данные требуют больше времени на обработку. Хотя влияние размера выходной последовательности намного больше, чем влияние размера входной последовательности, все же необходимо учитывать оба фактора.
В нашем эксперименте мы использовали следующую конструкцию:
- Механизм логического вывода DeepSpeed - Вкл выкл
- Аппаратные средства – T4 (мл.g4dn.2xlarge), V100 (мл.p3.2xlarge)
- Длина входной последовательности - 50, 200, 500, 1000
- Длина выходной последовательности - 50, 100, 150, 200
Всего в этом дизайне 64 комбинации этих четырех факторов, и для каждой комбинации мы провели 20 тестов задержки. Каждый тест выполнялся на предварительно инициализированной конечной точке вывода SageMaker, что гарантирует, что наши тесты задержки отражают время производства, включая обмен API и предварительную обработку.
Наши тесты показывают, что механизм вывода DeepSpeed GPT-J значительно быстрее, чем базовая реализация PyTorch Hugging Face Transformers. На следующем рисунке показаны средние задержки генерации текста для GPT-J с ускорением DeepSpeed и без него на конечных точках выведения SageMaker ml.g4dn.2xlarge и ml.p3.2xlarge.
На экземпляре ml.g4dn.2xlarge, оснащенном графическим процессором NVIDIA T16 4 ГБ, мы наблюдали среднее снижение задержки примерно на 24 % [стандартное отклонение (SD) = 0.05]. Это соответствовало увеличению со среднего значения 12.5 (SD = 0.91) токена в секунду до среднего значения 16.5 (SD = 2.13) токена в секунду. Примечательно, что эффект ускорения DeepSpeed был еще сильнее на инстансе ml.p3.2xlarge, оснащенном графическим процессором NVIDIA V100. На этом оборудовании мы наблюдали среднее снижение задержки на 53% (SD = 07). С точки зрения токенов в секунду это соответствует увеличению со среднего значения 21.9 (SD = 1.97) токена в секунду до среднего значения 47.5 (SD = 5.8) токена в секунду.
Мы также заметили, что ускорение, предлагаемое DeepSpeed, немного ослабевает на обеих аппаратных конфигурациях по мере увеличения размера входных последовательностей. Однако во всех условиях вывод с оптимизацией DeepSpeed GPT-J был значительно быстрее, чем базовый уровень. Например, на экземпляре g4dn максимальное и минимальное сокращение задержки составило 31 % (размер входной последовательности = 50) и 15 % (размер входной последовательности = 1000) соответственно. А на экземпляре p3 максимальное и минимальное сокращение задержки составило 62 % (размер входной последовательности = 50) и 40 % (размер входной последовательности = 1000) соответственно.
Развертывание GPT-J с DeepSpeed на конечной точке вывода SageMaker
Помимо значительного увеличения скорости генерации текста для GPT-J, механизм логического вывода DeepSpeed легко интегрируется в конечную точку логического вывода SageMaker. До добавления DeepSpeed в наш стек логических выводов наши конечные точки работали на пользовательском образе Docker, основанном на официальном образе PyTorch. SageMaker позволяет очень легко развертывать настраиваемые конечные точки логического вывода, а для интеграции DeepSpeed достаточно просто включить зависимость и написать несколько строк кода. Руководство с открытым исходным кодом по рабочему процессу развертывания GPT-J с DeepSpeed доступно на GitHub.
Заключение
Mantium стремится к передовым инновациям, чтобы каждый мог быстро строить с помощью ИИ. От автоматизации процессов на основе ИИ до строгих настроек безопасности и соответствия нормативным требованиям — наша комплексная платформа предоставляет все инструменты, необходимые для разработки и управления надежными, ответственными приложениями ИИ в любом масштабе, а также снижает барьер для входа. SageMaker помогает таким компаниям, как Mantium, быстро выходить на рынок.
Чтобы узнать, как Mantium может помочь вам создать сложные рабочие процессы на основе ИИ для вашей организации, посетите www.mantiumai.com.
Об авторах
Джо Гувер является старшим научным сотрудником в группе исследований и разработок искусственного интеллекта Mantium. Он увлечен разработкой моделей, методов и инфраструктуры, которые помогают людям решать реальные проблемы с помощью передовых систем НЛП. В свободное время он любит ходить в походы, заниматься садоводством, готовить и проводить время со своей семьей.
Дхавал Патель является главным архитектором машинного обучения в AWS. Он работал с организациями, начиная от крупных предприятий и заканчивая стартапами среднего размера, над проблемами, связанными с распределенными вычислениями и искусственным интеллектом. Он специализируется на глубоком обучении, включая домены NLP и Computer Vision. Он помогает клиентам добиться высокопроизводительного логического вывода модели в SageMaker.
Сунил Падманабхан является архитектором решений для стартапов в AWS. Как бывший основатель стартапа и технический директор, он увлечен машинным обучением и фокусируется на том, чтобы помочь стартапам использовать AI/ML для достижения результатов в бизнесе, а также разрабатывать и развертывать решения ML/AI в масштабе.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- О нас
- Absolute
- доступ
- соответственно
- Учетная запись
- Достигать
- через
- дополнение
- дополнительный
- влиять на
- AI
- Все
- Несмотря на то, что
- всегда
- Amazon
- анализ
- кто угодно
- API
- API
- приложение
- Приложения
- прикладной
- подхода
- примерно
- Программы
- архитектура
- искусственный
- искусственный интеллект
- Автоматический
- автоматизация
- доступен
- в среднем
- AWS
- барьер
- Базовая линия
- , так как:
- до
- Преимущества
- миллиард
- Заблокировать
- строить
- строитель
- Строительство
- бизнес
- бизнес
- случаев
- вызов
- проблемы
- облако
- Облачная платформа
- код
- сотрудничество
- сочетание
- комбинации
- сочетании
- Связь
- Компании
- полный
- комплекс
- Соответствие закону
- комплексный
- компьютер
- вычисление
- Условия
- Основные
- может
- CTO
- изготовленный на заказ
- Клиенты
- передовой
- преданный
- глубоко
- обеспечивает
- демонстрировать
- в зависимости
- зависит
- развертывание
- развернуть
- развертывание
- развертывание
- описывать
- Проект
- предназначенный
- развивать
- развитый
- развивающийся
- Развитие
- распределенный
- распределенных вычислений
- Docker
- доменов
- драматично
- легко
- эффект
- работает
- позволяет
- впритык
- Конечная точка
- Двигатель
- Проект и
- Инженеры
- обеспечение
- предприятий
- оборудованный
- оценивать
- все члены
- пример
- Биржи
- опыт
- эксперимент
- обширный
- необычайный
- Face
- факторы
- семья
- БЫСТРО
- быстрее
- Особенность
- Особенности
- фигура
- Во-первых,
- внимание
- фокусируется
- после
- след
- основатель
- Рамки
- от
- полный
- Более того
- порождать
- порождающий
- поколение
- генеративный
- Глобальный
- управление
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- Рост
- инструкция
- Аппаратные средства
- помощь
- помощь
- помогает
- здесь
- High
- очень
- Как
- Однако
- HTTPS
- Сотни
- идеальный
- изображение
- реализация
- В том числе
- Увеличение
- повышение
- Инновации
- инновационный
- вход
- пример
- интегрировать
- интеграций
- Интеллекта
- изоляция
- IT
- язык
- большой
- больше
- крупнейших
- слой
- ведущий
- УЧИТЬСЯ
- изучение
- уровень
- уровни
- Кредитное плечо
- Библиотека
- линий
- погрузка
- Длинное
- искать
- машина
- обучение с помощью машины
- сделать
- ДЕЛАЕТ
- управлять
- управления
- рынок
- означает
- Память
- методы
- Microsoft
- может быть
- минимальный
- ML
- модель
- Модели
- Мониторинг
- месяцев
- БОЛЕЕ
- натуральный
- необходимо
- Nvidia
- препятствие
- предлагают
- предложенный
- Официальный представитель в Грузии
- открытый
- с открытым исходным кодом
- Операционный отдел
- оптимизация
- оптимизированный
- оптимизирующий
- организация
- организации
- собственный
- страстный
- Люди
- производительность
- перспектива
- Платформа
- сборах
- политика
- Популярное
- должность
- положительный
- возможное
- мощностью
- Predictions
- довольно
- Основной
- частная
- проблемам
- процесс
- Автоматизация процессов
- Процессы
- обработка
- Производство
- Недвижимости
- поставщики
- приводит
- обеспечение
- квалифицировать
- быстро
- R & D
- повышение
- ранжирование
- достигать
- снижение
- отражать
- выпустил
- публикации
- представление
- требовать
- обязательный
- Требования
- требуется
- ответ
- ответственный
- Итоги
- Run
- Бег
- Сохранность
- Сказал
- Шкала
- Ученый
- секунды
- выбор
- настроение
- Серии
- выступающей
- набор
- просто
- одинарной
- Размер
- So
- Software
- Решения
- РЕШАТЬ
- некоторые
- сложный
- конкретно
- скорость
- скорость
- Расходы
- стек
- стандарт
- Начало
- ввод в эксплуатацию
- Стартапы
- современное состояние
- Области
- По-прежнему
- стратегий
- Стратегия
- сильнее
- поддержка
- Поддержка
- системы
- команда
- Технический
- terms
- тестXNUMX
- тестов
- Ассоциация
- следовательно
- тысячи
- Через
- время
- раз
- Сегодняшних
- вместе
- знак
- Лексемы
- инструменты
- Традиционно
- Обучение
- типично
- ui
- под
- Updates
- использование
- пользователей
- различный
- видение
- способы
- Web
- Что
- Колесо
- будь то
- без
- работавший
- Рабочие процессы
- письмо
- ВАШЕ