TGViewer
GigaDev — разработка GigaChat GigaDev — разработка GigaChat @gigadev_channel · 5.24K subscribers
Post #19 11.7K
🔥 Как FP8-вычисления ускоряют обучение больших моделей?

Когда-то переход на FP16 в машинном обучении был настоящим вызовом — приходилось бороться с переполнением чисел, потерей точности и нестабильностью тренировки. Со временем появился BF16, который совместил в себе диапазон FP32 и компактность FP16, сильно упростив работу и удешевив обучение моделей.

Но прогресс не стоит на месте: хочется использовать ещё более компактный тип FP8, который может ускорить вычисления теоретически аж в 4 раза по сравнению с FP32.

Звучит круто, но на практике есть сложности: FP8 бывает разным. Самые распространённые форматы:

🔸 E4M3 — шире диапазон чисел, ниже точность (подходит для активаций)
🔸 E5M2 — точнее числа, но уже диапазон (лучше для весов)

Из-за того, что в FP8 всего 8 бит на число, быстро возникают проблемы переполнения или, наоборот, слишком сильного округления. Поэтому использовать FP8 напрямую для всех операций пока невозможно. Нужно хитро подбирать форматы и аккуратно контролировать масштаб данных.

В GigaChat мы начали внедрять FP8 постепенно, сфокусировавшись сначала на наиболее подходящей для него операции — перемножении матриц (GEMM). Но даже здесь возникли свои сложности: активации и веса всё ещё хранятся в BF16, а значит, каждую операцию нужно предварять конвертацией типов:

активации (BF16) → FP8
веса (BF16) → FP8
перемножение матриц в FP8
результат (FP8) → обратно в BF16

Без специальных оптимизаций эти постоянные преобразования приводят к огромным накладным расходам. И именно здесь критически важен torch.compile: он автоматически объединяет цепочки таких операций, избавляясь от ненужных промежуточных шагов и резко снижая задержки и копирования.

Несмотря на сложности, мы уже смогли ускорить тренировку на впечатляющие 27%, полностью сохранив точность модели 🚀

Что можно делать дальше:

🔸 Сократить количество BF16-активаций там, где это возможно без потери качества
🔸 Переводить межузловые коммуникации на FP8

⚡️Будем держать вас в курсе следующих оптимизаций! Stay tuned

P.S. Большое спасибо GigaChat Max 2.0 за анимацию!
  • 🔥 39
  • 👍 10
  • ⚡ 6
  • 👏 3
  • 👎 1
More from @gigadev_channel
  1. Sep 10, 2026🧠 GigaChat 3.5 Reasoning — первая в России открытая модель с рассуждениями Выкладываем в…
  2. Aug 25, 2026💵 GigaEmbeddings: новая линейка моделей от 480M до MoE-флагмана 10B-A1.8B Мы обновили всю…
  3. Jul 27, 2026💚Хотите познакомиться с командой GigaChat лично? Встречаемся 29 июля! Никаких докладов и…
  4. Jul 14, 2026GigaChat Audio и GigaAM Multilingual: новые Open Source модели с поддержкой длинного конте…
  5. Jul 6, 2026💵 GigaChat 3.5 Ultra: меньше, быстрее, сильнее Сегодня мы выкладываем в open source GigaC…
  6. Jul 2, 2026💵 GFusion: как мы обучали диффузионную LLM в GigaChat «А что, если LLM будет генерировать…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →