- Yeni API olan
llama.cpp içinde üretimi yönlendiren ve kısıtlayan dilbilgisi tabanlı örneklemenin eklenmesini ele alan bir yazı.
llama API’si, dilbilgisi kurallarına dayalı örneklemeye izin veren bağlamdan bağımsız dilbilgisini temsil eden bir veri yapısı alır.
- Dilbilgisi örnekleme kodu, deterministik olmayan bir pushdown automaton modelleyerek ayrıştırma durumu için birden fazla stack tutar.
- Yazı; satranç, aritmetik, JSON ve Japonca gibi çeşitli senaryolar için dilbilgisi API’sinin kullanım örneklerini sunuyor.
- Dilbilgisini durum geçiş tensörlerine derleyip GPU üzerinde çalıştırmak gibi olası optimizasyonlardan söz ediliyor.
- Katkıda bulunanlar; dilbilgisi dosyası desteği ekleme, dilbilgisi ayrıştırıcısını iyileştirme ve token değerlendirmesini optimize etme konularını tartışıyor.
- Katkının faydası vurgulanıyor ve örnekleme API’sini ayrı bir modüle ayırma önerisi yer alıyor.
lmql.ai ve jsonformer gibi, dilbilgisi tabanlı üretimde benzer yaklaşımlar kullanan diğer projelerden bahsediliyor.
- Dilbilgisinde tam token’lara referans verilmesi ve kullanılabilirliği artırmak için ayrıştırıcının
llama.cpp API’sine dahil edilmesi öneriliyor.
- Katkıda bulunanlar kodu inceliyor, geri bildirim veriyor, olası iyileştirmeleri tartışıyor ve özellikle bu işleve ilişkin deneyimlerini paylaşıyor.
- Bir yazılım mühendisi, dilbilgisi örneklemeyle ilgili projeye katkıda bulunuyor ve ARM64+CUDA üzerinde sorun yaşıyor.
- Editör, sorunun araç zinciri paketlerinin birleşimiyle ilgili olabileceğini öne sürüyor ve yardım teklif ediyor.
- LocalAI işlevleri eklemek için bir pull request bulunuyor ve projede daha standart bir BNF sözdizimi kullanılması öneriliyor.
- Dilbilgisini ihlal etmek en kötü sonuç olarak görülüyor; gelecekte değerlendirilmek üzere backtracking öneriliyor.
- EBNF’nin uygulanışı ve hangi formatın izleneceği üzerine tartışma sürüyor.
- Son güncellemede örnekleme tam token eşleşmesiyle sınırlandırıldı; token’ların uygunsuz biçimde bölünmesi durumlarını ele almak için ek iyileştirmeler önerildi.
- Projedeki değişiklikler onaylandı ve birleştirilmeye hazır; editör güncellenmiş projeyle oynamayı sabırsızlıkla bekliyor.
- Başka bir projede üzerinde çalışılan benzer bir sorundan söz ediliyor ve sözlük token dağılımlarının önceden hesaplanması öneriliyor.
- Yazılım mühendisi bu yaklaşıma ilgi duyduğunu belirtiyor ve görüşlerini paylaşmaya istekli.
- GitHub’daki tartışma birden fazla katılımcıyla devam ediyor.
1 yorum
Hacker News görüşü