« Tüm yayınlar

CPU'da LLM: hız kazandıran kuantizasyon değil, metin formatı

Ücretsiz ARM CPU sunucusunda ölçüldü: prompt'u 'etiket: değer' formatına çevirmek LLM prefill süresini 6,5 kat kısalttı, kuantizasyon hileleri doğruluğu düşürdü.

Bir mühendis, ücretsiz Oracle ARM sunucusunda (4 çekirdek, aylık 0€) llama.cpp tabanlı CPU-öncelikli bir çıkarım sunucusu işletiyor. Bu ortamda darboğaz prefill aşaması: model ilk token'ı üretmeden önce tüm istemi okumak zorunda ve bu okuma her şeyi domine ediyor.

Denenen üç yaklaşım başarısız oldu: bir yıllık ARM kernel güncellemesi %0 fark yarattı; daha kaba kuantizasyon (Q4_0) prefill'i %37 hızlandırdı ama 20 sorudan 5'inin cevabını bozdu; MoE modelinde aktif uzman sayısını yarıya indirmek %44 hızlandırdı ama KV cache'i sessizce bozdu — 4 uzmanla oluşturulan cache 8 uzmanla okunduğunda 14/20 yerine 11/20 skor verdi.

Asıl işe yarayan, metni yeniden biçimlendirmekti. Aynı sayfa, aynı model, aynı soru — düzyazı yerine 'etiket: değer' formatına dönüştürüldüğünde prefill süresi 6,5 kat kısaldı ve doğruluk 19/20'den 20/20'ye çıktı. Dikkat haritaları, düzyazıda modelin doğru değeri görüp soruyla ilişkilendiremediğini, yapısal formatın ise bu bağlamayı garanti altına aldığını gösterdi.

Ek bulgular da dikkat çekici: bağlı embedding matrisi (output head) her token için toplam bant genişliğinin yaklaşık üçte birini tüketiyor ve kelime dağarcığını 32 bine indirmek doğruluktan ödün vermeden decode hızını %17,8 artırdı. Ayrıca llama.cpp'nin ağırlıkları NEON çekirdekleri için yeniden paketlemesi, 4,2 GB ekstra RAM karşılığında %12,8 hız kazandırıyor — 8 GB'lık cihazlarda modelin çalışıp çalışmayacağını belirleyen kritik bir denge.