Skip to content

mtkaya/transformer-edge-optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transformer Edge Optimization

License: MIT Python 3.8+ PyTorch Hugging Face Open In Colab

Büyük Transformer modellerini mobil ve edge cihazlarda çalıştırmak için kapsamlı rehber ve araçlar.


Özellikler

Optimizasyon Teknikleri

  • Quantization - INT8, FP16, Dynamic Quantization

  • Model boyutu: 4x azalma

  • Minimal doğruluk kaybı (~1-2%)

  • Knowledge Distillation - Öğretmen-öğrenci öğrenimi

  • Model boyutu: 6-10x azalma

  • Doğruluk korunur (~2-4% kayıp)

  • ONNX Runtime - Cross-platform deployment

  • Hardware-accelerated inference

  • Mobil ve edge cihaz desteği


Hızlı Başlangıç

Google Colab'de Çalıştır (Önerilen)

Open In Colab

  1. Yukarıdaki butona tıkla
  2. Runtime → Change runtime type → GPU
  3. Runtime → Run all
  4. 5 dakika bekle ve sonuçları izle!

Lokal Kurulum

# Repository'yi klonla
git clone https://github.com/mtkaya/transformer-edge-optimization.git
cd transformer-edge-optimization

# Bağımlılıkları yükle
pip install -r requirements.txt

# Jupyter'i başlat
jupyter notebook notebooks/

Notebook'lar

1⃣ Quantization Basics (15 dakika)

Open In Colab

  • FP32 → INT8 dönüşümü
  • Model boyutu: 4x azaltma
  • İnferans hızı: 2x artış

2⃣ ONNX Runtime Optimization (20 dakika)

Open In Colab

  • PyTorch → ONNX dönüşümü
  • Dynamic quantization
  • Cross-platform deployment

3⃣ Knowledge Distillation (30 dakika)

Open In Colab

  • Teacher-student training
  • Model boyutu: 7.6x azaltma
  • BERT → TinyBERT

Kullanım Örneği

import torch
from transformers import AutoModelForSequenceClassification

# Model yükle
model = AutoModelForSequenceClassification.from_pretrained('bert-base-uncased')

# Quantize et (FP32 → INT8)
quantized_model = torch.quantization.quantize_dynamic(
    model, {torch.nn.Linear}, dtype=torch.qint8
)

# Model boyutu 4x daha küçük!
print("Model 4x daha küçük, 2x daha hızlı!")

Benchmark Sonuçları

Teknik Boyut Azaltma Hız Artışı Doğruluk
Quantization (INT8) 4.0x 2.1x 91.2%
ONNX Runtime 3.8x 2.2x 88.2%
Distillation 7.6x 3.0x 87.1%
Combined 31.4x 9.5x 85.8%

Desteklenen Platformlar

  • Android - TensorFlow Lite
  • iOS - Core ML
  • Web - Transformers.js
  • Edge Devices - ONNX Runtime

Katkıda Bulunma

Katkılarınızı bekliyoruz!

  1. Fork yapın
  2. Feature branch oluşturun
  3. Commit yapın
  4. Pull Request açın

Detaylar için: CONTRIBUTING.md


Lisans

Bu proje MIT lisansı altındadır - detaylar için LICENSE dosyasına bakın.


Teşekkürler

  • Hugging Face - Transformers ve Optimum
  • ONNX - Model interoperability
  • Açık kaynak topluluğuna

İletişim


⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın! ⭐

Made with for the AI community

About

Optimize Transformer models for edge devices

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors