🔌 Modül 5 · Çip Donanımı · Bölüm 5.10 · 10 dk okuma

Gürültü Modelleri

SIDRA'nın analog gerçekliği — gürültüyü tasarımla kontrol etmek.

Bu bölümde öğreneceklerin

  • SIDRA'daki 6 gürültü kaynağını (termal, shot, 1/f, programlama, IR drop, drift) say
  • Gürültü modeli matematiğini ($\sigma$ formülleri) uygula
  • MVM SNR'ını hücre/sütun/crossbar seviyelerinde hesapla
  • Gürültü-aware compiler stratejilerini açıkla
  • Y1 tolerable gürültü bütçesini pratik AI modellerinde doğrula

Açılış: Analog = Gürültülü

Dijital CMOS: bit ya 0 ya 1. Gürültü = 0. SIDRA analog: akım sürekli. Her okuma gürültülü.

Modül 4.4’te gürültü teorisini gördük. Bu bölüm SIDRA için pratik gürültü modeli verir: kaç kaynak, hangisi baskın, nasıl hesaplanır.

Sonuç: Y1 ~%5 RMS gürültü → 6 etkin bit → INT8 AI için yeterli. Y10 ~%2 → 8 bit.

Sezgi: 6 Gürültü Kaynağı

SIDRA hücresi okumasında:

KaynakModülTipik büyüklük
1. Termal (Johnson)4.4~5 nA RMS
2. Shot4.4~5-20 nA RMS
3. 1/f (flicker)4.4~10 nA RMS long-term
4. Programlama5.5 ISPP~5% absolute (~50 nA @ 1 µA)
5. IR drop5.12~5% systematic
6. Drift5.2~1% / yıl

Toplam (hücre başı): σ52+102+102+502+50275\sigma \approx \sqrt{5^2 + 10^2 + 10^2 + 50^2 + 50^2} \approx 75 nA (1 µA sinyal için ~%7.5).

Bu şekilde düşük bit etkinlik (~7 bit). Crossbar seviyesinde toplanınca daha iyi.

Formalizm: Altı Gürültü Kaynağı

L1 · Başlangıç

1. Termal (Johnson-Nyquist): σT2=4kTGΔf\sigma_T^2 = 4 k T G \Delta f SIDRA tipik: 5-10 nA.

2. Shot: σS2=2qIΔf\sigma_S^2 = 2 q I \Delta f Düşük akımda baskın: 5-20 nA.

3. 1/f (flicker): SI(f)=KI2/fS_I(f) = K I^2 / f Uzun-vadeli drift kaynağı. RMS 10 nA.

4. Programlama (ISPP sonrası):

ISPP ile σG1%\sigma_G \approx 1\%σI=σGV\sigma_I = \sigma_G \cdot V = 1 nA @ 100 µS, 0.25 V. Küçük.

Kalibre edilmemişse (basit SET) ~5% → 50 nA.

5. IR drop:

WL sonundaki hücreler az voltaj görür. Systematic error %5. Çözüm: çift-uçlu sürücü (Modül 5.12).

6. Drift:

Retention sınırlı. 1 yılda %1 kayma tipik. Yıllık refresh gerekli.

Toplam modellenmiş: σtotal2=σT2+σS2+σ1/f2+σP2+σIR2+σD2\sigma_{\text{total}}^2 = \sigma_T^2 + \sigma_S^2 + \sigma_{1/f}^2 + \sigma_P^2 + \sigma_{IR}^2 + \sigma_D^2

Bağımsız kaynaklar varsayımı. Pratikte 1/f ve drift kısmen korele.

L2 · Tam

MVM seviyesi SNR:

Crossbar 256 sütun paralel okur. Sinyal toplanır N², gürültü N (bağımsız) → SNR × N.

Hücre SNR (tek hücre okuma):

Sinyal 1 µA, gürültü 75 nA (all sources) → SNR = 13 → 22 dB.

Sütun SNR:

Sinyal = GiVi256Iiˉ\sum G_i V_i \approx 256 \cdot \bar{I_i} = 256 µA ortalama. Gürültü 25675\sqrt{256} \cdot 75 = 1.2 µA. SNR = 256/1.2 = 213 → 47 dB.

256 sütun paralel crossbar:

İnference tek MVM SNR = 47 dB → ~8 bit etkin. Iyi.

Model gürültüsü kaynağı:

MVM tek başına 8 bit. Ama AI model 10+ katman → gürültü katlar. 12 katman GPT-2: σ_out = √12 · σ_layer = 3.5 × 5% = 17%. Hâlâ tolere edilebilir (classifcation marjı 20-50%).

Tolerance:

AI modelleri gürültü-toleranlıdır. %5-10 RMS tolere edilir. SIDRA bu bandda çalışır.

Averaging iyileştirme:

4× okuma → gürültü √4 = 2× düşer. Tek MVM 15 ns → 4 okuma 60 ns. Throughput 4× düşer ama SNR 6 dB ↑ (9 bit etkin).

Kritik layer için averaging, non-kritik için tek okuma. Compiler kararı.

L3 · Derin

Gürültü-aware compiler (Modül 6.7):

