1 puan yazan GN⁺ 2023-08-15 | 1 yorum | WhatsApp'ta paylaş
  • Outlines, sinir ağı metin üretimi için bir kütüphanedir ve transformers kütüphanesinin generate metodunun yerini almak üzere daha esnek olacak şekilde tasarlanmıştır.
  • Geliştiricilerin, düzenli ifadeleri izleyen veya JSON şemasına uyan çıktıları garanti altına alırken sağlam arayüzler kurmasına yardımcı olur.
  • Bu kütüphane, few-shot generation, ReAct, meta-prompting, agent'lar ve benzerlerini basitçe uygulayabilmek için prompting ile yürütme mantığını ayıran sağlam prompting yapı taşları sunar.
  • Outlines, daha geniş ekosistemle uyumlu olacak şekilde tasarlanmıştır; mümkün olduğunca az soyutlama kullanır ve üretimi kontrol akışı, koşullu ifadeler, özel Python fonksiyonları ve diğer kütüphanelere yapılan çağrılarla iç içe geçirebilir.
  • Tüm modellerle uyumludur ve modeli bir sonraki token logit'leri üzerinden arayüzler. Ayrıca API tabanlı modellerle de kullanılabilir.
  • Bu kütüphane; Jinja şablon motorunu temel alan basit ve güçlü prompting yapı taşları, yönlendirmeli üretim, hızlı düzenli ifade tabanlı yönlendirmeli üretim, JSON şemasına veya Pydantic modeline uyan hızlı JSON üretimi ve HuggingFace transformers modelleriyle entegrasyon özelliklerine sahiptir.
  • Outlines, PyPi üzerinden kullanılabilir ve pip install outlines komutuyla kurulabilir.
  • Bu kütüphane, verilen bir dizi bulunduğunda üretimi erken durdurmaya, bir tamamlamayı birden çok olasılık arasından seçime indirgeyerek daraltmaya veya modele yalnızca tamsayı ya da ondalıklı sayı döndürmesini söylemeye olanak tanır.
  • Ayrıca hızlı düzenli ifade tabanlı yönlendirmeli üretim ve Pydantic modellerine uyan verimli JSON üretimi de içerir.
  • Outlines, şablonları "template function" içinde kapsülleyerek prompt mantığını genel program mantığından ayırır ve prompt yazımı ile yönetimini kolaylaştırır.
  • Bu kütüphane, dil modelinin ek bilgi almak veya görev yürütmek için harici fonksiyonlar çağırmasına izin verir ve fonksiyon açıklamalarını prompt içine kodlar.
  • Outlines açık kaynaklıdır ve Apache License 2.0 altında lisanslanmıştır.

1 yorum

 
GN⁺ 2023-08-15
Hacker News görüşü
  • Dil modeli kütüphanelerinin (Language Model Libraries, LLMs) %100 geçerli JSON üretmesini nasıl sağladığına dair bir yazı
  • LLM'lerin her token için olasılık dağılımı ürettiği ve JSON ayrıştırıcısının bir sonraki geçerli token listesini sağladığı belirtiliyor
  • Kelime dağarcığı uzayının bir kısmını maskeleme fikri ve verimli zaman adımları kullanan kütüphaneler tartışılıyor
  • Llama2 gibi temel modellerin ne kadar etkili olduğu ve belirli kullanım senaryoları için talimat ince ayarı gerekip gerekmediği sorgulanıyor
  • generate.regex için sıcaklık veya örnekleme parametrelerinin bulunup bulunmadığı soruluyor
  • GPT4'ün sistem mesajında örnekler verilerek çoğu durumda geçerli JSON döndürebildiğini belirten yazıya değiniliyor
  • Kütüphanenin mekanizması takdir ediliyor ve JSON dışındaki yapılandırılmış girdiler gerektiren görevlerde potansiyel kullanımına dair merak dile getiriliyor
  • Bu tür kütüphanelerin resmi yol planlama alanındaki potansiyeline ilgi gösteriliyor
  • Karmaşık çıktı biçimleri istemenin temel görevin performansını düşürebileceği, bunun da GPT-3.5 ve GPT-4'ün kod düzenleme kıyaslamalarında görüldüğü belirtilen yazıya değiniliyor
  • llama.cpp'nin geçen ay dilbilgisi tabanlı örneklemeyi uyguladığı belirtilen yazıya değiniliyor
  • LLM tarafından üretilen her token sonrasında logit bias "maskesinin" güncellenerek bir sonraki token'ın geçerli bir JSON token'ı olmasının sağlanması süreci anlatılıyor