Tüm yazılar
Matematik2 Şubat 2025

FP8 Eğitim: Modern LLM'lerin "Yarı Hassasiyet" Sırrı

GPT-4 ve DeepSeek V3 gibi modeller 8-bit kayan noktada eğitilebiliyor. Bu, çığır açan bir donanım-yazılım birleşimi.

Matematik Karavanı 6 dk okuma 5 soru
NVIDIA GPU — FP8 eğitim metaforu

Hassasiyet ile hız arasında ödün

Derin öğrenme uzun süre FP32 (32-bit float) ile eğitildi. Sonra FP16/BF16 (16-bit) — bellek yarıya, hız 2x.

2022-2024: FP8 (8-bit) sahnede. Bellek yine yarıya, hız 2x daha. Ama: doğruluk mu kaybediyoruz?

Sayı formatları

FormatBitÜstelMantisAralıkHassasiyet
FP3232823Çok genişÇok hassas
BF161687FP32 ile aynıDüşük
FP1616510DarOrta
E4M3843±448\pm 448~0.125
E5M2852±57344\pm 57344~0.25

FP8'in iki varyantı:

  • E4M3: ileri (forward) için (hassasiyet öncelik).
  • E5M2: gradyan (backward) için (aralık öncelik).

Neden eskiden olmuyordu?

FP8 aralığı çok dar. Naif eğitim:

  • Sayılar overflow → NaN.
  • Sayılar underflow → 0.
  • Gradient kayıpları → kötü model.

Çözüm: Per-tensor Scaling

Her tensörü ayrı ölçeklendirmek. Tensörün maks değerini FP8 aralığına sığacak şekilde scale faktör ile çarp.

xFP8=round_to_FP8(xs)x_{FP8} = \text{round\_to\_FP8}\left(\frac{x}{s}\right)

Hesaplama sonra ölçek geri uygulanır. Scale değerleri FP32 olarak saklanır.

NVIDIA Transformer Engine

H100 GPU'lar (2022) Transformer Engine ile gelir:

  • FP8 destekli matrix multiply (FP16 ile aynı hızda ama yarı yarıya bellek).
  • Otomatik scaling: her katman için scale takip eder.
  • Mixed precision: kritik bölümler FP32, çoğu FP8.

Bu, FP8 eğitimi pratik hale getirdi.

DeepSeek V3 FP8 eğitimi

DeepSeek V3 (Aralık 2024) tam FP8 ön eğitim yaptı:

  • Fine-grained scaling: her küçük blok için ayrı scale.
  • High-precision accumulation: matrix multiply çıktısı FP32'de toplanır.
  • Selective casting: dikkat softmax'i FP32, GEMM'ler FP8.
  • Bellek: H800 GPU'da (2x bellek) eğitim mümkün oldu.

Sonuç: 3-4 milyon GPU saat ile GPT-4 sınıfı model.

Hangi yerlerde FP8 değil?

  • LayerNorm/RMSNorm: küçük sayılarla çalışır → BF16/FP32.
  • Softmax: exponential → overflow riski → FP32.
  • Loss hesabı: FP32.
  • Optimizer state: Adam'ın momentumu → FP32 (kritik!).
  • Embedding gradient: hassas → FP32.

Modern reçete: %80 FP8, %20 FP32.

INT8 farkı

INT8 (tam sayı) eğitim için uygun değil — gradient küçük kesirli değerler içerir. INT8 sadece inference için (post-training quantization).

FP8 hem üs hem mantis var → eğitim için uygun.

Donanım gereksinimi

  • NVIDIA: H100, H800, B100 (Hopper, Blackwell).
  • AMD: MI300 (FP8 desteği).
  • Google TPU: kendi 8-bit formatları (int8, bf16 ağırlıklı).

A100 ve önceki nesil FP8 doğal değil — yazılım emülasyonu olur ama hızlanma azalır.

Pratik fayda

  • Bellek: yarı yarıya → daha büyük model aynı GPU'da.
  • Hız: ~2x hızlı eğitim.
  • Bandwidth: GPU'lar arası iletişim daha hızlı.

Sonuç: aynı parayla 2x daha büyük model veya 2x daha hızlı eğitim.

Riskler

  • Sayısal kararsızlık: scale yanlış olursa NaN.
  • Daha çok yapay loss spikes: monitör gerekir.
  • Kütüphane olgunluğu: PyTorch + NVIDIA Transformer Engine olgun, alternatifler değişken.

Kapanış

FP8 eğitim, donanım-yazılım ortak optimizasyonunun modern AI'da en somut örneği. DeepSeek V3'ün düşük maliyetle GPT-4 düzeyine çıkmasındaki sırrın büyük kısmı buydu. 2025-2026'da standart olacak.

Etiketler

FP8mixed precisionNVIDIA H100LLM eğitimisayısal hassasiyet

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. FP8'in iki varyantı?

2. FP8 eğitiminin temel zorluğu?

3. Hangi donanım FP8 için tasarlandı?

4. Hangi bölümler hâlâ FP32?

5. INT8 ile FP8 farkı?