Uçtan Uca Üretim Yığını Laboratuvarı
Modül 6'yı kapayan derin dalış — bir SIDRA app'i sıfırdan deploya.
Bu bölümde öğreneceklerin
- Modül 6'nın 9 bölümünü tek bir uçtan uca proje ile birleştir
- PyTorch model → SIDRA inference akışını adım adım izle
- 5 yazılım katmanının nasıl etkileştiğini doğrula
- Üretim CI/CD ve sürüm yönetimini özetle
- Modül 7 (üretim) için hazırlık yap
Açılış: Modül 6'nın Tüm Yığını
Modül 6’da 9 bölüm: driver → kernel modülü → firmware → ISPP → SDK → PyTorch → compiler → simulator → test. Bu bölüm hepsini bir uçtan uca gerçek senaryoda topluyor:
“Türkçe konuşma tanıma + çeviri uygulamasını SIDRA Y1’e deploy et.”
Sonra Modül 7 (üretim) başlıyor — yazılım hazır, şimdi gerçek wafer.
Sezgi: 9 Adım, 1 Ürün
Senaryo: Bir Türk girişimi “Yerli AI Asistanı” ürünü çıkarıyor. SIDRA Y1 + ARM CPU + mikrofon. Whisper-tiny (konuşma tanıma) + MarianNMT (TR→EN çeviri) modelleri SIDRA’da.
Geliştirme adımları:
- Model seç (HuggingFace Whisper + Marian).
- Quantization-aware training (TR veri ile).
- Compiler (PyTorch → SIDRA binary).
- Simulator validation (doğruluk %95).
- FPGA prototip test.
- Driver + firmware test.
- Y1 prototip deploy.
- CI/CD pipeline.
- Üretim ve dağıtım.
Formalizm: Uçtan Uca Pipeline
Adım 1: Model seç ve indir.
from transformers import WhisperForConditionalGeneration, WhisperProcessor
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-tiny")
processor = WhisperProcessor.from_pretrained("openai/whisper-tiny")39M parametre. SIDRA Y1’in %9’u kullanılır.
Adım 2: Türkçe ile fine-tune (CPU/GPU).
import torch
from datasets import load_dataset
tr_dataset = load_dataset("mozilla-foundation/common_voice_13_0", "tr")
# Standart PyTorch eğitimi
optimizer = torch.optim.Adam(model.parameters(), lr=1e-5)
for epoch in range(3):
for batch in tr_dataset:
loss = model(**batch).loss
loss.backward()
optimizer.step()
# Sonuç: Türkçe WER %15 (kabul edilebilir).Adım 3: QAT (Quantization-Aware Training).
from torch.quantization import prepare_qat, convert
model_qat = prepare_qat(model)
# 1 epoch QAT
for batch in tr_dataset:
model_qat(**batch).loss.backward()
optimizer.step()
model_int8 = convert(model_qat)Sonuç: INT8 model. Doğruluk kaybı %0.5.
Adım 4: SIDRA compile.
import sidra
compiled = sidra.compile(
model_int8,
calib_data=tr_dataset[:100],
target="y1",
optimization_level=2
)
print(compiled.size_mb, compiled.crossbar_count)
# 78 MB, 600 crossbar Adım 5: Simulator validation.
sim = sidra.AccurateSimulator(compiled)
test_wer = sim.benchmark_wer(tr_test_set)
print(f"Sim WER: {test_wer:.1%}") # 16.5%Kabul kriteri: WER < %20. Geçti.
Adım 6: FPGA test.
FPGA prototipinde aynı binary’yi çalıştır. Doğruluk teyit edilir.
fpga = sidra.FPGADevice("xilinx_u280")
fpga.deploy(compiled)
fpga_wer = fpga.benchmark_wer(tr_test_set)
# 16.7% (sim ile uyumlu)Adım 7: Y1 deploy.
chip = sidra.Chip(0) # gerçek Y1
chip.deploy(compiled)
# Inference
audio = record_microphone(seconds=5)
text = chip.infer_whisper(audio)
print(text) # "Merhaba, nasılsın?"5 saniye ses → 100 ms inference. 50 mJ enerji.
Adım 8: Translation modeli ekle.
Marian NMT TR→EN benzer pipeline:
nmt = sidra.compile(marian_model, ...)
chip.deploy([whisper_compiled, nmt_compiled]) # iki model paralel
text = chip.infer_whisper(audio) # TR
translation = chip.infer_marian(text) # EN
print(translation) # "Hello, how are you?"Toplam pipeline: 200 ms ses → metin → çeviri.
Adım 9: CI/CD.
GitHub Actions workflow:
name: SIDRA Build & Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install SIDRA SDK
run: pip install sidra
- name: Test on simulator
run: python tests/test_whisper.py
- name: Test on FPGA (self-hosted runner)
run: python tests/test_fpga.py
if: github.ref == 'refs/heads/main'Her commit otomatik test. PR review’ları CI sonucu görünür.
Versiyon yönetimi:
my-app v1.0.0
├── sidra-sdk 1.2.3
│ ├── sidra-driver 1.1.0
│ ├── sidra-firmware 1.0.5
│ └── sidra-compiler 1.2.0
├── pytorch 2.4.0
└── transformers 4.50.0SemVer + lock file. Production stable, dev streets bleeding edge.
Üretim deploy:
Müşteri cihazına yüklenen aşamalar:
- SIDRA driver (kernel modülü, sistem-kurulum).
- Firmware (Y1 boot ROM, bir kez).
- SDK runtime (uygulama ile gelir).
- Compiled model (uygulama içinde).
OTA (Over-The-Air) update: model + firmware sahada güncellenebilir.
Üretim ölçek:
Yerli AI Asistanı startup’ı 100K cihaz/yıl yıllık üretim. Her cihaz 1 SIDRA Y1 → 100K çip/yıl.
SIDRA atölye kapasitesi: 100K/yıl (Modül 5.14). Eşleşir. Yerli üretim mümkün.
Y10 + ölçek:
Y10 ile aynı cihaz: GPT-4 boyutunda model. Cep telefonu boyutta cihaz. 100K/yıl → 1M/yıl artar. Mini-fab gerek (Modül 7.5).
Deney: Tam Pipeline Performans
Yerli AI Asistanı Y1:
| Aşama | Süre |
|---|---|
| Mikrofon kayıt | 5000 ms (kullanıcı konuşma) |
| Audio preprocessing (CPU) | 50 ms |
| Whisper inference (SIDRA) | 100 ms |
| Marian translation (SIDRA) | 50 ms |
| TTS (CPU, post-process) | 200 ms |
| Toplam | 5400 ms |
Inference saf süre: 150 ms (SIDRA payı). Düşük gecikme.
Enerji:
- Inference (SIDRA): 50 + 25 = 75 mJ.
- CPU + sensor: ~500 mJ (5 saniyelik kullanım).
- Toplam: ~575 mJ/etkileşim.
Pil: 4000 mAh = 53 kJ. Kaç etkileşim? 53000 / 0.575 = 92,000 etkileşim. Günde 100 etkileşim → 920 gün = 2.5 yıl pil.
(Gerçekte: idle güç hakim. Aktif inference enerjisi pil ömrü için ihmal.)
Modül 6 Kapanış Sınavı
Bütünleştirici Laboratuvar: Yerli AI Asistanı Tasarımı
Sen bir Türk girişimsin. SIDRA Y1 üstüne “Yerli AI Asistanı” ürünü tasarlıyorsun.
Hedefler:
- Türkçe konuşma + çeviri.
- 24 saat pil.
- 200 TL satış fiyatı.
- 100K/yıl üretim.
Kararlar:
(a) Hangi modeller? Boyutları?
(b) SIDRA Y1 boş kapasitenin ne kadarı yeterli?
(c) Pil ömrü nasıl optimize?
(d) Sürüm yönetimi: nasıl OTA güncelleme?
(e) Üretim CapEx + işletme maliyeti?
Çözümler
(a) Whisper-tiny (39M) + MarianNMT TR-EN (75M) + TTS (50M) = 164M parametre = SIDRA Y1’in %39’u. Geriye yer var (başka modeller veya batch).
(b) Y1 419M, model 164M → %39. Verimli kullanım.
(c) DVFS Idle modu (Modül 5.11) → 100 mW idle. Aktif inference 3 W ama ~%5 zaman. Ortalama: 0.3 W. Pil 14.8 Wh / 0.3 W = 50 saat = 2 gün. 24 saat hedef rahat.
(d) OTA: SIDRA SDK firmware + model güncellemesi destekler. 4G ile 100 MB indirme + ISPP reflash. Y1’de 640 ms. Saha kullanıcısı görmez.
(e) CapEx: SIDRA Y1 atölye yatırımı 5M (çoklu ürün arası). Ürün özel R&D 500K. İşletme: Y1 çip 50, ARM SoC 20, mikrofon 30 = $243/birim. 100K satış 200 TL → düşük marj. Y3 fiyatı düşürür.
Sonuç: Yerli AI Asistanı 2027 yılında ürünleştirilebilir. Türkiye AI ekosisteminin somut çıktısı.
Modül 6 Özet Kartı
10 bölümde gördüklerimiz:
- 6.1 OS + PCIe driver temelleri.
- 6.2 aether-driver internals.
- 6.3 RISC-V firmware.
- 6.4 ISPP algoritma.
- 6.5 SDK katmanları.
- 6.6 PyTorch backend.
- 6.7 Compiler.
- 6.8 Digital twin.
- 6.9 Test/kalibrasyon.
- 6.10 Üretim yığını lab (bu).
Modül 6 mesajı: SIDRA çipinin işe yarar olması yazılım yığınına bağlı. 5 katman birlikte tasarlanır, geliştirilir, test edilir.
Vizyon: Donanım + Yazılım Birlikte
Modül 6 yazılım. Modül 7 donanım üretimi: bu çip nasıl bilfiil yapılır?
- Temizoda: UNAM, atölye, mini-fab.
- Wafer akışı: TSMC 28 nm CMOS + UNAM BEOL memristör.
- Paketleme: ASE, Amkor (Tayvan).
- Test: SIDRA atölye.
Yazılım + donanım co-design: SIDRA’nın bütünsel yaklaşımı. Modül 7 son tarafı tamamlar.
Türkiye için: yazılım Türkiye’nin güçlü yanı. Donanım altyapısı yatırımla. Birlikte = Türkiye AI lider.
Daha İleri
- Bir sonraki modül: 🚧 7.1 · Temiz Oda ve ISO Sınıfları — Yakında
- Önceki: 6.9 — Test, Kalibrasyon, Doğrulama
- Modül 5 özet: 5.15 — Termal ve Paketleme Derinliği.
- Modül 4 özet: 4.8 — Lineer Cebir Lab.
- Üretim yazılımı: Continuous deployment, GitHub Actions documentation.