Skip to content

mtkaya/transformer-edge-optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 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

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published