Lineer Cebir Laboratuvarı
Modül 4'ü tek uçtan uca projeyle topla — MNIST üzerinde SIDRA.
Bu bölümde öğreneceklerin
- Modül 4'teki 7 kavramı tek bir uçtan uca projede birleştir
- Bir MNIST sınıflandırıcısı matematiğini (MVM, gradient, olasılık, kuantizasyon) uygula
- Matematiğin SIDRA donanımına haritalanmasını adım adım izle
- Modül 5 (Çip Donanımı) için hazırlık yap
Açılış: Matematiğin SIDRA'da Yaşaması
Modül 4 boyunca yedi matematiksel kavramı ayrıntılı gördük: vektör/MVM (4.1), Ohm+KCL bağlantısı (4.2), türev/gradient (4.3), olasılık/gürültü (4.4), Fourier (4.5), kuantizasyon (4.6), bilgi kuramı (4.7).
Her biri kendi başına bir alan. Ama SIDRA için hepsi tek bir hikâye:
AI modelleri MVM’ler dizisidir. Her MVM Ohm + KCL ile donanımda yapılır. Eğitim gradient gerektirir. Gürültü hem sorun hem çözümdür. Fourier büyük konvolüsyonları hızlandırır. Kuantizasyon bit-derinliğini sınırlar. Bilgi kuramı teorik üst sınırı verir.
Bu bölüm o hikâyeyi uçtan uca bir pratikle göster: MNIST sınıflandırıcısı yazmak ve her matematiksel kavramın nerede devreye girdiğini görmek. Sonunda Modül 5’e (Çip Donanımı) sağlam temelle gireceksin.
Sezgi: 7 Kavram, 1 Uçtan Uca Proje
MNIST sınıflandırıcısı basit: 28×28 siyah-beyaz el yazısı rakamları → 10 sınıf (0-9). Ama matematik açısından modül 4’ün her kavramını kullanır:
| Matematik (Modül 4) | MNIST pipeline’da nerede |
|---|---|
| 4.1 Vektör/Matris/MVM | Giriş (784-vektör), ağırlıklar (matrisler), katman çıkışı |
| 4.2 Ohm+KCL=MVM | Her MVM SIDRA crossbar’da analog olarak |
| 4.3 Türev/Gradient | Eğitim (backprop), kayıp minimize |
| 4.4 Olasılık/Gürültü | SIDRA gürültüsünün sınıflama üzerine etkisi |
| 4.5 Fourier | (MNIST’te yok, ama konvolüsyon vardı) |
| 4.6 Kuantizasyon | FP32 eğitim → INT8 inference (SIDRA 256 seviye) |
| 4.7 Bilgi kuramı | Cross-entropy loss, model kapasitesi |
Proje yapısı:
- Veri önişleme: piksel → vektör → normalize.
- Mimari: 2-katmanlı MLP (784 → 128 → 10).
- Eğitim: SGD + backprop (matematik GPU’da).
- Kuantizasyon: FP32 → INT8 (SIDRA için).
- Deploy: SIDRA crossbar’a ağırlık programla.
- Inference: analog MVM + CMOS aktivasyon + ADC.
- Doğruluk: %97-98 beklenir.
Formalizm: Uçtan Uca Matematik
1. Veri: MNIST imge , label .
Normalize: , training set’ten.
2. Mimari:
İlk katman: , .
Aktivasyon: .
İkinci katman: , .
Çıkış: , 10-sınıflı olasılık.
3. Loss (bilgi kuramı):
Cross-entropy: , doğru etiket.
4. Gradient (kalkülüs):
Backprop:
- (one-hot)
- (ReLU türev)
Update: .
5. Eğitim döngüsü:
- 60,000 eğitim imgesi.
- Epoch 10 (tüm veri 10 kez).
- Batch 64, learning rate 0.01.
- FP32 aritmetik (GPU’da).
Eğitim sonu: FP32 doğruluk ~%98.
6. Kuantizasyon:
Ağırlıklar FP32 → INT8:
- Dinamik aralık: ‘nin min/max.
- 256 seviye: .
- Yuvarla: .
Aktivasyonlar da INT8 quantize (layer-wise calibration).
Post-quantization doğruluk: ~%97.8 (0.2% kayıp).
7. SIDRA’ya deploy:
Her INT8 ağırlık → memristör iletkenlik seviyesi.
- → .
- ISPP ile her hücre hedef ‘ye programlanır (Modül 5.5).
- Pozitif ağırlık = ; negatif ağırlık = ayrı “negative” crossbar (veya tek crossbar’da offset).
8. Inference (SIDRA):
- Giriş DAC ile voltaj ‘e dönüşür.
- Crossbar MVM: (Ohm + KCL, 10 ns).
- ADC: ‘yi INT8 sayıya çevir.
- CMOS: ReLU uygula, bir sonraki katmana geçir.
- Son katmanda softmax (dijital) + argmax → sınıf.
Toplam inference: ~50-100 ns + ADC overhead. Saniyede 10M+ MNIST inference.
9. Gürültü analizi:
Her MVM çıkışı: , , relative.
2 katman → gürültü birikir: relative.
Sınıflandırma marjı (top-1 vs top-2 score farkı) tipik ~20-50%. Gürültü < marj → sınıflandırma doğru.
Ama: bazı zor örneklerde marj küçük (örn. 4 vs 9, 1 vs 7). Gürültü eşiği geçince yanlış sınıflandırma. Beklenen kayıp: %0.5-1.
Averaging: 4× tekrar okuma gürültüyü yarıya indirir. Süre 4×, enerji 4× → doğruluk %0.2 artar. Trade-off.
10. Enerji:
- MVM: 26 pJ + ADC 256 pJ + DAC 128 pJ + kontrol 50 pJ ≈ 460 pJ.
- 2 katmanlı inference: 2 × 460 pJ = 920 pJ ≈ 1 nJ/inference.
- SIDRA Y1 3W TDP → 3 × 10¹² / 1 × 10⁻⁹ = 3 milyon inference/saniye.
Karşılaştırma: H100 batch 32’de 100 GOPS → ~10 µs/inference = 100K/s per thread; ama batch tutarsan milyonlar. SIDRA tekil küçük batch için çok verimli.
11. Bilgi kuramı çerçevesi:
MNIST ayrık dağılımı: bit.
Model cross-entropy: bit (eğitilmiş).
Karşılıklı bilgi bit — model girdiden 3.25 bit bilgi çıkarıyor.
Ağırlıklar 100K × 8 bit = 800 kbit toplam. Büyük çoğunluğu “gereksiz”: information bottleneck perspektifinden pruning + quantization modelin boyutunu çok daha aza indirebilir.
12. Fourier (opsiyonel):
Eğer CNN kullansaydık: konvolüsyon katmanları. Büyük filtrelerle FFT-tabanlı hızlandırma mümkün. MNIST için küçük 3×3 filtreler yeter, doğrudan MVM.
Deney: Tek Bir MNIST Imgesini Inference Et
MNIST test imgesi “7” (784 piksel, normalize edilmiş):
Katman 1 (784 → 128):
- Giriş vektörü : 784 değer, -1 ile 1 arası.
- Ağırlık matrisi : 128×784 → 100K değer. SIDRA crossbar: 4 tane (256×256) kısmi kaplar. Ama 784 = 256 × 3 + 16 → 3 veya 4 crossbar. İlk basitleştirme: 128 × 768 kullan (16 pikseli kırp) → 3 crossbar.
- MVM sonucu .
- ReLU: negatif olanları sıfırla, pozitifleri tut.
Katman 2 (128 → 10):
- Giriş .
- Ağırlık : tek 128×128 crossbar yeter (ilk 10 sütun kullanılır).
- MVM sonucu .
- Softmax (dijital): her class için olasılık.
Çıkış: olasılık vektörü, örn. .
Argmax: index 7 → “7” sınıfı. Doğru!
Süre:
- Katman 1 (3 MVM paralel): 10 ns + ADC 5 ns = 15 ns.
- Katman 2 (1 MVM): 15 ns.
- CMOS aktivasyon + softmax: ~20 ns.
- Toplam: ~50 ns/inference. 20M inference/saniye teorik.
Enerji:
- 4 MVM × 460 pJ = ~2 nJ.
- SIDRA Y1 3W × 50 ns = 150 nJ ama aktivite düşük → gerçek ~2-10 nJ.
Doğruluk:
- FP32 model: %98.
- SIDRA INT8 + gürültü: %97.5-97.8.
- Bir tek “7” imgesinde: doğru sınıflandırma olasılığı > %99.
Kapsayıcı Sınav
Modül 4’teki 7 bölümü test eder. Her soru 2-3 kavramı birleştirir.
Bütünleştirici Laboratuvar: Kendi MNIST Modelini Tasarla
Aşağıdaki adımlarla Modül 4’ü uygulamaya dök.
Görev: SIDRA Y1’e “3 vs 8” ikili sınıflandırıcı yükle.
Parametreler:
- Veri: MNIST’in sadece 3 ve 8 rakamları (~12,000 eğitim imgesi).
- Hedef: 2 sınıf doğruluk > %99.
Kararlar:
(a) Mimari: MLP 784 → 64 → 2? CNN 3×3 filtre + max pool + FC? Hangisi SIDRA’ya uyar?
(b) Eğitim: Kaç epoch? Optimizer (SGD vs Adam)? Learning rate?
(c) Kuantizasyon: INT8 post-training mi, QAT mi? Hangi eğitim bütçesi?
(d) SIDRA mapping: Toplam kaç crossbar kullanılır? Memori budget ne?
(e) Gürültü analizi: Gürültülü inference için averaging faktörü?
(f) Deploy: Inference başına süre/enerji?
Çözümler
(a) MLP 784 → 64 → 2. Basit, hızlı, SIDRA’ya ideal. CNN daha doğru olabilir ama 3 vs 8 basit → MLP yeter. Crossbar: ilk katman ~3 adet 256×256, son 1 adet.
(b) Adam optimizer, lr=0.001, 5 epoch. Küçük dataset → az epoch yeter. Adam hyperparam-tolerant. Batch 64.
(c) QAT 3 epoch FP32 + 2 epoch INT8 simulate. Post-training %0.2 kayıp yeter ama QAT daha güvenli özellikle %99+ hedefiyle.
(d) 4 crossbar toplam. 3 × 784/256 ≈ 3 crossbar ilk katman, 1 × 64/256 az kısım son katman. Total ~260K hücre, Y1’in %0.06’sı. 1600× fazla boş alan → başka model veya ensemble.
(e) 2-sınıf karar marjı büyük (FP32’de ~%100 güven) → gürültü çoğunlukla toleransa alınır. Averaging 1 (tek okuma yeter). Kritik değilse.
(f) Süre: 30 ns/inference (2 MVM + CMOS). Enerji: ~0.5 nJ. Hız: 6M inference/s/çip. Güç: 3 W (TDP-bound).
Uzantı: aynı 4 crossbar 10 farklı “ikili vs” sınıflandırıcı saklar → one-vs-all → tam 10-sınıfı sınıflandırıcı. Ensemble MNIST doğruluk ~%98.5.
Modül 4 Özet Kartı
Bir bakışta kazandıkların:
- ✅ Vektör, matris, MVM — AI’nın temel atomu.
- ✅ Ohm + KCL = analog MVM fizik köprüsü.
- ✅ Türev + gradient — eğitimin matematik atomu.
- ✅ Olasılık + gürültü — SIDRA’nın gerçekliği + AI’nın regularizer’ı.
- ✅ Fourier — sinyal işleme + bazı AI mimarileri (FNO, FNet).
- ✅ Kuantizasyon — bit-derinliği = SIDRA hücre seviyesi.
- ✅ Bilgi kuramı — teorik kapasite limitleri + AI loss fonksiyonları.
- ✅ Uçtan uca: MNIST pipeline SIDRA Y1’de ~1 nJ/inference.
SIDRA’ya hazırsın: Modül 5 bu matematiği silikona döker. ADC, TDC, sense-amplifier, compute engine, DMA — hepsi Modül 4 kavramlarının devre tasarımı.
Vizyon: Matematik → Silikon → AI
Modül 4 matematik verdi, Modül 5 silikon verecek. Ama köprünün yönü tek yönlü değil:
- Y1 (bugün): Klasik matematik (FP32) → kuantizasyon → SIDRA. Yön: matematik → donanım.
- Y3 (2027): Donanım-aware eğitim. Gürültü, kuantizasyon, gradient’ın SIDRA fiziği. Yön çift.
- Y10 (2029): Hardware-Software co-design. Mimari, kuantizasyon, model hep birlikte optimize. Compiler Modül 4 matematiği kullanarak devre parametrelerini değiştirir.
- Y100 (2031+): Matematik-native donanım. Cihaz fiziği (memristör, fotonik) doğrudan AI primitivelerini (MVM, gradient, attention) yapar. Mathematical abstraction = donanım abstraction.
- Y1000 (uzun vade): Yeni matematik. Analog AI kendi özel matematiğini geliştirir — stochastic, non-linear, brain-like kural sistemleri.
Türkiye için anlam: Modül 4 boyunca gördük — klasik akademik matematik eğitimi SIDRA için birebir geçerli. Türkiye’nin güçlü matematik + fizik + mühendislik geleneği = SIDRA için doğal altyapı. Dünya sıralamasında matematik en başarılı olduğumuz alanlardan biri (matematik olimpiyat madalyaları, akademik yayınlar). Bu birikimi SIDRA’ya akıtmak stratejik fırsat.
Beklenmedik gelecek: AI kendi matematiğini keşfetmesi. Bugün AI insan matematiğini kullanıyor. Yarın AI keşfediyor: yeni teoremler (Wu 2024 örnekleri), yeni algoritmalar (AlphaEvolve), yeni fizik (PINN). SIDRA Y100 + simbolik AI → Türkiye’den çıkan ilk “otomatik bilim keşfetme” sistemi olabilir.
Daha İleri
- Bir sonraki modül: 🚧 5.1 · Nöromorfik Hesaplama Paradigması — Yakında
- Önceki: 4.7 — Bilgi Kuramı
- Modül 1 özeti: 1.10 — Fizik Modül Özeti
- Modül 2 özeti: 2.10 — Kimya Modül Özeti
- Lineer cebir (klasik): Strang, Introduction to Linear Algebra, 6. baskı.
- Matematik + AI birlikte: Goodfellow, Bengio, Courville, Deep Learning — Bölüm 2-4 matematik temeli.
- Information theory + ML: MacKay, Information Theory, Inference, and Learning Algorithms.
- Modern AI matematik: Deisenroth, Faisal, Ong, Mathematics for Machine Learning.