Vektör, Matris, MVM
SIDRA crossbar'ının kalbinde tek bir cebir işlemi var.
Bu bölümde öğreneceklerin
- Vektör ve matris kavramlarını sayı dizileri olarak tanımla
- Matris-vektör çarpımının (MVM) bir iç çarpım koleksiyonu olduğunu göster
- MVM'nin O(N²) karmaşıklığını ve crossbar'ın bunu O(1) zamana indirdiğini açıkla
- Bir 256-boyutlu vektör + 256×256 matrisin SIDRA crossbar'ında nasıl haritalandığını çiz
- Modern AI yükünün neden ezici çoğunluğunun MVM olduğunu kavra
Açılış: Bir İşlem Tüm AI'ı Çalıştırıyor
Eğer modern AI’da harcanan tüm hesaplamayı tek tip işleme indirgeyebilirsek, %90’dan fazlası tek bir şey çıkar: matris-vektör çarpımı (Matrix-Vector Multiplication, MVM).
- Bir transformer attention bloğu: 6 MVM (Q, K, V, O, FFN1, FFN2). Softmax ve normalizasyon küçük pay.
- Bir CNN konvolüsyon katmanı: filtreleme = pencere üzerine MVM.
- Bir RNN/LSTM: her zaman adımı = MVM.
- GPT-3 inference: ~99% MVM, geri kalan softmax + LayerNorm.
Yani AI hızlandırıcısı = MVM hızlandırıcısı. SIDRA crossbar bu yüzden tasarlandı: bir MVM’yi tek bir analog adımla yapar.
Bu bölüm MVM’nin matematiğini sıfırdan kurar: vektör nedir → matris nedir → çarpım nasıl olur → SIDRA crossbar bunu neden bu kadar verimli yapar.
Sezgi: Vektör, Matris, ve Çarpım
Vektör, sıralı bir sayı listesidir. Bir vektör hem bir nokta (uzayda) hem bir yöndür.
İki boyutlu, dört boyutlu, 256 boyutlu — fark sadece eleman sayısı.
Matris, sayıların dikdörtgen tablosudur — sıralı vektörlerin koleksiyonu.
burada 2×3 matristir (2 satır, 3 sütun).
Matris-vektör çarpımı (MVM):
Anlamı: ‘nin her satırı, vektörüyle iç çarpım yapar. Sonuç: bir yeni vektör.
Sayısal örnek:
.
Her satır bir iç çarpım. matris için iç çarpım = çarpma + toplama. Hesap karmaşıklığı .
Sezgi sonucu: Bir nöral ağ katmanı = MVM + aktivasyon. Bir crossbar = MVM. Eşleşme doğal.
Formalizm: Vektör Uzayları ve Lineer Dönüşümler
Vektör tanımı (kompakt):
İç çarpım (dot product):
İç çarpım iki vektörün benzerliğini ölçer (kosinüs cinsinden):
- = vektörler arası açı.
- Tam aynı yön → , maksimum.
- Dik → 0.
- Zıt → −1.
Matris-vektör çarpımı (formal):
, . Sonuç :
Her için bir iç çarpım: ‘nin -inci satırı × .
Lineer dönüşüm olarak matris:
Bir matrisi, ‘den ‘ye lineer fonksiyondur:
Geometrik olarak: rotasyon, ölçekleme, kayma, izdüşüm — hepsi matris çarpımıyla yapılır.
Tipik AI matris boyutları:
| Model | Bir katman matris boyutu |
|---|---|
| MLP MNIST sınıflayıcı | 784 × 128, 128 × 10 |
| ResNet-50 son katman | 2048 × 1000 |
| GPT-2 small attention | 768 × 768 |
| GPT-3 attention | 12288 × 12288 |
| Llama-2 70B FFN | 8192 × 28672 |
GPT-3 tek attention katmanı: 12288² ≈ 151M ağırlık. 96 katman → ~14B ağırlık. Tek inference adımında milyarlarca MVM operasyonu.
Karmaşıklık: MVM için çarpma + toplama. Toplam FLOP.
| FLOP | Dijital süre (1 GHz, 1 op/cycle) | SIDRA analog süre | |
|---|---|---|---|
| 256 | ~131K | 131 µs | ~10 ns (tek MVM, paralel) |
| 1024 | ~2M | 2 ms | ~10 ns |
| 12288 (GPT-3) | ~302M | 0.3 s | birkaç MVM, hâlâ ~ns |
Crossbar avantajı: paralellik. Tüm çarpma aynı anda fiziksel olarak yapılır (Ohm yasası), ardından toplam aynı anda yapılır (Kirchhoff). 1.5 ve 3.7’de gördük.
Matris çarpımı (matrix-matrix, MVM’nin genelleştirmesi):
, , :
Karmaşıklık: . Tipik AI’da → . GPT-3 attention bir matris-matris çarpım: FLOP/katman. 96 katman → ~ FLOP/inference. Bir tek H100 GPU bunu ~50 ms’de yapar.
SIDRA matrix-matrix yaklaşımı: matrix-matrix = matrix-vector. SIDRA bunları sırayla yapar. Y1: 256×256 crossbar. Bir 12288×12288 matris için ~48 crossbar gerekir, paralel kullanılır. Toplam matrix-matrix süre = MVM süresi = ns.
Sparse vs dense:
- Dense matris: %100 dolu. Tipik FFN.
- Sparse matris: çoğu sıfır. Modern büyük modellerde %50-90 sparsity.
- SIDRA dense’e ideal. Sparse için ek devre (ya da hücreyi sıfır programla).
Düşük-rank yaklaşıklama (LoRA):
Modern fine-tuning’de büyük matris yerine düşük-rank güncelleme: , , , . Bellek + hesap . SIDRA Y10’da LoRA-tipi inkremental öğrenme aday.
SIDRA crossbar’ında pratik hesap:
256×256 crossbar:
- 65,536 memristör (her biri 8-bit ağırlık).
- Bir MVM: 256-girişli vektör × 256×256 matris → 256-girişli vektör.
- Süre: ~10 ns (read setup + Ohmic settling).
- Enerji: 256 × 0.1 pJ = ~26 pJ per MVM.
- Verim: 65K MAC / 26 pJ = 2.5 × 10¹² MAC/J = 2.5 TMAC/J = 2.5 TOPS/W (sadece crossbar; çevre devresi dahil değil).
Çevre devresi (ADC, DAC, kontrol) genelde toplam enerjinin %50-90’ı — bu yüzden gerçek SIDRA Y1 verimi ~10 TOPS/W (lab 3.4’te gördük).
Deney: 4×4 MVM'yi Adım Adım
,
Manuel hesap:
.
Hesap sayısı: 4 × 4 = 16 çarpma + 4 × 3 = 12 toplama = 28 işlem. Dijital CPU’da: 28 saat çevrimi (ideal) ≈ 28 ns @ 1 GHz.
SIDRA crossbar’da:
- 4×4 = 16 memristör. (programlanmış iletkenlik).
- (giriş gerilimleri 4 satıra).
- Her sütunda akım toplanır: .
- 16 çarpma + 12 toplama tek bir Ohmic + KCL adımında olur. Süre: ~10 ns.
Karşılaştırma: Aynı işi yapmak için CPU 28 ns, GPU bir tek thread’de ~10 ns (paralel core), SIDRA crossbar ~10 ns ama enerji 100× daha az.
Ölçeklendirelim: MVM:
- CPU: ~2.1M ns ≈ 2 ms.
- GPU (tüm core’lar): ~50 ns (A100 cuBLAS).
- SIDRA: 16 paralel crossbar (256×256 her biri) → ~10 ns. GPU ile yarışır, 100× daha az enerji.
Kısa Sınav
Laboratuvar Görevi
GPT-2 small modelinin tam parametre haritasını SIDRA Y1 crossbar dağılımına çıkar.
GPT-2 small mimarisi:
- Embedding: 50257 (vocab) × 768 (d_model)
- Pozisyonel embed: 1024 × 768
- 12 transformer bloğu, her biri:
- Attention W_Q, W_K, W_V, W_O: her biri 768 × 768
- FFN: W_1 = 768 × 3072, W_2 = 3072 × 768
- Final layer norm + output: 768 × 50257
SIDRA Y1:
- 419M memristör.
- Her crossbar: 256 × 256 = 65,536 hücre.
- Toplam crossbar: 419M / 65,536 ≈ 6400.
Sorular:
(a) Tek bir attention matrisi (768 × 768) kaç crossbar? (b) Tek bir FFN matrisi (768 × 3072) kaç crossbar? (c) Bir tek transformer bloğu toplam kaç crossbar? (d) 12 blok + embeddingler dahil, tüm GPT-2 small kaç crossbar? (e) Y1’in yüzde kaçını kullanır? Geri kalan ile başka ne yapılabilir?
Çözümler
(a) 768 / 256 = 3 → 3×3 = 9 crossbar/attention matrisi. Bir attention bloğunda 4 matris (Q, K, V, O) → 36 crossbar.
(b) FFN: 768 × 3072 → (3 × 12) = 36 crossbar. 3072 × 768 → (12 × 3) = 36 crossbar. Toplam 72 crossbar/FFN.
(c) 36 (attention) + 72 (FFN) = 108 crossbar/blok.
(d) 12 blok × 108 = 1296 crossbar. Embedding 50257 × 768 → ~600 crossbar. Output projeksiyon ~600 crossbar. Toplam ~2500 crossbar.
(e) 2500 / 6400 = %39. Y1’in %61’i serbest → başka modeller (BERT-small, MobileNet, küçük LSTM) veya çoklu kopya GPT-2 inference (batching).
Not: Bu sadece statik depolama. Inference için ek scratch memory (KV cache, activations) gerekir → bunu CMOS DRAM çevre devresi karşılar. SIDRA Y1 = inference için “hazır model deposu + MVM motoru”.
Özet Kart
- Vektör: sıralı sayı listesi, .
- Matris: sayıların dikdörtgen tablosu, .
- MVM: , her satır iç çarpım. Karmaşıklık .
- İç çarpım: . Benzerlik ölçer.
- AI’da MVM payı: ~%90+ (transformer, CNN, RNN).
- Crossbar avantajı: çarpma paralel + toplam paralel = adım.
- SIDRA Y1: 256×256 crossbar, 1 MVM ~10 ns, ~26 pJ.
Vizyon: MVM-Native Hesaplama ve SIDRA'nın Rolü
MVM hesaplamanın merkezi haline geldi — ama dijital donanım onu kötü yapar (2N² FLOP, sıralı). Analog crossbar onu iyi yapar (1 adım). Bu yüzden:
- Y1 (bugün): 256×256 crossbar, ~10 TOPS/W. GPT-2 small inference tek çipte.
- Y3 (2027): 512×512 crossbar, daha iyi ADC, ~50 TOPS/W. GPT-2 medium / BERT-base.
- Y10 (2029): 1024×1024 crossbar, 16-bit ağırlık, ~150 TOPS/W. GPT-3 small (2.7B) tek çipte.
- Y100 (2031+): 4096×4096 crossbar, fotonik ağırlık aktarımı, ~1000 TOPS/W. GPT-3 175B birkaç çipte. Tüm-zaman-bestseller LLM inference edge’de.
- Y1000 (uzun vade): Crossbar yapısı + 3D stacking + analog backprop. Eğitim de analog.
Türkiye için stratejik önem: MVM hızlandırma kategorisi henüz tek lider yok. NVIDIA dijital, Cerebras wafer-scale, Mythic analog-flash, Rain analog-photonic — kategori henüz açık. SIDRA “memristör-tabanlı analog MVM” alt-kategorisinde dünya lideri olma yolunda. Bu, klasik CPU/GPU yarışından çıkmanın somut yolu.
Beklenmedik gelecek: MVM-native programlama dili. Bugün AI yazılımı (PyTorch, JAX) FLOP-tabanlı düşünür. SIDRA + benzer crossbar mimarileri yaygınlaşırsa MVM-native compiler + dil ortaya çıkar — donanımın gerçek soyutlamasına uygun. SIDRA’nın yazılım yığını (Modül 6) bu yönde ilerleyecek.
Daha İleri
- Bir sonraki bölüm: 4.2 — Ohm + Kirchhoff = Analog MVM
- Önceki: 3.8 — STDP
- Klasik referans: Strang, Linear Algebra and Its Applications — lineer cebirin standart ders kitabı.
- MVM hızlandırıcı tarihçesi: Hennessy & Patterson, Computer Architecture: A Quantitative Approach, 6. baskı.
- In-memory computing: Sebastian et al., Memory devices and applications for in-memory computing, Nature Nanotech. 2020.
- Modern AI hızlandırıcı karşılaştırması: Jouppi et al., In-datacenter performance analysis of a tensor processing unit, ISCA 2017 (Google TPU).