1 puan yazan GN⁺ 2023-07-23 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2023-07-23
Hacker News görüşü
  • Dil modelleri, ince ayarlı kontrol sağlayacak şekilde tokenları birer birer üretir.
  • Dilbilgisi tabanlı örnekleme, üretilen metne dilbilgisel kısıtlar getirmek için kullanılabilir.
  • Dilbilgisi tabanlı örnekleme, hizalama sorunlarını çözmeyebilir veya doğru etiketlemeyi garanti etmeyebilir.
  • PyTorch'ta dilbilgisi tabanlı örneklemeyi uygulamak için bir GitHub deposu bulunmaktadır.
  • Birleşik olasılık dikkate alındığında, çoktan seçmeli dize numaralandırmalarında seçenekler daha iyi seçilebilir.
  • Biçimin nasıl olabileceğine dair bir örnek olarak bir dilbilgisi kütüphanesine atıf yapıldı.
  • Bazı kullanıcılar bu kavrama ilgi duyuyor, ancak uzun vadeli etkisi konusunda soru işaretleri taşıyor.
  • Dilbilgisi tabanlı örnekleme, belirli alanlar ve dahili DSL'ler için faydalı olabilir.
  • İstenen çıktı için hâlâ prompt engineering gerekir.
  • Buna benzer başka yöntemler ve araçlar da vardır.
  • Sinir ağı çağındaki decoding yöntemleri için tavsiye istendi.