GPU Olmadan 13 Yıllık Xeon İşlemcide Gemma 4 26B'yi Saniyede 5 Token Hızla Çalıştırmak
İçindekiler
Bodrum katımdaki sunucunun modern bir yapay zeka modelini çalıştırması imkansız gibiydi. Eski bir HP StoreVirtual depolama sunucusu; 13 yıllık, çift Ivy Bridge Xeon işlemcili ve GPU'suz. Veri depolamak için üretilen bu kutu, artık Google'ın 26 milyar parametreli Gemma 4 MoE (Mixture-of-Experts) modelini saniyede yaklaşık 5.2 token hızında, yani insan okuma hızında çalıştırıyor.
Makalede yer alan donanım ve performans detayları:
- Donanım: Çift Xeon E5-2690 v2 (Ivy Bridge, 2013), DDR3, GPU yok
- Komut Setleri: Sadece AVX1 (AVX2 ve FMA3 yok)
- Model: Gemma 4 26B-A4B (MoE), Q8_0
- Üretim (Decode): ~5.2 token/sn
- Prompt Değerlendirme: ~16 token/sn
- Maliyet: 300 doların altında
Başlangıç Noktası
Her şey, Hacker News'te paylaşılan "10 yıllık bir Xeon işlemci ihtiyacınız olan tek şeydir" başlıklı bir yazı ile başladı. Yazar, 2016 model tek bir Xeon işlemcide ik_llama.cpp kütüphanesini ve spekülatif kod çözme gibi modern çıkarım tekniklerini kullanarak Gemma 4'ü çalıştırmıştı. Kendi eski Xeon işlemcilerimde bu yöntemi denediğimde ise derleme aşamasında hata aldım.
- Yazılım Geliştirme Yorumu: Başkalarının başarı hikayelerini kendi ortamınızda test etmek, teorik bilgiyi pratiğe dökmenin ve sistem sınırlarını keşfetmenin en iyi yoludur.
Bir Yapay Zeka Ajanının Gerçek Rolü
Hatanın sebebi, işlemcimin AVX2 ve FMA3 komut setlerini desteklemeyen eski Ivy Bridge olmasıydı. Claude yapay zeka ajanı, performans kritik matris çarpım fonksiyonlarını analiz ederek, bu komutların olmadığı sistemlerde çalışacak yedek kod yolları (fallback) yazdı ve sorunu çözdü.
- Pratik Çıkarım: Yapay zeka ajanları sadece basit kodlar yazmak için değil, derin hata analizi ve donanım seviyesindeki optimizasyon süreçlerinde akıllı birer iş ortağı olarak konumlandırılmalıdır.
Elde Edilen Sonuç
Gemma 4 artık bu eski donanım üzerinde makul bir hızda çalışıyor. Bu çalışma, yerel modellerin internet bağlantısı veya bulut API maliyetleri olmadan, eski sunucularda bile çalıştırılabileceğini kanıtlıyor. Yama, ana projeye ikawrakow/ik_llama.cpp#2138 olarak gönderildi.
- Öğrenme Çıkarımı: Karşılaşılan teknik sınırları aşan çözümleri açık kaynak projelerle paylaşmak, hem topluluğa katkı sağlar hem de yazılımcının yetkinliğini artırır.
Teknik Hatanın Detayları
Sorunun temelinde, ik_llama.cpp motorunun AVX2 mimarisini varsayılan taban çizgisi kabul etmesi yatıyordu. MOE_FUSED_UP_GATE ve FUSED_UP_GATE gibi grafik işlemlerinin AVX2 içermeyen işlemciler için bir yedek mekanizması yoktu. Hata, işlemci mimarisini kontrol eden GGML_USE_IQK_MULMAT parametresinin grafik oluşturucu katmanına çekilmesi ve kodun AVX2 içermeyen standart döngülere dönüştürülmesiyle çözüldü.
- Pratik Çıkarım: Taşınabilir kod yazarken donanım bağımlılıklarını izole etmek ve uygun yedek yollar (fallback) tasarlamak yazılımın sürdürülebilirliği için hayati önem taşır.
Orijinal makaleye buradan ulaşabilirsiniz.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →