📐 Modül 4 · Matematik Cephanesi · Bölüm 4.6 · 11 dk okuma

Nicemleme ve Kuantizasyon Hatası

Sürekli analog dünya, ayrık dijital depo — SIDRA tam ortada.

Bu bölümde öğreneceklerin

  • Kuantizasyon nedir ve neden gerekli olduğunu açıkla
  • ADC ve DAC'ın temel rollerini ve bit-derinliği kavramını yaz
  • Kuantizasyon hatasını ($\sigma_q^2 = \Delta^2/12$) hesapla
  • INT8, INT4, FP16 quantize edilmiş AI modellerinin pratik etkilerini söyle
  • 256-seviye SIDRA hücresinin neden 8-bit kuantizasyona denk olduğunu göster

Açılış: Sürekli Dünyaya Sayısal Cetvel

Doğa sürekli: voltaj, akım, ses, ışık — hepsi kesintisiz. Bilgisayarlar ayrık: 0 ve 1, sınırlı sayıda durum.

Bunları birleştiren işleme kuantizasyon denir: sürekli değeri ayrık seviyelerden birine eşle.

  • Bir termometre 23.7°C okur → ekran “24” gösterir → bir bit yuvarlanmış.
  • Mikrofon analog ses → 16-bit ADC → 65,536 ayrık seviye.
  • Bir AI modeli ağırlığı FP32 (4 byte) eğitilir → INT8 (1 byte) inference için kuantize edilir → 4× sıkıştırma.

SIDRA’nın merkezindeki kuantizasyon:

  • Memristör hücresi → 256 seviye (8 bit). Sürekli iletkenlik aralığını 256 ayrık değerle temsil et.
  • ADC → analog akımı 8-bit dijitale çevir.
  • DAC → 8-bit dijitali analog voltajla geri.

Kuantizasyon hatası kaçınılmaz. Sürekli sinyali ayrık temsille gösterirken bilgi kaybı olur. Bu bölüm o kaybın matematiğini, pratiğini, ve SIDRA için ne demek olduğunu anlatır.

Sezgi: Cetvelin Ölçeği = Hassasiyet

Bir cetvelin işaretleri ne kadar sıksa o kadar hassas ölçer. Aynı şey kuantizasyon için:

BitSeviyeCetvelin sıklığı
12sadece 0 ve 1 (ortayı bilemezsin)
416her seviyede ~%6 hassasiyet
8256her seviyede ~%0.4
1665,536her seviyede ~%0.0015
324 milyarfloat gibi

Yuvarlama hatası (kuantizasyon hatası): sürekli değeri en yakın ayrık seviyeye yuvarlamaktan gelen sapma.

  • Aralık [A,B][A, B]NN seviye → adım Δ=(BA)/N\Delta = (B-A)/N.
  • En kötü hata: ±Δ/2\pm \Delta/2.
  • Ortalama hata kare: σq2=Δ2/12\sigma_q^2 = \Delta^2 / 12 (uniform dağılım için).

SIDRA örneği:

  • Hücre iletkenliği aralık: 1 µS — 100 µS, 256 seviye → Δ=(1001)/256=0.39\Delta = (100-1)/256 = 0.39 µS.
  • σq=Δ/12=0.11\sigma_q = \Delta / \sqrt{12} = 0.11 µS.
  • G=50G = 50 µS bir hücre için relatif hata: 0.11/50=0.22%0.11 / 50 = 0.22\% → ~9 etkin bit (kuantizasyon yalnız).
  • Ama gürültü + drift toplamı → ~6 etkin bit (4.4’te gördük).

Sezgi sonucu: Kuantizasyon temel bir sınır, ama pratikte gürültü daha baskın. SIDRA için 8-bit kuantizasyon yeterince iyi.

Formalizm: Kuantizasyon Hatası ve Bit-Derinliği

L1 · Başlangıç

Uniform kuantizasyon:

Aralık [A,B][A, B], N=2bN = 2^b seviye (bb bit). Adım:

Δ=BAN\Delta = \frac{B - A}{N}

