Перейти к содержанию
Публикация AiManual

Ускорение обучения BridgeTower на Habana Gaudi2: в 1.4 раза быстрее H100 и в 2.5 раза быстрее A100

Дообучение BridgeTower на Habana Gaudi2 достигает 847.7 samples/s — в 1.4 раза быстрее H100 и в 2.5 раза быстрее A100 80GB. Разбираем media pipeline, два аргуме

Коротко

Что будет в материале

  1. 01

    Введение: проблема медленного обучения мультимодальных моделей

  2. 02

    Методология эксперимента: BridgeTower, датасет и конфигурация

  3. 03

    Результаты: Gaudi2 против H100 и A100

  4. 04

    Оптимизация загрузки данных: от простого к сложному

Дообучение vision-language модели BridgeTower на датасете New Yorker Caption Contest достигает пропускной способности 847.7 samples/s на ускорителе Habana Gaudi2. Это в 1.4 раза быстрее, чем на Nvidia H100, и в 2.5 раза быстрее, чем на A100 80GB. Прирост обеспечивают два изменения в командной строке: увеличение dataloader_num_workers и включение аппаратного media pipeline на Gaudi2.

Для ML-инженеров, работающих с мультимодальными моделями, это прямой сигнал: узкое место часто находится не в вычислениях, а в загрузке данных. Gaudi2 решает эту проблему на аппаратном уровне. Разберём методику эксперимента, цифры и способ воспроизведения.

Введение: проблема медленного обучения мультимодальных моделей

Vision-language модели обрабатывают пары «изображение + текст». На каждом шаге обучения даталоадер должен прочитать JPEG, декодировать его, привести к нужному разрешению, нормализовать пиксели и собрать батч. Эти операции выполняются на CPU. Когда CPU не успевает, ускоритель простаивает в ожидании данных.

На GPU семейства Nvidia декодирование и аугментация изображений почти всегда ложатся на центральный процессор. При больших батчах и тяжёлых трансформациях CPU становится бутылочным горлышком. Утилизация GPU падает, время обучения растёт, деньги расходуются впустую.

Habana Gaudi2 имеет специализированные аппаратные блоки media pipeline. Они выполняют декодирование JPEG, изменение размера, нормализацию и аугментацию прямо на ускорителе, минуя CPU. Это снимает ограничение загрузки данных и позволяет Gaudi2 работать с высокой утилизацией даже на мультимодальных пайплайнах.

Если вы уже работали с инференсом на Gaudi2, вам будет знакома архитектура HPU и подход Optimum Habana. Подробный разбор инференса BLOOMZ на Gaudi2 против A100 есть в отдельном бенчмарке, где Gaudi2 показал ускорение до 2.89 раза на модели 7B.

Методология эксперимента: BridgeTower, датасет и конфигурация

Тест воспроизводит официальный пример дообучения из репозитория Optimum Habana. Изменения минимальны: два аргумента командной строки. Это позволяет сравнить производительность на Gaudi2, H100 и A100 80GB в одинаковых условиях.

Модель BridgeTower: архитектура и особенности

BridgeTower объединяет vision transformer и text transformer через кросс-модальные слои. Модель содержит 866 миллионов параметров. Она предназначена для задач типа visual question answering, image captioning и генерации подписей к изображениям.

В эксперименте модель дообучается на задаче генерации подписи к карикатуре. Входные данные: изображение и короткий текст. Выход: текстовая подпись. Это типичный сценарий для vision-language моделей среднего размера.

Датасет New Yorker Caption Contest

Датасет содержит карикатуры из конкурса подписей журнала New Yorker. Задача модели - сгенерировать остроумную подпись к изображению. Формат данных: файл изображения в JPEG и текстовая метка. Объём датасета достаточен для дообучения, но не настолько велик, чтобы тест занимал дни.

ПО для эксперимента: Habana SynapseAI SDK, Optimum Habana, PyTorch. Код основан на официальном примере Hugging Face для BridgeTower, адаптированном под HPU.

Результаты: Gaudi2 против H100 и A100

Пропускная способность измеряется в samples/s - количество обработанных примеров в секунду. Это прямая метрика скорости обучения: чем выше samples/s, тем быстрее модель проходит эпоху.

УскорительПропускная способность, samples/sОтносительное ускорение
Habana Gaudi2847.71.0x (базовый)
Nvidia H100605.50.71x от Gaudi2
Nvidia A100 80GB339.10.40x от Gaudi2

Gaudi2 обгоняет H100 в 1.4 раза и A100 80GB в 2.5 раза. Разрыв с A100 особенно заметен: два с половиной раза - это разница между неделей и двумя с половиной неделями обучения.

Почему Gaudi2 быстрее: роль media pipeline

