ggml 1.0.0 yayımlandı: eski API kaldırıldı, FP8 desteği geldi, RPC protokolü v9 eski istemcileri reddediyor
llama.cpp'nin altındaki tensör kütüphanesi ggml ilk kararlı sürümüne ulaştı; CUDA, Metal, Vulkan, SYCL ve WebGPU tarafında MoE ve FlashAttention hızlandırmaları getirdi, kütüphaneyi doğrudan kullananlar için uyumluluk kıran değişiklikler içeriyor.
Yerel dil modellerini çalıştıran araçların büyük bölümünün temelindeki tensör kütüphanesi ggml, 13 Kasım'da 1.0.0 sürümünü yayımladı. Sürüm, bir gün önce çıkan ve eski API'yi kaldıran llama.cpp v1.0.0 sürümünün altyapı tarafıdır. Proje Hacker News ön sayfasında da geniş ilgi gördü.
Neler değişti?
Sürüm notlarına göre öne çıkanlar:
- Uyumluluk kıran değişiklik: kullanımdan kaldırılmış public API temizlendi, eski
DIAG_MASK_INFveDIAG_MASK_ZEROişlemleri silindi. RPC protokolü v9'a yükseltildi ve uyumsuz eşleri artık reddediyor. - Yeni özellikler: FP8 desteği, YaRN düzeltme sınırlarının yuvarlanmasını kontrol eden yeni fonksiyonlar,
TRIişlemi için backward pass. - Performans: CUDA ve Metal'de az satırlı quantize matris çarpımları ve MoE (mixture of experts) routing birleştirme, Vulkan'da prefill FlashAttention yolu (Intel için ayrı kernel), SYCL'de cihaz tarafında çalışan MoE zamanlayıcı, OpenCL'de Adreno için FlashAttention, yeni WebGPU kernel'leri ve genişleyen Hexagon desteği.
- Düzeltmeler: Metal ve Vulkan (MoltenVK dahil) kernel'lerinde sınır dışı bellek erişimleri giderildi; zamanlayıcı kullanılmayan girdileri artık yüklemiyor.
Benchmark rakamı notlarda verilmiyor; hızlanmanın ne kadar olduğu donanıma ve modele göre değişecek.
Neden önemli?
ggml; llama.cpp, Ollama gibi araçların ve pek çok masaüstü AI uygulamasının yerel çıkarım (inference) motorunun çekirdeğinde yer alıyor. 1.0 etiketi kütüphanenin API'sinin kararlı kabul edildiği anlamına geliyor; bundan sonra kıran değişikliklerin daha seyrek olması bekleniyor. MoE hızlandırmaları, son dönemde yaygınlaşan açık ağırlıklı MoE modellerini dizüstü ve tek GPU'lu makinelerde daha verimli çalıştırmayı hedefliyor.
Kimin işine yarar / ne yapabilirsiniz?
- ggml'i doğrudan kullanan geliştiriciler: kaldırılan API'leri kullanıp kullanmadığınızı yükseltmeden önce kontrol edin; derleme hatası almadan önce sürüm notlarındaki API değişiklikleri listesine bakın.
- RPC ile dağıtık çıkarım yapanlar: tüm düğümleri aynı anda güncelleyin; v9 protokolü eski istemcileri reddedeceği için karışık sürümlü kurulum çalışmaz.
- Son kullanıcılar: Ollama, LM Studio gibi araçları kullanıyorsanız yeni ggml'in gelmesini o aracın kendi güncellemesiyle bekleyin; elle bir şey yapmanız gerekmez.
- Kurumsal ortamda yerel model sunucusu çalıştırıyorsanız sürüm geçişini change management sürecine alın ve önce test ortamında doğrulayın.