Sürekli değer xx → en yakın seviye x^=A+(xA)/Δ+0.5Δ\hat{x} = A + \lfloor (x-A)/\Delta + 0.5 \rfloor \cdot \Delta.

Hata: e=xx^,eΔ/2e = x - \hat{x}, |e| \leq \Delta/2.

Kuantizasyon gürültüsü (uniform varsayım):

eUniform(Δ/2,+Δ/2)e \sim \text{Uniform}(-\Delta/2, +\Delta/2), E[e]=0E[e] = 0, Var[e]=Δ2/12\text{Var}[e] = \Delta^2/12.

SQNR (Signal-to-Quantization-Noise Ratio):

Tam aralık sinüs sinyali için:

SQNRdB=6.02b+1.76\text{SQNR}_{\text{dB}} = 6.02 b + 1.76

Her ek bit ~6 dB iyileşme. SIDRA Y1 8-bit hücre → ~50 dB SQNR.

Bit-derinliği etkisi:

BitSQNR (dB)Tipik kullanım
1~7.78Aşırı sıkıştırma, sınırlı
4~25.84INT4 quantize LLM (deneysel)
8~49.92INT8 inference (standard)
16~98.08FP16 eğitim (yarı float)
32~194.21FP32 eğitim (tam float)
L2 · Tam

Modern AI’da kuantizasyon trendi:

Eğitim → genelde FP32 veya FP16 (yüksek hassasiyet gradient için).

Inference → INT8 standart, INT4 yaygınlaşıyor, INT2-INT3 deneysel.

Neden mümkün? AI modeli gürültü-tolerantdır. Doğrusal olmayan aktivasyonlar küçük hataları emer. Modeller “robust” olarak eğitildiyse INT8 → INT4 ile %1-3 doğruluk kaybı kabul edilir.

Quantization-Aware Training (QAT):

Eğitim sırasında kuantizasyonu simüle et → model bu hataya hazırlanır. Post-training quantization’dan iyi sonuç verir. Tipik QAT: INT4’te %0.5 doğruluk kaybı.

Çift-yönlü kuantizasyon:

  • Weights: uniformly INT8 quantize. Donanımda 256 seviye memristör.
  • Activations: INT8 dinamik aralık. Layer başına min/max kalibrasyonu.
  • Accumulator: INT16 veya INT32 (toplama overflow’unu önlemek için).

SIDRA bu yapıya ideal: weight = memristör (8-bit), activation = ADC çıktısı (8-bit), accumulator = CMOS toplam (16-bit).

Mixed precision:

Bazı katmanlar INT8, bazıları INT4, bazıları FP16 — model duyarlılığına göre. Modern pratik. SIDRA Y10 hedefi: katmanı katmanı kuantizasyon (compiler kararı, 6.7).

L3 · Derin

Logaritmik (log) kuantizasyon:

Uniform yerine logaritmik seviye dağılımı. Sinüs gibi geniş dinamik aralık sinyalleri için iyi (sesin %dB% perception’ı logaritmiktir).

x^=sign(x)2log2x\hat{x} = \text{sign}(x) \cdot 2^{\lfloor \log_2 |x| \rfloor}

Avantaj: küçük değerler için hassas, büyük için kaba. Logarithmic Number System (LNS) AI’da bazı yerlerde aday.

Stokastik yuvarlama:

Klasik yuvarlama (round) deterministik. Stokastik yuvarlama: olasılığa göre yukarı veya aşağı:

