💻 Modül 6 · Yazılım Yığını · Bölüm 6.10 · 11 dk okuma

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ı:

  1. Model seç (HuggingFace Whisper + Marian).
  2. Quantization-aware training (TR veri ile).
  3. Compiler (PyTorch → SIDRA binary).
  4. Simulator validation (doğruluk %95).
  5. FPGA prototip test.
  6. Driver + firmware test.
  7. Y1 prototip deploy.
  8. CI/CD pipeline.
  9. Üretim ve dağıtım.

Formalizm: Uçtan Uca Pipeline

L1 · Başlangıç

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
L2 · Tam

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.

L3 · Derin

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.0

SemVer + lock file. Production stable, dev streets bleeding edge.

Üretim deploy:

Müşteri cihazına yüklenen aşamalar:

  1. SIDRA driver (kernel modülü, sistem-kurulum).
  2. Firmware (Y1 boot ROM, bir kez).
  3. SDK runtime (uygulama ile gelir).
  4. 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şamaSüre
Mikrofon kayıt5000 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
Toplam5400 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ı

1/8SIDRA yazılım yığınının 5 katmanı nedir?

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 103/birim,paketleme103/birim, paketleme 50, ARM SoC 30,batarya30, batarya 20, mikrofon 10,kasa10, kasa 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