Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-15/post/opendatascience/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
πŸ”₯ FP8 mixed precision β€” Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ DeepSeek снизили Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний? @Data Science by ODS.ai 🦜
TG Telegram Group & Channel
Data Science by ODS.ai 🦜 | United States America (US)
Create: Update:

πŸ”₯ 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 ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ β€” ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ AdamW хранятся Π² BF16, Π° мастСр-вСса ΠΈ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ β€” Π² FP32.
β–ͺ️ FP8-ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΉ β€” Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² FP8 послС Fprop, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ экономит ΠΏΠ°ΠΌΡΡ‚ΡŒ.
β–ͺ️ Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” Π² распрСдСлённом ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ β€” ΡƒΠ·ΠΊΠΎΠ΅ мСсто. Π’ DeepSeek-V3 для части ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² FP8, Ρ‡Ρ‚ΠΎ ΠΏΠΎ заявлСниям Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Однако Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ всС ΠΆΠ΅ сохраняСтся Π² BF16 Π² критичСских мСстах.

И Π³Π»Π°Π²Π½ΠΎΠ΅: качСство ΠΌΠΎΠ΄Π΅Π»ΠΈ практичСски Π½Π΅ страдаСт. Ошибка ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с BF16-ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ остаётся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 0.25%, Ρ‡Ρ‚ΠΎ укладываСтся Π² ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ.

Авторы Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описали свою ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ, Π½ΠΎ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΠ»ΠΈ Π² open-source Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ FP8 GEMM с fine-grained scaling β€” DeepGEMM.

Π‘ΠΎΠ»Π΅Π΅ малСнькиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€ΠΎΠ΄Π΅ FP8 ΠΈ bf16 β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎ ускорСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… вычислСний, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎ эффСктивноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ. И ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ 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 ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ β€” ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ AdamW хранятся Π² BF16, Π° мастСр-вСса ΠΈ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ β€” Π² FP32.
β–ͺ️ FP8-ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΉ β€” Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² FP8 послС Fprop, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ экономит ΠΏΠ°ΠΌΡΡ‚ΡŒ.
β–ͺ️ Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” Π² распрСдСлённом ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ β€” ΡƒΠ·ΠΊΠΎΠ΅ мСсто. Π’ DeepSeek-V3 для части ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² FP8, Ρ‡Ρ‚ΠΎ ΠΏΠΎ заявлСниям Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Однако Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ всС ΠΆΠ΅ сохраняСтся Π² BF16 Π² критичСских мСстах.

И Π³Π»Π°Π²Π½ΠΎΠ΅: качСство ΠΌΠΎΠ΄Π΅Π»ΠΈ практичСски Π½Π΅ страдаСт. Ошибка ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с BF16-ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ остаётся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 0.25%, Ρ‡Ρ‚ΠΎ укладываСтся Π² ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ.

Авторы Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описали свою ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ, Π½ΠΎ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΠ»ΠΈ Π² open-source Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ FP8 GEMM с fine-grained scaling β€” DeepGEMM.

Π‘ΠΎΠ»Π΅Π΅ малСнькиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€ΠΎΠ΄Π΅ FP8 ΠΈ bf16 β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎ ускорСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… вычислСний, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎ эффСктивноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ. И ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ DeepSeek, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ интСграция этих Ρ‚Π΅Ρ…Π½ΠΈΠΊ позволяСт ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большиС ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства!πŸš€
❀12


>>Click here to continue<<

Data Science by ODS.ai 🦜






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Can't create/write to file '/tmp/#sql-temptable-a06e-3e94d4-701.MAI' (Errcode: 28 "No space left on device") in /var/www/hottg/function.php:216 Stack trace: #0 /var/www/hottg/function.php(216): mysqli_query() #1 /var/www/hottg/function.php(115): select() #2 /var/www/hottg/post.php(351): daCache() #3 /var/www/hottg/route.php(63): include_once('...') #4 {main} thrown in /var/www/hottg/function.php on line 216