Yazar:
(1) Brandon T. Willard, Normal Hesaplama; (2) R'emi Louf, Normal Hesaplama.
Bağlantı Tablosu
Soyut
Bu makalede, sinirsel metin üretme probleminin, sonlu durumlu bir makinenin durumları arasındaki geçişler açısından yapıcı bir şekilde yeniden formüle edilebileceğini gösteriyoruz. Bu çerçeve, bir dil modelinin sözcük dağarcığı üzerinde bir dizin oluşturulmasına izin vererek, düzenli ifadeler ve bağlamdan bağımsız dilbilgileri ile metin üretimini yönlendirmede etkili bir yaklaşıma yol açar. Yaklaşım modelden bağımsızdır, alana özgü bilgi ve kısıtlamaların uygulanmasına izin verir ve oluşturulan metnin yapısını garanti ederek güvenilir arayüzlerin oluşturulmasına olanak tanır. Belirteç dizisi oluşturma sürecine çok az ek yük ekler ve mevcut çözümlerden önemli ölçüde daha iyi performans gösterir. Açık kaynak Python kütüphanesi Outlines'da [Louf ve Willard] bir uygulama sağlanmıştır.
1. Giriş
Düzenli ifadelere veya bağlamdan bağımsız dilbilgilerine (CFG'ler) uygun olan büyük bir dil modelinden (LLM) [Vaswani ve diğerleri, 2017, Radford ve diğerleri, 2019] belirteç dizileri oluşturma sorunuyla ilgileniyoruz. Bu tür güdümlü LLM üretimi, yalnızca ince ayar yoluyla yakalanması zor veya maliyetli olan katı formatlama gereksinimleri altında LLM model çıktısını kullanılabilir hale getirmek için kullanılır [Beurer-Kellner ve diğerleri, 2023, Scholak ve diğerleri, 2021, Poesia ve diğerleri. diğerleri, 2022a, Rabinovich ve diğerleri, 2017, Weng, 2021, Dong ve diğerleri, 2023, Poesia ve diğerleri, 2022b, Geng ve diğerleri, 2023, Wang ve diğerleri, 2023]. Bu tür özellikler yakın zamanda bilgi istemi kitaplıkları ve arayüzlerinde genelleştirilmiştir [Microsoft, 2023, Beurer-Kellner ve diğerleri, 2023, Rickard, 2023a,b], ancak bunların uygulanabilirliği ölçeklendirme maliyetleri nedeniyle sınırlanabilir.
Yönlendirilmiş oluşturmanın çoğu uygulaması, bir LLM'nin sözlüğündeki belirteçlerin olasılıklarını belirlemek için kullanılan puan değerlerine önyargılıdır. Yaygın ve yeterli bir yaklaşım, kısıtlamalara ve önceden örneklenen belirteçlere göre hangi belirteçlerin geçerli olduğunu belirlemek ve geçersiz belirteçlerin olasılığını sıfıra ayarlamak için tüm kelime dağarcığı üzerinde tekrarlanan değerlendirmeleri içerir. Bu yaklaşım, üretilen her jeton için sabit bir O(N) maliyeti gerektirir; burada N, LLM'nin kelime dağarcığının boyutudur.
Yönlendirilmiş üretimi keyfi olarak başlatmak ve durdurmak için düzenli ifadelerin sonlu durum makinesi (FSM) formülasyonunu kullanan ve sıfır olasılıklı olmayan belirteçler kümesinin her adımda verimli bir şekilde elde edilebileceği bir endeksin oluşturulmasına izin veren bir yaklaşım öneriyoruz. Sonuç ortalama O(1) maliyeti olan bir algoritmadır.
Düzenli ifade durumunda yaklaşımımız Kuchnik ve diğerleri ile en fazla benzerliği paylaşmaktadır. [2023], bir dil modelinin kelime dağarcığı üzerinden tanımlanan FSM'leri elde etmek için bir dönüştürücü formülasyonu kullanır ve bu FSM'ler, burada açıklanan endekslerle aynı bilgilerin çoğunu ve ölçeklendirme faydalarını içerir. Yaklaşımımız dönüştürücü soyutlamasının tamamını gerektirmez ve altta yatan otomatları ve bunların uygulamalarını değiştirmeden mevcut, verimli düzenli ifade kitaplıklarını daha kolay genişletmek için kullanılabilir.
Daha da önemlisi, indeksleme yaklaşımımız, popüler veri formatlarına ve programlama dillerine (örn. JSON, Python, SQL, vb.) göre verimli yönlendirmeli üretime izin vermek için CFG'leri ve LALR(1) ayrıştırıcılarını da kapsayacak şekilde genişletilebilir. Ayrıştırma işlemine geçiş, geleneksel LALR(1) ayrıştırıcı bileşenlerine ve işlemlerine yapılan geliştirmeler yoluyla yapılır; bu da, onu yine mevcut ayrıştırıcı uygulamalarını genişletmek için kullanılabilecek bir yaklaşım haline getirir.
Bu makale .