x^={x/ΔΔolasılık 1px/ΔΔolasılık p,p=(xmodΔ)/Δ\hat{x} = \begin{cases} \lfloor x/\Delta \rfloor \cdot \Delta & \text{olasılık } 1-p \\ \lceil x/\Delta \rceil \cdot \Delta & \text{olasılık } p \end{cases}, \quad p = (x \mod \Delta)/\Delta

Üstün özellik: ortalama olarak yansız (E[x^\hat{x}] = x). Eğitim için kullanışlı (gradient bias yok).

SIDRA Y10+ aday: kontrollü gürültü ile stokastik yuvarlama → eğitim hassasiyeti artar.

Kuantizasyon ile sayısal kararsızlık:

Çok küçük gradyanlar (< Δ/2\Delta/2) yuvarlama ile kaybolur → “underflow”. Modern Transformer eğitiminde bf16 (brain float) yaygın — exponent FP32’ninki gibi geniş, mantissa kısa. Underflow problemini çözer.

SIDRA için: gradient INT8’e sığmaz → eğitim için FP16/bf16 dijital koprosessör gerekir. Inference INT8 yeter.

8-bit hücreden daha fazla bit?

SIDRA Y10 hedefi: çoklu hücre kombinasyonu. 2 hücre = 16 seviye × 16 = 256 seviye = 8 bit (aynı), ama 1024 seviye = 10 bit eğer logaritmik kombinasyon. 4 hücre 16 bit. Ama gürültü çoğalır → etkin bit aynı kalabilir.

Pratik karar: SIDRA için tek-hücre 8-bit + dijital toplam → effective 12-16 bit. Modern AI inference için fazlasıyla yeterli.

Deney: 4-bit ve 8-bit Kuantizasyonun Etkisi

Bir model ağırlıkları w[1,1]w \in [-1, 1] aralığında eğitildi. INT8 ve INT4 kuantizasyon karşılaştır.

INT8: 256 seviye, Δ=2/256=0.0078\Delta = 2/256 = 0.0078.

Örnek ağırlık w=0.347w = 0.347 → en yakın seviye: w^=0.3437\hat{w} = 0.3437 (44. seviye, sıfır merkezli). Hata: 0.00330.0033.

INT4: 16 seviye, Δ=2/16=0.125\Delta = 2/16 = 0.125.

Aynı ağırlık → en yakın seviye: w^=0.3125\hat{w} = 0.3125 (3. seviye yarısı + ofset). Hata: 0.0340.034. 10× büyük.

1000 ağırlık ortalama hatası:

  • INT8 RMS: 0.0078/120.00230.0078/\sqrt{12} \approx 0.0023.
  • INT4 RMS: 0.125/120.0360.125/\sqrt{12} \approx 0.036. 15× büyük.

MNIST inference üzerine etki:

  • FP32 baseline: %98.0
  • INT8: %97.8 (0.2% kayıp)
  • INT4: %96.5 (1.5% kayıp)
  • INT2: %88 (10% kayıp)

SIDRA Y1: 256 seviye = INT8 eşdeğeri → MNIST için %97.8 beklenir. Pratik olarak FP32’den ayırt edilemez kullanıcı için.

Daha karmaşık model (BERT-base):

  • FP32: %88 (GLUE)
  • INT8: %87.5
  • INT4: %85
  • SIDRA Y1: %87.5 beklenir.

Sonuç: SIDRA’nın 8-bit kuantizasyonu modern inference için endüstri standartı ile uyumludur.

Kısa Sınav

1/6Kuantizasyon hatasının varyansı (uniform yuvarlama) nedir?

Laboratuvar Görevi

SIDRA Y1 vs Y10 vs Y100 quantization performans karşılaştırması.

Veri:

  • Y1: 256 seviye/hücre (8-bit), tek hücre.
  • Y10 (hedef): çoklu hücre kombinasyonu → effective 10-12 bit.
  • Y100 (vizyon): mixed-precision + analog FP-equivalent ~16 bit.
  • Test modeli: ResNet-50 ImageNet (Top-1 accuracy %76.0 FP32 baseline).

Veriler (literatür):

  • INT8: %75.2 (0.8% kayıp)
  • INT4: %73.5 (2.5% kayıp)
  • INT2: %68.0 (8% kayıp)

Sorular:

(a) SIDRA Y1 (8-bit) ResNet-50 inference doğruluğu beklenir? (b) Y10 (12-bit etkin) sonuç? (c) Y100 (16-bit etkin) sonuç? (d) Y1 ile MobileNet-V2 çalıştır: tipik kayıp ne olur? (e) Inference süresi karşılaştır (Y1 vs H100): ResNet-50 başına?

Çözümler

(a) Y1 INT8 → ~%75.2. Üretim için kabul edilir (cep telefonu kameraları INT8 kullanır).

(b) Y10 ~12-bit ≈ FP16 hassasiyetine yakın → ~%75.7-75.9. FP32’den fark edilmez.

(c) Y100 16-bit → %76.0. Tam denk. Eğitim için bile uygun.

(d) MobileNet-V2 quantization’a daha hassas (depthwise conv küçük hatayı magnify eder). FP32 %72.0, INT8 ~%71.0 (1% kayıp). Y1 ~%71’i tutar. Yine de pratik.

(e) ResNet-50: 4.1B FLOP/inference. Y1: 30 TOPS analog → ~140 µs/inference. H100: 50 TFLOPS sustain → ~80 µs (batch 1; batch 32’de ~3 µs/inference). Latency: H100 1.5-50× hızlı; enerji: SIDRA 50× az.

Pratik: SIDRA edge’de güç-bütçesi sıkı (akıllı kamera, IoT); H100 datacenter’da. SIDRA bunu replace etmeyi hedeflemez — yanına kurar.

Özet Kart

  • Kuantizasyon: sürekli → ayrık eşleşme. Bit-derinliği = seviye sayısı.
  • Adım: Δ=(BA)/N\Delta = (B-A)/N, N=2bN = 2^b.
  • Hata: uniform σq2=Δ2/12\sigma_q^2 = \Delta^2/12.
  • SQNR: her bit ~6 dB.
  • Modern AI standartı: INT8 inference, INT4 yayılıyor.
  • SIDRA Y1: 256 seviye = 8-bit eşdeğer, INT8 inference için ideal.
  • QAT: eğitimde kuantize simüle et → daha iyi sonuç.
  • Stokastik yuvarlama: yansız, gradient için faydalı.

Vizyon: Aşırı Düşük Bit AI ve SIDRA Yolu

AI bit-derinliği sürekli düşüyor: FP32 → FP16 → INT8 → INT4 → INT2. Sınır 1-bit (binary networks).

  • Y1 (bugün): 8-bit yeterli. INT8 inference standart.
  • Y3 (2027): Mixed precision (katman başına 4/8/16-bit). %95 katmanları INT8, %5 INT4.
  • Y10 (2029): Çoklu-hücre 12-bit + stokastik yuvarlama. FP16-eşdeğer inference.
  • Y100 (2031+): Analog FP16 (mantissa + exponent ayrı hücreler). Eğitim+inference aynı çipte.
  • Y1000 (uzun vade): Logarithmic + stochastic + analog FP. Beyin-tarzı tam analog.

Türkiye için anlam: Düşük-bit AI tasarımı dijital donanımda olgun (NVIDIA TensorRT, Apple CoreML). Analog-tarafta açık alan — SIDRA ilk büyük analog INT8 platformu olabilir. Akademi + endüstri Türkiye’de bu yarışı vermek için yeterli kapasitede.

Beklenmedik gelecek: 1-bit dünya. Tüm ağırlıklar ±1 (BinaryConnect, XNOR-Net). MVM xor + popcount olur. SIDRA crossbar 1-bit memristör (sadece HRS/LRS) ile maksimum yoğunluk + minimum enerji. 2030+ ufku ama yön var.

Daha İleri

  • Bir sonraki bölüm: 4.7 — Bilgi Kuramı: Entropi ve Kanal
  • Önceki: 4.5 — Fourier Dönüşümü
  • Klasik kuantizasyon: Gray & Neuhoff, Quantization, IEEE Trans. Inf. Theory 1998.
  • AI quantization survey: Gholami et al., A Survey of Quantization Methods for Efficient Neural Network Inference, arXiv 2021.
  • QAT: Jacob et al., Quantization and training of neural networks for efficient integer-arithmetic-only inference, CVPR 2018.
  • BinaryConnect: Courbariaux et al., Training deep neural networks with weights and activations constrained to +1 or -1, NeurIPS 2015.
  • Stokastik yuvarlama: Gupta et al., Deep learning with limited numerical precision, ICML 2015.