Это гостевой пост, написанный совместно с Майклом Фейлом из Gradient.
Оценка производительности больших языковых моделей (LLM) — важный этап процесса предварительного обучения и тонкой настройки перед развертыванием. Чем быстрее и чаще вы сможете проверять производительность, тем выше вероятность, что вы сможете улучшить производительность модели.
At Градиент, мы работаем над индивидуальной разработкой LLM и совсем недавно запустили нашу Лаборатория разработки искусственного интеллекта, предлагая корпоративным организациям персонализированные комплексные услуги по разработке для создания частных индивидуальных LLM и вторых пилотов искусственного интеллекта (ИИ). В рамках этого процесса мы регулярно оцениваем производительность наших моделей (настроенных, обученных и открытых) по открытым и проприетарным тестам. Работая с командой AWS над обучением наших моделей AWS Трениум, мы поняли, что мы ограничены как видеопамятью, так и доступностью экземпляров графического процессора, когда дело дошло до основного инструмента для оценки LLM, lm-оценка-жгут. Эта платформа с открытым исходным кодом позволяет оценивать различные модели генеративного языка для различных задач оценки и тестов. Он используется в таблицах лидеров, таких как Обнимая лицо для публичного сравнительного анализа.
Чтобы преодолеть эти проблемы, мы решили создать и открыть исходный код нашего решения, интегрируя АВС Нейрон, библиотека позади Вывод AWS и Трейниум, в lm-evaluation-harness
. Эта интеграция позволила оценить v-alpha-tross, ранняя версия нашей модели Альбатроса., по сравнению с другими публичными моделями во время процесса обучения и после него.
В контексте, эта интеграция выполняется как новый класс модели в lm-evaluation-harness, абстрагируя вывод токенов и логарифмическую оценку последовательностей, не затрагивая фактическую задачу оценки. Решение о переносе нашего внутреннего конвейера тестирования на Эластичное вычислительное облако Amazon (Амазон EC2) Инстансы Inf2 (на базе AWS Inferentia2) позволил нам получить доступ к общей памяти ускорителя объемом до 384 ГБ, что позволяет без труда соответствовать всем нашим текущим общедоступным архитектурам. Используя спотовые инстансы AWS, мы смогли воспользоваться неиспользуемыми мощностями EC2 в облаке AWS, что позволило сэкономить до 90 % средств со скидкой по сравнению с ценами по требованию. Это свело к минимуму время, необходимое для тестирования, и позволило нам проводить тестирование чаще, поскольку мы могли тестировать несколько экземпляров, которые были легко доступны, и выпускать экземпляры по завершении.
В этом посте мы даем подробное описание наших тестов, проблем, с которыми мы столкнулись, а также пример использования средств тестирования на AWS Inferentia.
Бенчмаркинг на AWS Inferentia2
Целью этого проекта было получение идентичных оценок, как показано на рисунке. Открыть таблицу лидеров LLM (для многих моделей CausalLM, доступных на Hugging Face), сохраняя при этом гибкость для сравнения с частными тестами. Дополнительные примеры доступных моделей см. AWS Inferentia и Trainium на обнимающемся лице.
Изменения кода, необходимые для переноса модели из трансформеров Hugging Face в Hugging Face. Оптимальный нейрон Библиотека Python была довольно низкой. Поскольку lm-evaluation-harness использует AutoModelForCausalLM
, происходит падение замены при использовании NeuronModelForCausalLM
. Без предварительно скомпилированной модели она автоматически компилируется в данный момент, что может добавить к работе 15–60 минут. Это дало нам возможность развертывать тестирование для любого экземпляра AWS Inferentia2 и поддерживать модель CausalLM.
Итоги
Из-за особенностей работы тестов и моделей мы не ожидали, что результаты будут точно совпадать в разных запусках. Однако они должны быть очень близки по стандартному отклонению, и мы постоянно это наблюдаем, как показано в следующей таблице. Все первоначальные тесты, которые мы проводили на AWS Inferentia2, были подтверждены таблицей лидеров Hugging Face.
In lm-evaluation-harness
, в разных тестах используются два основных потока: generate_until
и loglikelihood
. Тест gsm8k в основном использует generate_until
для генерации ответов так же, как во время вывода. Loglikelihood
в основном используется при сравнительном анализе и тестировании и исследует вероятность получения различных результатов. Оба работают в Neuron, но loglikelihood
Метод в SDK 2.16 использует дополнительные шаги для определения вероятностей и может занять дополнительное время.
Lm-оценка-обвязка Результаты | ||
Конфигурация оборудования | Оригинальная система | AWS Inferentia inf2.48xlarge |
Время с пакетным размером = 1 для оценки mistralai/Mistral-7B-Instruct-v0.1 на gsm8k | 103 минут | 32 минут |
Оценка на gsm8k (получение-ответ — точное_совпадение со стандартом) | 0.3813 – 0.3874 (± 0.0134) | 0.3806 – 0.3844 (± 0.0134) |
Начало работы с Neuron и lm-evaluation-harness
Код в этом разделе может помочь вам использовать lm-evaluation-harness
и протестируйте его на поддерживаемых моделях на Hugging Face. Чтобы просмотреть некоторые доступные модели, посетите AWS Inferentia и Trainium на обнимающемся лице.
Если вы знакомы с запуском моделей на AWS Inferentia2, вы можете заметить, что здесь нет num_cores
передана настройка. Наш код определяет, сколько ядер доступно, и автоматически передает это число в качестве параметра. Это позволяет запускать тест с использованием одного и того же кода независимо от размера используемого экземпляра. Вы также можете заметить, что мы ссылаемся на исходную модель, а не на скомпилированную версию Neuron. При необходимости программа автоматически компилирует модель.
Следующие шаги покажут вам, как развернуть градиент. gradientai/v-alpha-tross
модель, которую мы тестировали. Если вы хотите протестировать меньший пример на меньшем экземпляре, вы можете использовать команду mistralai/Mistral-7B-v0.1
модели.
- Квота по умолчанию для запуска экземпляров Inf по требованию равна 0, поэтому вам следует запросить увеличение с помощью квот обслуживания. Добавьте еще один запрос для всех запросов спотовых инстансов Inf, чтобы можно было протестировать их с помощью спотовых инстансов. Для этого примера вам потребуется квота в 192 виртуальных ЦП с использованием экземпляра inf2.48xlarge или квота в 4 виртуальных ЦП для базового экземпляра inf2.xlarge (если вы развертываете модель Mistral). Квоты зависят от региона AWS, поэтому обязательно отправляйте запрос в
us-east-1
orus-west-2
. - Определитесь с экземпляром, исходя из вашей модели. Потому что
v-alpha-tross
Это архитектура 70B, мы решили использовать экземпляр inf2.48xlarge. Разверните файл inf2.xlarge (для модели 7B Mistral). Если вы тестируете другую модель, вам может потребоваться настроить экземпляр в зависимости от размера вашей модели. - Разверните экземпляр с помощью Обнимающее лицо DLAMI версия 20240123, чтобы были установлены все необходимые драйверы. (Указанная цена включает стоимость экземпляра и не требует дополнительной платы за программное обеспечение.)
- Настройте размер диска на 600 ГБ (100 ГБ для Mistral 7B).
- Клонировать и установить
lm-evaluation-harness
на экземпляре. Мы указываем сборку, чтобы знать, что любые отклонения связаны с изменениями модели, а не с изменениями тестов или кода.
- Run
lm_eval
с типом модели hf-neuron и убедитесь, что у вас есть ссылка на обратный путь к модели на Hugging Face:
Если вы запустите предыдущий пример с помощью Mistral, вы должны получить следующий результат (на меньшем файле inf2.xlarge запуск может занять 250 минут):
Убирать
Когда вы закончите, обязательно остановите экземпляры EC2 через консоль Amazon EC2.
Заключение
Команды Gradient и Neuron рады видеть более широкое внедрение оценки LLM в этом выпуске. Попробуйте сами и запустите самую популярную среду оценки на экземплярах AWS Inferentia2. Теперь вы можете воспользоваться доступностью AWS Inferentia2 по требованию при использовании индивидуальная разработка LLM от Gradient. Начните размещать модели на AWS Inferentia с помощью этих учебные пособия.
Об авторах
Майкл Фейл — инженер по искусственному интеллекту в Gradient, ранее работал инженером по машинному обучению в Rodhe & Schwarz и исследователем в Институте интеллектуальных систем Макса-Планка и Bosch Rexroth. Майкл является ведущим автором различных библиотек вывода с открытым исходным кодом для студентов LLM и проектов с открытым исходным кодом, таких как StarCoder. Майкл получил степень бакалавра в области мехатроники и информационных технологий в KIT и степень магистра в области робототехники в Техническом университете Мюнхена.
Джим Бертофт является старшим архитектором решений для стартапов в AWS и напрямую работает с такими стартапами, как Gradient. Джим — CISSP, член технического сообщества AWS AI/ML, представитель Neuron и работает с сообществом разработчиков ПО с открытым исходным кодом, чтобы обеспечить возможность использования Inferentia и Trainium. Джим получил степень бакалавра математики в Университете Карнеги-Меллона и степень магистра экономики в Университете Вирджинии.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/gradient-makes-llm-benchmarking-cost-effective-and-effortless-with-aws-inferentia/
- :является
- :нет
- $UP
- 1
- 10
- 100
- 16
- 250
- 32
- 600
- 7
- a
- в состоянии
- ускоритель
- доступ
- через
- фактического соединения
- Добавить
- дополнительный
- регулировать
- Принятие
- плюс
- затрагивающий
- После
- против
- AI
- AI / ML
- Все
- разрешено
- причислены
- Amazon
- Amazon EC2
- Amazon Web Services
- посол
- an
- и
- Другой
- любой
- архитектура
- архитектуры
- МЫ
- искусственный
- искусственный интеллект
- Искусственный интеллект (AI)
- AS
- At
- автоматически
- свободных мест
- доступен
- AWS
- Вывод AWS
- назад
- основанный
- основной
- BE
- , так как:
- до
- за
- не являетесь
- эталонный тест
- бенчмаркинг
- тесты
- польза
- изоферменты печени
- Филиал
- Breakdown
- шире
- строить
- но
- by
- пришел
- CAN
- Пропускная способность
- Карнеги Меллон
- CD
- проблемы
- шансы
- изменения
- заряд
- Оформить заказ
- класс
- Закрыть
- код
- сообщество
- скомпилированный
- Вычисление
- ПОДТВЕРЖДЕНО
- последовательно
- Консоли
- контекст
- участник
- Цена
- экономия на издержках
- рентабельным
- может
- Текущий
- изготовленный на заказ
- решенный
- решение
- По умолчанию
- Степень
- в зависимости
- развертывание
- развертывание
- развертывание
- подробный
- Определять
- Развитие
- отклонение
- различный
- непосредственно
- со скидкой
- сделанный
- управлять
- драйверы
- Падение
- два
- в течение
- e
- Рано
- Экономика
- легкий
- легко
- включить
- включен
- впритык
- инженер
- Предприятие
- оценивать
- оценка
- точный
- точно,
- Исследует
- пример
- Примеры
- возбужденный
- существующий
- ожидать
- дополнительно
- Face
- знакомый
- быстрее
- поле
- фильтр
- примерка
- Трансформируемость
- после
- Что касается
- Рамки
- частое
- часто
- от
- дал
- порождать
- генеративный
- получить
- идти
- Дайте
- цель
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- GUEST
- Guest Post
- упряжь
- Есть
- помощь
- высший
- имеет
- хостинг
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- идентичный
- if
- важную
- улучшать
- in
- включает в себя
- Увеличение
- начальный
- устанавливать
- установка
- установлен
- пример
- Институт
- интеграции.
- Интеллекта
- Умный
- в нашей внутренней среде,
- в
- IT
- Джим
- работа
- JPG
- всего
- Знать
- язык
- большой
- запустили
- лидеров
- лидеров
- ведущий
- Lets
- библиотеки
- Библиотека
- такое как
- ОГРАНИЧЕНИЯ
- LINK
- LLM
- Низкий
- сделанный
- Главная
- в основном
- Mainstream
- сделать
- ДЕЛАЕТ
- многих
- магистра
- Совпадение
- математика
- Май..
- Mellon
- Память
- метод
- метрический
- Майкл
- может быть
- Минут
- ML
- модель
- Модели
- момент
- БОЛЕЕ
- самых
- Самые популярные
- двигаться
- с разными
- необходимо
- Необходимость
- необходимый
- Новые
- нет
- Ничто
- Уведомление..
- сейчас
- номер
- of
- предлагающий
- on
- On-Demand
- на
- открытый
- с открытым исходным кодом
- or
- организации
- оригинал
- Другое
- наши
- внешний
- выходной
- выходы
- за
- Преодолеть
- параметр
- часть
- Прошло
- проходит
- путь
- производительность
- Персонализированные
- выбирать
- трубопровод
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Популярное
- возможное
- После
- Питание
- предшествующий
- предварительно
- цена
- Цены
- в первую очередь
- частная
- вероятности
- процесс
- Произведенный
- Проект
- проектов
- ( изучите наши патенты),
- что такое варган?
- Питон
- вполне
- легко
- реализованный
- Получать
- недавно
- привязка
- Несмотря на
- область
- регулярно
- освободить
- замена
- хранилище
- запросить
- Запросы
- обязательный
- исследователь
- ответы
- ограниченный
- Итоги
- удерживающий
- робототехника
- Run
- Бег
- работает
- то же
- экономия
- Шварц
- Гол
- множество
- SDK
- Раздел
- посмотреть
- видел
- старший
- обслуживание
- Услуги
- установка
- общие
- должен
- показывать
- показанный
- Размер
- меньше
- So
- Software
- Решения
- некоторые
- Источник
- конкретный
- Спотовая торговля
- стандарт
- и политические лидеры
- ввод в эксплуатацию
- Стартапы
- Шаг
- Шаги
- Stop
- потоки
- такие
- Поддержанный
- Убедитесь
- системы
- ТАБЛИЦЫ
- взять
- Сложность задачи
- задачи
- команда
- команды
- Технический
- тестXNUMX
- проверенный
- Тестирование
- тестов
- который
- Ассоциация
- Там.
- Эти
- они
- этой
- время
- в
- Лексемы
- приняли
- инструментом
- факел
- Train
- специалистов
- Обучение
- трансформеры
- стараться
- настроены
- два
- напишите
- Университет
- неиспользованный
- us
- использование
- используемый
- использования
- через
- VALIDATE
- различный
- версия
- очень
- с помощью
- Виргиния
- Войти
- хотеть
- законопроект
- Путь..
- we
- Web
- веб-сервисы
- были
- Что
- когда
- который
- в то время как
- будете
- в
- без
- Работа
- работавший
- работает
- работает
- Ты
- ВАШЕ
- себя
- зефирнет