İçeriğe geç
parazade
Yapay Zeka

ONNX Nedir?

Yayın: · Son güncelleme:

ONNX Nedir? Kısaca

ONNX (Open Neural Network Exchange), farklı makine öğrenmesi kütüphanelerinde eğitilen modellerin ortak bir dosya biçiminde saklanıp başka araç ve donanımlarda çalıştırılabilmesini sağlayan açık bir model değişim standardıdır.

ONNX nedir?
İçindekiler
  1. ONNX nedir?
  2. Nasıl kullanılır?
  3. Avantajları
  4. Nelere dikkat etmeli?

ONNX, 2017'de Microsoft ve Facebook (bugünkü Meta) tarafından başlatıldı; bugün açık kaynak bir topluluk projesi olarak sürdürülüyor.

ONNX nedir?

Bir modeli PyTorch ya da TensorFlow gibi bir kütüphaneyle eğittiğinde, model o kütüphanenin kendi biçiminde kaydedilir. Ancak modeli bir mobil uygulamada, web tarayıcısında ya da farklı bir donanımda çalıştırmak istediğinde bu biçim uygun olmayabilir. ONNX, modeli bir hesaplama grafiği olarak tanımlayan ortak bir dildir: hangi işlemlerin hangi sırayla yapılacağı ve ağırlıkların değerleri tek dosyada saklanır.

Nasıl kullanılır?

  1. Model eğitildiği kütüphaneden ONNX biçimine dışa aktarılır.
  2. ONNX dosyası bir çıkarım motoru ile yüklenir; bunlardan biri ONNX Runtime'dır.
  3. Çıkarım motoru modeli, hedef donanıma (işlemci, ekran kartı, mobil yonga ya da NPU) uygun şekilde optimize ederek çalıştırır.

Avantajları

  • Taşınabilirlik: Eğitim ve dağıtım ortamları birbirinden ayrılabilir.
  • Optimizasyon: Çıkarım motorları grafik üzerinde işlemleri birleştirme gibi iyileştirmeler yapabilir.
  • Geniş destek: Birçok donanım üreticisi ONNX modellerini çalıştırmak için araç sağlar; bu da uç yapay zekâ uygulamalarında işe yarar.

Nelere dikkat etmeli?

Her model sorunsuz dışa aktarılamaz; özel katmanlar ya da yeni işlemler desteklenmeyebilir. Dışa aktarma sonrası çıktıların orijinal modelle aynı olduğunu test etmek gerekir. Çok büyük dil modelleri için başka özel biçimler daha yaygın olabilir.

Sıkça Sorulan Sorular

ONNX ne işe yarar?

Bir kütüphanede eğitilen modeli, başka bir ortamda ya da donanımda çalıştırabilmek için ortak bir biçim sunar. Böylece model her platform için yeniden yazılmak zorunda kalmaz.

ONNX ile model eğitilir mi?

ONNX esas olarak eğitilmiş modellerin taşınması ve çıkarım için kullanılır. Eğitim genellikle başka kütüphanelerde yapılır, ardından model ONNX biçimine dönüştürülür.

İlgili terimler

Çıkarım(Inference)Çıkarım (inference), eğitimi tamamlanmış bir yapay zekâ modelinin yeni bir girdiyi alıp tahmin, sınıflandırma veya metin gibi bir çıktı üretmesi; yani modelin fiilen kullanılması aşamasıdır.Uç Yapay Zekâ(Edge AI)Uç yapay zekâ (edge AI), yapay zekâ modellerinin veriyi uzak bir buluta göndermek yerine verinin üretildiği cihazda, yani telefon, bilgisayar, kamera, araç ya da sensör üzerinde çalıştırılmasıdır.SafetensorsSafetensors, yapay zekâ modellerinin ağırlıklarını (tensörleri) saklamak için geliştirilmiş, yüklenirken kod çalıştırmaya izin vermeyen güvenli ve hızlı bir dosya biçimidir. Uzantısı genellikle .safetensors olur.NPU(Neural Processing Unit)NPU (Neural Processing Unit, nöral işlem birimi), telefon, tablet ve bilgisayarlarda yapay zekâ işlemlerini düşük enerji tüketimiyle hızlandırmak için tasarlanmış özel işlemcidir. Yüz tanıma, ses işleme ve yerel asistan gibi görevlerde kullanılır.Harf Çevirisi(Transliteration)Harf çevirisi (transliterasyon), bir yazı sistemindeki metnin, anlamı çevrilmeden başka bir yazı sisteminin harfleriyle yazılmasıdır. Örneğin Kiril alfabesiyle yazılmış bir ismin Latin harflerine aktarılması harf çevirisidir.Dil Tespiti(Language Detection)Dil tespiti (language detection), bir metnin ya da ses kaydının hangi dilde olduğunu otomatik olarak belirleyen doğal dil işleme görevidir. Çeviri, arama motorları ve içerik moderasyonu gibi pek çok sistemin ilk adımıdır.

İlgili yazılar

Yapay Zeka ile Kazanç

Kendi Bilgisayarında Ücretsiz Yapay Zekâ Sistemi Kur: Ekran Kartı, İşlemci ve RAM ile Adım Adım

Kendi bilgisayarında ücretsiz ve limitsiz bir yapay zekâ sistemi kurmak mümkün: Ollama ya da LM Studio ile dil modeli, Continue ile kod asistanı, ComfyUI ya da Forge ile görsel üretim. Belirleyici olan ekran kartının belleğidir (VRAM); 8 GB'lık kartta 7-8B modeller rahat çalışır, kart yoksa işlemci ve RAM ile daha yavaş çalışır.

· 30 dk okuma