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:
| Kaynak | Modül | Tipik büyüklük |
|---|---|---|
| 1. Termal (Johnson) | 4.4 | ~5 nA RMS |
| 2. Shot | 4.4 | ~5-20 nA RMS |
| 3. 1/f (flicker) | 4.4 | ~10 nA RMS long-term |
| 4. Programlama | 5.5 ISPP | ~5% absolute (~50 nA @ 1 µA) |
| 5. IR drop | 5.12 | ~5% systematic |
| 6. Drift | 5.2 | ~1% / yıl |
Toplam (hücre başı): 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ğı
1. Termal (Johnson-Nyquist): SIDRA tipik: 5-10 nA.
2. Shot: Düşük akımda baskın: 5-20 nA.
3. 1/f (flicker): Uzun-vadeli drift kaynağı. RMS 10 nA.
4. Programlama (ISPP sonrası):
ISPP ile → = 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ş:
Bağımsız kaynaklar varsayımı. Pratikte 1/f ve drift kısmen korele.
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 = = 256 µA ortalama. Gürültü = 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ı.
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: . 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
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: . 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.