На H100 и A100 декодирование JPEG и аугментация выполняются на CPU. При достаточно высокой скорости вычислений CPU не успевает подавать данные, и GPU простаивает. Увеличение числа воркеров даталоадера помогает до определённого предела, но упирается в количество ядер CPU и накладные расходы на межпроцессное взаимодействие.

Gaudi2 переносит эти операции на аппаратные блоки media pipeline. Декодирование, ресайз, нормализация и аугментация происходят на самом ускорителе. CPU освобождается, очередь данных не пустеет, HPU работает непрерывно. Это архитектурное преимущество, которое нельзя скомпенсировать только софтверными трюками на GPU.

Оптимизация загрузки данных: от простого к сложному

Путь к максимальной пропускной способности состоит из двух шагов. Первый доступен на любом ускорителе. Второй - только на Gaudi2.

Увеличение dataloader_num_workers

Параметр dataloader_num_workers в PyTorch задаёт число процессов, которые параллельно загружают и подготавливают данные. По умолчанию значение равно 0, и загрузка выполняется в основном процессе. Это замедляет обучение.

Увеличение до 8 или 16 воркеров позволяет CPU параллельно декодировать несколько изображений. Пропускная способность растёт. Однако у метода есть предел: воркеры конкурируют за ядра CPU, а накладные расходы на создание процессов и передачу данных растут. На GPU этот предел наступает быстро.

Аппаратное декодирование и аугментация через media pipeline в Gaudi2

Gaudi2 включает аппаратные блоки для обработки изображений. В Optimum Habana они активируются аргументом --use_habana_media_pipeline. После включения декодирование JPEG, изменение размера, нормализация и аугментация выполняются на HPU.

CPU больше не участвует в подготовке изображений. Это устраняет узкое место полностью. Комбинация media pipeline с умеренным числом воркеров даталоадера даёт максимальную пропускную способность 847.7 samples/s.

Как воспроизвести эксперимент: пошаговая инструкция

Для воспроизведения нужен сервер с Habana Gaudi2, установленный Habana SynapseAI SDK, Optimum Habana и PyTorch. Подойдут инстансы AWS DL1. Код примера доступен в репозитории Optimum Habana.

Необходимое оборудование и ПО

Минимальные требования: один ускоритель Gaudi2, CPU с достаточным числом ядер для даталоадера, Habana SynapseAI SDK последней стабильной версии, Optimum Habana, PyTorch с поддержкой HPU. Версии библиотек должны соответствовать матрице совместимости Habana.

Запуск обучения с оптимизациями

Команда запуска выглядит так:

python run_bridgetower.py \
  --dataloader_num_workers 8 \
  --use_habana_media_pipeline

Два аргумента включают обе оптимизации. Первый увеличивает число процессов загрузки данных. Второй переносит обработку изображений на аппаратные блоки Gaudi2. Всё остальное - стандартный скрипт дообучения BridgeTower из Optimum Habana.

Если вы работаете с инференсом на CPU, обратите внимание на практический тест ускорения трансформеров на Intel Sapphire Rapids. Там разбираются похожие принципы оптимизации для другой аппаратной платформы.

Ограничения и применимость результатов

Тестирование проводилось на одной модели BridgeTower и одном датасете New Yorker Caption Contest. Для других архитектур и данных цифры могут отличаться. Модели с другим соотношением вычислительной нагрузки и объёма данных могут показать меньший выигрыш от media pipeline.

Не все операции предобработки переносятся на аппаратные блоки Gaudi2. Специфические аугментации, написанные на Python, останутся на CPU. В таких случаях прирост будет ниже. Перед внедрением Gaudi2 в продакшн стоит прогнать бенчмарк на своём пайплайне.

Сравнение с H100 и A100 проводилось в одинаковых условиях, но на разных аппаратных платформах. Разница в экосистемах и версиях библиотек может влиять на воспроизводимость. Тем не менее, двукратный отрыв от A100 слишком велик, чтобы списать его на погрешность.

Заключение: Gaudi2 как перспективный ускоритель для мультимодального обучения

Gaudi2 показал 847.7 samples/s при дообучении BridgeTower. Это в 1.4 раза быстрее H100 и в 2.5 раза быстрее A100 80GB. Прирост обеспечен аппаратным media pipeline, который снимает узкое место загрузки изображений.

Для ML-инженеров, работающих с vision-language моделями, Gaudi2 - это способ сократить время и стоимость обучения. Воспроизведение требует двух аргументов командной строки. Если вы планируете масштабировать мультимодальные пайплайны, стоит протестировать Optimum Habana на Gaudi2 в своей конфигурации.

Тема эффективного обучения моделей шире одного ускорителя. О том, как 20B Looping Model обучается в 10 раз эффективнее Qwen3 Coder 30B, читайте в разборе архитектуры и стоимости обучения.

Подписаться на канал