deepseek-ai/deepgemm

github.com
Visit site

FP8 mixed precision — где и как DeepSeek снизили точность вычислений? В прошлом посте мы разобрали, как использование

🔥 FP8 mixed precision — где и как DeepSeek снизили точность вычислений? В прошлом посте мы разобрали, как использование FP8 для матричных операций (GEMM) ускоряет обучение моделей. Теперь давайте посмотрим, какие методы и оптимизации FP8 применялись при разработке DeepSeek-V3 — одной из лучших моделей на данный момент. ⚡️ Особенности FP8 GEMM от DeepSeek Просто перевести все вычисления в FP8 недостаточно. В обучении встречаются выбросы ( outliers ) в активациях, весах и градиентах — редкие, но экстремальные значения, которые сильно искажают точность при квантовании. Если их не учитывать, модель может потерять качество. Вот какие техники использовались в DeepSeek-V3 для FP8-обучения: 🔹 Точечное (fine-grained) квантование Вместо квантования тензоров целиком они разбиваются на небольшие группы: ▪️ Активации — на «плитки» ( tile-wise ) 1×128 ▪️ Веса — на блоки ( block-wise ) 128×128 Активации более подвержены выбросам, поэтому требуют более аккуратного квантования. Этот метод снижает влияние выбросов, так как масштабирование подгоняется под меньшие группы элементов. 🔹 FP32-аккумуляция FP8 ограничен по точности из-за небольшого количества бит для мантиссы. Чтобы минимизировать ошибки округления, промежуточные результаты GEMM копируются в FP32-регистры CUDA Cores и только потом суммируются. Использование FP32 для аккумуляции выходов тензорных ядер позволяет значительно снизить ошибки, которые возникают при суммировании большого числа результатов умножения маленьких матриц в FP8 . 🔥 Другие важные оптимизации 🔹 Использование E4M3 вместо гибридных форматов Ранее в FP8-обучении использовали гибридные форматы: ▪️ E4M3 для Fprop (прямой проход) ▪️ E5M2 для Dgrad / Wgrad (обратный проход) В DeepSeek-V3 все операции перевели на E4M3 , так как он имеет большую мантиссу → выше точность. Ограниченный динамический диапазон компенсируется tile/block-wise масштабированием . 🔹 Экономия памяти и ускорение коммуникации ▪️ Low-precision оптимизатор — моменты Ada

Specs

Type Tool
SectionCoding & development
Platform Web only
Systems web
Site languageen

Platforms

web

Found in sources

Similar in «Coding & development»

Submit a site to the catalog

Just send the link — we will work out the rest.

We will review what you send and add it to the catalog if it fits.

Not sure how to implement it? We can help

Tell us about your task — we will pick the tools and suggest where to start.

0 / 5000
Verification code

Fields marked with an asterisk are required. Your data is used only to reply.