Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

AI/ML & Machine Learning

Yüksek performanslı yapay zeka ve makine öğrenmesi kütüphanesi

15
Modül
28.8x
Hızlanma
70 GB/s
SIMD
882x
Sıkıştırma

Genel Bakış

BERK AI/ML kütüphanesi, modern yapay zeka ve makine öğrenmesi uygulamaları için kapsamlı araçlar sunar. PyTorch ve TensorFlow ile uyumlu API tasarımı, SIMD optimizasyonları ve paralel işleme desteği ile yüksek performans sağlar.

Temel Özellikler

  • SIMD Optimizasyonu: AVX2 desteği ile 70 GB/s throughput
  • Paralel İşleme: Rayon ile 4.96x hızlanma
  • LZ4 Sıkıştırma: Model kaydetme 28.8x daha hızlı, 882x küçük dosyalar
  • Cache Optimizasyonu: Bloklu matris çarpımı ile 2.5x hızlanma
  • LLM Desteği: OpenAI, Anthropic, Gemini, Ollama API entegrasyonu
  • Sıfır Bağımlılık: Tamamen BERK ile yazılmış, native performans

Performans Metrikleri

Optimizasyon Öncesi Sonrası İyileştirme
Matris Çarpımı (256×256) 0.97 GFLOPS 2.47 GFLOPS 2.5x
Model Kaydetme (34.9 MB) 880 ms 30 ms 28.8x
Model Dosya Boyutu 131 MB 0.15 MB 882x küçük
SIMD Throughput 8.75 GB/s 70 GB/s 8x
Batch Processing 4,410 batch/sn 18,546 batch/sn 4.96x
Model Yükleme ~1000 ms 99 ms 10.1x

AI/ML Modülleri

tensor

Tensör işlemleri ve matris operasyonları

Bloklu algoritma, SIMD (AVX2), broadcasting

nn

Sinir ağı katmanları ve aktivasyonlar

Linear, Conv2D, LSTM, BatchNorm, Dropout

optim

Optimizasyon algoritmaları

Adam, AdamW, SGD, RMSprop, Schedulers

train

Model eğitimi ve callback sistemi

Training loops, EarlyStopping, Checkpointing

model

Model yönetimi ve serileştirme

LZ4 compression (28.8x faster), Quantization

llm

Büyük dil modelleri API

OpenAI, Anthropic, Gemini, Ollama

metrics

Değerlendirme metrikleri

Accuracy, Precision, Recall, F1, MSE, R²

vision

Bilgisayarlı görü modelleri

ResNet, YOLO, UNet, Image preprocessing

nlp

Doğal dil işleme

BERT, Tokenizers, Attention, NER

rl

Pekiştirmeli öğrenme

DQN, PPO, SAC, Replay buffer

Hızlı Başlangıç

Basit Sinir Ağı

modül kullan ai/tensor;
kullan ai/nn;
kullan ai/optim;

// Model oluştur
değişken model = Sequential::yeni([
    Linear::yeni(784, 128),
    ReLU::yeni(),
    Dropout::yeni(0.2),
    Linear::yeni(128, 10),
    Softmax::yeni()
]);

// Optimizer
değişken optimizer = Adam::yeni(model.parametreler(), lr: 0.001);

// Eğitim döngüsü
her epoch içinde aralık(10) için yap
    değişken çıktı = model.ileri(X_train);
    değişken kayıp = cross_entropy(çıktı, y_train);
    
    optimizer.sıfırla();
    kayıp.geri();
    optimizer.adım();
    
    yazdir("Epoch {}: Kayıp = {:.4f}", epoch, kayıp);
son

LLM API Kullanımı

kullan ai/llm;
kullan async;

async fonksiyon sohbet() yap
    // OpenAI istemcisi
    değişken client = OpenAI::yeni("api-key");
    
    // Chat tamamlama
    değişken yanit = await client.chat([
        { role: "user", content: "Merhaba!" }
    ]);
    
    yazdir(yanit.content);
son

Model Kaydetme/Yükleme (LZ4)

kullan ai/model;

// Model kaydet (LZ4 compressed - 28.8x faster)
model.kaydet("model.berk");  // 880ms → 30ms

// Model yükle (10x faster)
değişken loaded_model = Model::yukle("model.berk");  // 99ms vs 1000ms

// Dosya boyutu: 131 MB → 0.15 MB (882x smaller)

Teknik Detaylar

SIMD Optimizasyonu

AVX2 komut seti ile 256-bit vektör işlemleri:

  • 8 float paralel toplama/çıkarma/çarpma/bölme
  • Runtime CPU özellik tespiti
  • Otomatik scalar fallback AVX2 yoksa
  • 70 GB/s throughput büyük tensörler için

Bloklu Matris Çarpımı

L1 cache-optimized tiling:

  • 32×32 bloklar (4KB, L1 cache: 32KB)
  • Cache miss oranını minimize eder
  • 256×256 matrisler için 2.5x hızlanma
  • 512×512 matrisler için 1.8x hızlanma

LZ4 Model Sıkıştırma

Hızlı lossless compression:

  • Level 1 (fast) compression
  • Binary format: BERK magic + version + data
  • 28.8x daha hızlı kaydetme
  • 882x daha küçük dosyalar
  • 100% doğruluk, data integrity korunur

Paralel Batch İşleme

Rayon ile çoklu iş parçacığı:

  • Batch processing 4.96x daha hızlı
  • 18,546 batch/sn (vs 4,410 sequential)
  • Work stealing ile load balancing
  • Otomatik thread pool yönetimi

Platform Desteği

Platform SIMD Paralel LZ4
x86_64 (Intel/AMD) ✓ AVX2
ARM64 (Apple Silicon) ✓ NEON
ARM32 Scalar
WASM ✓ SIMD128 Limited

Sonraki Adımlar

Not: AI/ML kütüphanesi aktif geliştirme aşamasındadır. Yeni özellikler ve optimizasyonlar düzenli olarak eklenmektedir.

Versiyon: v0.9.0 (Aralık 2025)