Ana içeriğe geç
Yapay Zeka

llama.cpp istem arama sureci 42 kat hızlandırıldı

Öne çıkanlar

  • llama.cpp istem arama taslak süreci optimize edilerek 42 kata kadar hızlandırıldı.
  • Bellek tüketimi sıralı vektörler ve constmap sayesinde 2,6 kata kadar düşürüldü.
  • Statik n-gram önbellek yükleme süresi 3,76 saniyeden 0,23 saniyeye indi.

Açık kaynaklı yapay zeka çıkarım motoru llama.cpp projesinde n-gram tabanlı istem arama kod çözme mimarisi optimize edildi. Yapılan veri yapısı ve algoritma iyileştirmeleri sayesinde taslak oluşturma aşaması 42 kata kadar hızlandı ve bellek tüketimi 2,6 kata kadar azaldı. Geliştirici, n-gram önbelleklerinde yaşanan gereksiz kopyalamaları ve standart kütüphane kısıtlarını aşarak gecikme sürelerini ciddi oranda aşağı çekti.

İlk aşamada iç eşleme yapılarının kopyalanması engellenerek referansla okuma sağlandı ve ankerl::unordered_dense kütüphanesine geçildi. İç eşleme yapıları ise çoğu n-gramın az sayıda ardıla sahip olması sebebiyle sıralı vektörlerle ve sabit adımlı ikili arama mantığıyla yeniden tasarlandı. Bu değişiklikler işlemci önbellek ıskalamalarını azaltarak arama süresini kısalttı ve tepe bellek kullanımını neredeyse yarıya indirdi.

Son olarak Daniel Lemire tarafından geliştirilen constmap mimarisi statik n-gram önbelleğine entegre edildi. Statik önbellek verileri tek bir ardışık arabelleğe yerleştirilerek önbellek yükleme süresi 16 kata kadar hızlandırıldı ve 541 MB boyutundaki korpus için yükleme süresi 3,76 saniyeden 0,23 saniyeye indi. Algoritmanın taslak token kabul oranında ise herhangi bir sapma yaşanmadı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.