llama.cpp ve ggml v1.0.0: Kararlı API ve Hızlı Inference
Kaynaklar: Hugging Face Blog, github.com
İçindekiler 4 başlık
Yerel makinelerden kurumsal sunuculara kadar farklı donanımlarda много-modlu (multi-modal) büyük dil modellerini çalıştıran llama.cpp ve onun altındaki makine öğrenmesi tensör kütüphanesi ggml, 13 Kasım 2026 itibarıyla v1.0.0 sürümüne ulaştı. C/C++ tabanlı taşınabilir yapısı ve kuantizasyon (quantization) desteğiyle yerel yapay zekâ araçlarının temelini oluşturan proje, 3,5 yıllık geliştirme sürecinin ardından artık resmi olarak semantik sürümlemeye (semantic versioning) geçiyor.
İki Kaynak, İki Farklı Mercek#
Elimizdeki iki metin aynı v1.0.0 duyurusunu farklı katmanlardan ele alıyor. Daniel Bevenius, Georgi Gerganov ve merve imzalı Hugging Face blog yazısı ile GitHub üzerindeki ggml sürüm notları, v1.0.0 geçişini ve C API'sinin temizlenip kararlı hale getirilmesini ortak nokta olarak paylaşıyor. Ayrıştıkları yer ise odaklandıkları derinlik. Blog yazısı libllama ve libggml kütüphanelerinin sürüm kurallarına, paket dağıtım kanallarına ve CI altyapısına odaklanırken; GitHub sürüm notları doğrudan ggml motorundaki düşük seviyeli donanım optimizasyonlarını, kaldırılan operatörleri ve RPC protokolü değişikliklerini listeliyor.
Neden Önemli: Kırılmayan API Sözü ve CI Güvencesi#
Geliştirdiğin uygulamada llama.cpp veya ggml kütüphanelerini doğrudan bağlıyorsan, alt kütüphanedeki güncellemelerin kodunu bozması tanıdık bir sorundur. Artık her iki proje de API ve ABI uyumsuzluklarını sürüm numaralarına net biçimde yansıtacak. Kurallar açık. ./include altındaki genel C API'sini bozan değişiklikler MAJOR, geriye dönük uyumlu özellikler, model destekleri veya backend güncellemeleri MINOR, API'yi değiştirmeyen hata düzeltmeleri ise PATCH sürüm artışıyla gelecek.
Bu sürümle birlikte kullanımdan kaldırılmış (deprecated) genel API'ler ve eski DIAG_MASK_INF ile DIAG_MASK_ZERO operatörleri temizlendi. Kod tabanının kalitesini korumak için CI altyapısı da Hugging Face teknolojileriyle (HF Buckets ve HF Jobs) ölçeklendirildi; NVIDIA, AMD, Qualcomm, Arm, IBM ve Intel'in donanım desteğiyle ana dala (master) giren her değişiklik farklı platformlardaki sunucularda (self-hosted runners) doğrulanıyor.
Motorun Altındaki Performans ve Dağıtım Yenilikleri#
Yeni sürüm, donanım backend'lerinde ve çekirdek zamanlayıcıda (scheduler) doğrudan hız kazanımları barındırıyor. Zamanlayıcı artık okunmayan girdileri yüklemeyi atlıyor ve yalnızca önceki bölmelerin (splits) ürettiği girdileri önceden getiriyor (prefetch). Donanım ve protokol tarafındaki somut yenilikler şöyle:
- CUDA ve Metal: Az satırlı kuantize matris çarpımları (few-row quantized matmuls) ve MoE (Mixture of Experts) füzyonu eklendi.
- Vulkan, SYCL ve OpenCL: Vulkan için prefill FlashAttention yolu, SYCL üzerinde cihaz tarafı (device-side) MoE zamanlayıcısı ve OpenCL'de ayrıştırılmış Adreno FlashAttention devreye alındı.
- WebGPU ve Hexagon: Yeni WebGPU çekirdekleri (kernels) eklendi ve Hexagon operatör kapsamı genişletildi.
- Hassasiyet ve YaRN Kontrolleri: FP8 desteği geldi, YaRN düzeltme sınırı yuvarlamasını yönetmek için
ggml_rope_set_truncateileggml_rope_get_truncatefonksiyonları eklendi,TRIiçin geri yayılım (backward pass) uygulandı veggml_prec_set_acciçinMUL_MATsrc1 hassasiyet testleri devreye sokuldu. - RPC Protokolü v9: Uyumsuz uçları reddetmek, daha hızlı yükleme yapmak ve erişilemeyen uç noktalarda ya da başarısız el sıkışmalarda (handshake) düzgünce hata verebilmek için RPC protokolü v9'a yükseltildi.
Geliştirici Olarak Ne Yapabilirsin?#
Kendi C/C++ projen varsa llama.cpp/include/ altındaki libllama veya ggml/include/ altındaki libggml başlık dosyalarını kullanarak v1.0.0 sınırlarına göre entegrasyonunu sabitleyebilirsin. Dağıtottığın veya kullandığın RPC düğümleri varsa, protokol v9'a geçtiği için tüm uçları aynı sürüme güncellemelisin. YaRN kullanan modellerde bağlam penceresi davranışını ince ayarlamak istediğinde yeni ggml_rope_set_truncate fonksiyonunu çağırabilirsin.
Aracı sistemine kurmak veya CI/CD hattına eklemek için şu dağıtım kanallarını kullanabilirsin:
- Linux: Docker, Debian, Homebrew, conda-forge ve ön sürüm (pre-release) çıktıları.
- macOS: Homebrew, MacPorts, conda-forge, XCFramework ve ön sürüm çıktıları.
- Windows: Winget, conda-forge ve ön sürüm çıktıları.
- Mobil: iOS için XCFramework ve ön sürüm çıktıları, Android için ön sürüm çıktıları.
Kaynaklar ve atıf
Bu yazı, aşağıdaki kaynaklardan yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için kaynaklara bakabilirsin:
- huggingface.co/blog/ggml-org/llama-cpp-v1
- github.com/ggml-org/ggml/releases/tag/v1.0.0