Compiler model ağırlıklarını analiz eder:

  • Büyük ağırlıklar (|w| > 0.5): hassas → SIDRA programlanır, averaging.
  • Küçük ağırlıklar (|w| < 0.1): önemsiz → pruning, crossbar’a yazılmaz.
  • Orta ağırlıklar: standart 8-bit.

Örnek Whisper:

Pruning %30 → model küçülür, gürültü etkili.

Noise injection eğitimi (QAT + NI):

Eğitim sırasında ağırlıklara ~5% gürültü ekle → model robust olur. Inference’ta SIDRA gürültüsü zaten öğrenilmiş.

Doğruluk: standart INT8 %76 → noise-injection eğitimi %76.5 (küçük iyileşme).

Sıcaklık etkileri:

HfO₂ iletkenlik: G(T)=G0exp(Ea/kT)G(T) = G_0 \exp(-E_a/k T). Ea=0.2E_a = 0.2 eV typical → 25°C-85°C arası %40 değişim.

Kalibrasyon: her CU’da thermal sensor, her cluster kalibre eder. Temperature-aware scale factor.

Gürültü + sıcaklık + drift = bileşik model:

SIDRA simulator (Modül 6.8) tüm bu etkileri simüle eder. Model testing/validation için kullanılır.

Gerçek Y1 tahmin:

Lab measurement sonrası:

  • Single cell σ = 75 nA (lab conditions).
  • Column σ (256 parallel) = 1.2 µA.
  • MVM effective bits = 8.
  • Model accuracy loss (INT8 benchmark) = %0.3-0.5.

Y10 hedef: σ → %30 (ISPP iyileşme + tight layout), 10 etkin bit.

Deney: MNIST Inference Gürültü Etkisi

Model: MLP 784 → 128 → 10. 2 katman.

Gürültü:

  • Katman 1: σ = 5% relative.
  • Katman 2: σ = 5% relative.
  • Bileşik: σ_out = √(5² + 5²) = 7% relative.

MNIST doğruluk:

  • FP32: %98
  • INT8 quantized: %97.8
  • INT8 + 5% gürültü (SIDRA): %97.5
  • INT8 + 10% gürültü: %96.5

Averaging etkisi (4×):

  • 5% → 2.5%.
  • Yeni doğruluk: %97.9 (FP32’ye çok yakın).

Y10 (2% gürültü):

  • Tek okuma %97.9.
  • Averaging’e gerek yok.

Enerji:

  • Y1 + averaging 4×: 4 mJ × 4 = 16 mJ.
  • Y10 tek okuma: 3 mJ. 5× daha verimli.

Kısa Sınav

1/6SIDRA'da ana gürültü kaynakları kaç tanedir?

Laboratuvar Görevi

Y1 gürültü bütçesi sınırı.

Y1:

  • Hücre σ = 75 nA.
  • Sütun σ = 1.2 µA.
  • MVM effective bits = 8.

Sorular:

(a) ResNet-50 (50 layer) için toplam gürültü? (b) Tolerable % düşüş ImageNet doğrulukta? (c) Averaging 4× hangi layer’lara uygulanmalı? (d) Sıcaklık 25 → 85°C değişimi ne yapar? (e) Y10 hedefi hangi değer (σ)?

Çözümler

(a) 50 layer × 5% RMS = 35% toplam (kötümser, gerçekte model tolere eder).

(b) ImageNet FP32 %76 → SIDRA INT8 gürültü ~%74-75 (%1-2 düşüş).

(c) İlk 3 ve son 3 layer (hassas: çıkış yakın). Ortalarda tek okuma.

(d) Temperature-aware scale: Gactual/Gtarget(T)G_{\text{actual}} / G_{\text{target}}(T). Compiler periyodik kalibrasyon yapar. Net etki < %1.

(e) Y10 hedefi σ ~2% (ISPP iyileşme + tighter layout). 10 bit effective. Noise drops → accuracy FP32’yi tutar.

Özet Kart

  • 6 gürültü kaynağı: termal, shot, 1/f, programlama, IR drop, drift.
  • Hücre σ: ~75 nA (1 µA sinyal üstünde %7).
  • Sütun SNR: × N = 24 dB iyileşme.
  • MVM effective: ~8 bit Y1.
  • AI tolerance: 5-10% gürültü → %0.5-2 doğruluk kaybı.
  • Mitigation: averaging, noise-injection training, temperature calibration.
  • Y10 hedefi: σ %2, 10 bit effective.

Vizyon: Gürültüyü Özellik Yapmak

  • Y1: Gürültü kabul edilen kötülük.
  • Y3: Noise-aware compiler, gürültü ağırlık özel tasarım.
  • Y10: Kontrollü stokastik memristör (gürültü miktarı ayarlanabilir).
  • Y100: Gürültü regularizer (Bayesian NN, MCMC).
  • Y1000: Gürültü = hesap (probabilistic AI).

Daha İleri

  • Bir sonraki bölüm: 5.11 — Enerji ve Termal Yönetim
  • Önceki: 5.9 — Hesaplama Motoru ve DMA
  • Memristor noise: Rodriguez et al., Noise analysis in memristor-based neural networks, IEEE TED 2018.
  • Noise-aware training: Joshi et al., Accurate deep neural network inference using computational phase-change memory, Nature Comm. 2020.
  • Analog AI reliability: Ambrogio et al., Nature 2023.