paint-brush
İstatistiksel Dil Modellerini ve Hiyerarşik Dil Üretimini Anlamakby@teleplay
827
827

İstatistiksel Dil Modellerini ve Hiyerarşik Dil Üretimini Anlamak

Chinchilla LLM ve GPT-3 gibi dil modelleri istatistiksel olasılıklara dayalı metin üretimi için kullanılır. Dramatron, tutarlı hikaye anlatımı için hızlı mühendislik ve hiyerarşik nesilden yararlanan, anlatıların birlikte yazılmasına yönelik etkileşimli bir araçtır.
featured image - İstatistiksel Dil Modellerini ve Hiyerarşik Dil Üretimini Anlamak
Teleplay Technology  HackerNoon profile picture
0-item

Yazarlar:

(1) PIOTR MIROWSKI ve KORY W. MATHEWSON, DeepMind, Birleşik Krallık ve Her iki yazar da bu araştırmaya eşit katkıda bulunmuştur;

(2) JAYLEN PITTMAN, Stanford Üniversitesi, ABD ve DeepMind'da yapılan çalışmalar;

(3) RICHARD EVANS, DeepMind, Birleşik Krallık.

Bağlantı Tablosu

Özet ve Giriş

Hikaye Anlatımı, Hikayelerin Şekli ve Günlük Satırları

Yaratıcı Metin Üretimi İçin Büyük Dil Modellerinin Kullanımı

Büyük Dil Modelleriyle Üretilen Metinlerin Değerlendirilmesi

Katılımcı Görüşmeleri

Katılımcı Anketleri

Tartışma ve Gelecek Çalışmalar

Sonuçlar, Teşekkür ve Referanslar

A. OTOMATİK HİKAYE ÜRETİMİ VE KONTROL EDİLEBİLİR HİKAYE ÜRETİMİ İLE İLGİLİ ÇALIŞMALAR

B. BOTS YARATICI EKİBİNİN OYUNLARINDAN EK TARTIŞMA

C. NİCELİKLİ GÖZLEMLERİN DETAYLARI

D. EK ŞEKİLLER

E. DRAMATRON İÇİN TAM İSTEM ÖNEKLERİ

F. DRAMATRON TARAFINDAN ÜRETİLEN HAM ÇIKTI

G. ORTAK YAZILI SENARYOLAR

3 YARATICI METİN ÜRETİMİ İÇİN GENİŞ DİL MODELLERİNİN KULLANIMI

3.1 Dil Modelleri

İstatistiksel dil modelleri (dil modelleri veya LM'ler), önceki belirteçlerin bağlamı göz önüne alındığında metin belirteçlerinin olasılığını modeller; belirteçler kelimeler, karakterler veya karakter bi-gramları olabilir. Makine öğrenimi kullanılarak LM'ler, koşullu olasılık dağılımını yaklaşık olarak tahmin etmek için büyük metinler üzerinde eğitilir. LM'ler bir metin parçasının olasılığını hesaplayabilir ve bir metin isteminin devamı olarak yeni metin oluşturabilir. Metin oluşturma olasılıksaldır ve koşullu olasılıklardan rastgele örneklemeyi içerir. Farklı rastgele tohumlar, farklı rastgele örneklerle sonuçlanır. Şekil 3, bir metin isteminin beslenmesine ve farklı metin örnekleri oluşturmak için LM'nin kullanılmasına ilişkin bir örneği göstermektedir.


Şekil 3. Kullanıcı veya Dramatron tarafından oluşturulan istemin bir önekle birleştirildiği ve etiketlerle süslendiği, dil modeli için istem kurulumunun gösterimi. Farklı rastgele tohumlar için çeşitli başlık çıktıları oluşturulur ve her biri <end> etiketiyle biter.


Bu çalışmada, 70B parametreli bir sinir ağı olarak temsil edilen ve MassiveText veri kümesinin 1.4T belirteçleri üzerinde eğitilen Chinchilla büyük dil modelini (LLM) [48] kullandık. Rae ve ark. [84], bu derlem 604 milyon MassiveWeb belgesi, 4 milyon Kitap, C4'ten 361 milyon soru ve yanıt, 1.1B Haber makaleleri, 142 milyon GitHub kod girişi ve 6 milyon Wikipedia makalesi içeriyor. GPT-3 gibi alternatif Yüksek Lisans'ların kullanılabileceğini unutmayın.[1]

3.2 Sınırlı Bağlamları Aşmak İçin Hiyerarşik Dil Üretimi


Bu projede, döngüdeki insana ihtiyaç duymadan, uzun vadeli anlamsal tutarlılık sergileyen bir metnin tamamını oluşturabilen bir sistem arzuluyoruz. Yazarları hiyerarşinin her düzeyinde senaryoyu düzenlemeye ve değiştirmeye teşvik ediyoruz. Ancak uzun vadeli anlamsal tutarlılığa ulaşmak için döngüdeki insana ihtiyacımız yok. Hiyerarşik yöntem, insan müdahalesi olmadan tek bir günlük satırından makul uzun vadeli tutarlılık sergileyen bütün bir komut dosyası oluşturacaktır. Uzun vadeli anlamsal tutarlılığa ulaşma yaklaşımımız hikayeyi hiyerarşik olarak oluşturmaktır.


Anlatı neslimiz 3 hiyerarşik soyutlama katmanına bölünmüştür. En üst katman, Bölüm 2'de tanımlanan günlük satırıdır: merkezi dramatik çatışmayı açıklayan tek bir cümle. Orta katman, karakter açıklamalarını, olay örgüsünün taslağını (karşılık gelen konumlarla birlikte bir dizi üst düzey sahne açıklamaları) ve konum açıklamalarını içerir. Alt katman, betiğin metni için gerçek karakter diyaloğudur. Bu şekilde her katmandaki içerik diğer katmanlardaki içerikle tutarlı olur. Burada "tutarlı"nın, LLM tarafından oluşturulan metinde herhangi bir sağduyu ve mantık veya duygu tutarlılığı varsaymadığını, "birleşik bir bütün oluşturma" anlamına geldiğini unutmayın.


Şekil 1'de gösterildiği gibi hikaye yukarıdan aşağıya oluşturulur [93, 108, 113]. İnsan günlük satırını sağladıktan sonra Dramatron bir karakter listesi, ardından bir olay örgüsü ve ardından olay örgüsünde bahsedilen her konumun açıklamalarını oluşturur. Karakterler, olay örgüsü ve konum açıklamalarının tümü, nedensel bağımlılıklara ek olarak, hızlı zincirleme [118] tarafından etkinleştirilen ve Şekil 1'deki diyagramda açıklanan günlük satırındaki spesifikasyonu karşılamaktadır. Son olarak, olay örgüsü taslağındaki her sahne için Dramatron, önceden oluşturulmuş sahne özelliklerini karşılayan diyalog. Nihai çıktıyı oluşturmak için ortaya çıkan diyaloglar birbirine eklenir. Bu hiyerarşik nesil, uzun vadeli anlamsal tutarlılığı sağlamak için tasarlandı. Ters çevrilmiş de olsa benzer bir özyinelemeli görev ayrıştırma yöntemi, olay örgüsü özetleri oluşturmak için kullanıldı [117]. Olay örgüsünün bir dizi soyut sahne açıklaması olarak özetlendiği orta katmanın dahil edilmesi, tüm olay örgüsünün dil modellerinin bağlam penceresine sığmasına olanak tanır. Bu, uzun vadeli anlamsal tutarlılığa ilişkin önceki sınırlamaların üstesinden gelir. Yöntemimiz, son sahnedeki öğelerin, açılış sahnesinde[3] tanıtılan öğeler üzerinde dramatik bir kapanış sağlamasını ve oluşturulan hikayelerin anlatı akışlarını takip etmesini mümkün kılar (bkz. Bölüm 2).

3.3 Hızlı Mühendisliğin Önemi

Dramatron, büyük dil modelini yönlendirmek için çeşitli sabit kodlu istemler (yani giriş önekleri) kullanır. Hızlı mühendislik, kullanıcıların LLM'leri kontrol etmesinin veya etkilemesinin yaygın bir yoludur [12]. Her istemde arzu edilen çıktıların birkaç örneği bulunur. Bunlar önek içinde yer alır ve yalnızca bir avuç örneğe uyarlamaya bazen birkaç adımlı öğrenme denir. Şekil 3'te gösterildiği gibi, istemler kullanıcı tarafından sağlanan girişler ve/veya önceki LLM nesillerinin çıkışlarıyla birleştirilmiştir. Bu yönteme, algoritmik ipucunun bir türü olan istem zincirleme [118] adı verilir [24]. Hiyerarşinin alt seviyelerinde (bkz. Şekil 1), istemler hiyerarşinin daha yüksek seviyelerinden gelen çıktılarla birlikte zincirlenir.


Bu çalışmada öncelikle iki dizi ipucu kullandık: Biri Euripides'in Antik Yunan trajedisi Medea'ya, diğeri ise bilim kurgu filmlerine dayanıyordu. Dramatron için her bir bilgi istemi seti şunlardan oluşur: 1) başlık istemi, 2) karakter açıklama istemi, 3) olay örgüsü istemi, 4) konum açıklama istemi, 5) ve diyalog istemi. Her istem, nasıl tasarlandıklarına dair bir fikir vermek için aşağıda kısaca ayrıntılı olarak açıklanmıştır; ek ayrıntılar Ek E'dedir.


Başlık İstemi, bir günlük satırından başlıklar oluşturmak için kullanılır. Basitleştirilmiş bir başlık istemi, kullanıcı tarafından sağlanan bir günlük satırı ve rastgele örneklenen başlıklar Şekil 3'te gösterilmektedir. Talimat içeren bir önek (Bilinen oyun ve film senaryoları için alternatif, orijinal ve açıklayıcı başlık örnekleri.) ve bir örnek ( Örnek 1. Antik Yunan trajedisi [...] Başlık: Kardeşimin Adına). Ön ek şu şekilde biter: Örnek 2. Kullanıcı girişi olan bir günlük satırı (örneğin, Büyükanne Phyllis ve Büyükbaba Jim [...]) bu önekle ve aynı zamanda Yüksek Lisans'ı bir başlık oluşturmaya teşvik eden Title: etiketiyle birleştirilir. bu günlük satırıyla eşleşiyor. Birkaç örnekten LLM, ilgili bir başlık oluşturmayı ve etiketi sonlandırmayı "öğrendi". Karakter Açıklama İstemi, bir günlük satırından karakter adları ve açıklamaları oluşturmak için kullanılır. Çizim Anahat İstemi, bir günlük satırını ve karakter listesini bir çizime dönüştürmek için kullanılır. Bu istem, birkaç çekimli dil modelini tek cümlelik bir günlük satırını bir dizi sahne açıklamasına dönüştürmeye teşvik eder. Her sahne son derece sıkıştırılmış olup, yalnızca mekânın kısa adını, sahnenin anlatı akışındaki konumunu tanımlayan anlatı öğesini (bkz. Bölüm 2) ve karakterlerin ne yaptığının ve söylediğinin bir özetini tanımlar; buna genellikle bir sahne adı verilir. anlatı ritmi[69]. Bir not olarak, istem Dramatron'un bir sahneyi temsil etme biçimine güçlü bir temsili kısıtlama getirmektedir; Her sahne bir konum, anlatı öğesi tanımlayıcısı ve ritimden oluşur. Konum Açıklaması İstemi, bir yer adından ve bir günlük satırından ayrıntılı bir manzara açıklaması oluşturmak için kullanılır. Son olarak Diyalog İstemi , bir ritmi (yani sahne özetini), sahne konumu açıklamasını, sahnede yer alan her bir karakterin açıklamasını ve günlük satırını (hikaye tutarlılığı için) diyaloğa dönüştürmek için kullanılır. Bu istem, hem mevcut hem de önceki sahneler için oluşturulan sahne bilgilerini kullanır.

3.4 Dramatron ile Etkileşimli Yazım

Yukarıda açıklandığı gibi, yalnızca birkaç çekimlik (örn. 1-4) istem ve kullanıcı giriş günlük satırıyla, eksiksiz senaryolar ve senaryolar oluşturmak için eğitimli LLM'lerden yararlanıyoruz. Ek F'de ham oluşturulan çıktının bir örneği gösterilmektedir. Bununla birlikte Dramatron, insan yazarlar için artırıcı bir araç olarak etkileşimli ortak yazma için tasarlanmıştır. Dramatron ile ortak yazarlık şu şekilde ilerliyor: Bir yazar kendi yazdığı bir günlük satırıyla başlar. Bu günlük satırını Dramatron'a giriyorlar ve adım adım bir başlık, karakterler, olay örgüsü taslağı, konum açıklamaları ve her sahnenin diyalogunu oluşturuyorlar. Her adımda, yazar aşağıdaki işlemlerden birini veya birkaçını istediği kadar gerçekleştirebilir:


• Yeni bir öneri oluşturun (yani, LLM'yi aynı istemle yeniden çalıştırın).


• Tipik “düz” LLM nesline benzer şekilde, önceki neslin sonundan itibaren üretime devam edin.


• LLM tarafından oluşturulan çıktının bir kısmını veya tamamını manuel olarak düzenleyin.


Yazar ayrıca Dramatron hiyerarşisinde ileri geri giderek bu işlemleri gerçekleştirebilmektedir. Örneğin, şunları yapabilirler: 1) bir başlık oluşturabilir, 2) yeni bir başlık oluşturabilir, 3) başlığı düzenleyebilir, 4) bir karakter listesi oluşturabilir, 5) bir karakteri çıkarıp diğerinin açıklamasını değiştirerek karakterleri düzenleyebilir, 6 ) bir olay örgüsü taslağı oluşturmak, 7) anlatı yayının bir kısmını kaldırarak olay örgüsünü düzenlemek, 8) düzenlenen olay örgüsünün devamını oluşturmak, 9) geri dönüp günlük satırını yeniden yazmak vb. Dramatron her ikisi de bir senaryonun yazarlığına katkıda bulunur. Bu işlemleri takiben, insan yazar, bir senaryoyu sonlandırmak için daha fazla düzenleme ve formatlama yapabilir. Ek G, insan tarafından düzenlenen komut dosyalarının örneklerini göstermektedir.

3.5 Uygulama Detayları

Dramatron'un kodu Python'da uygulandı ve kullanıcıya yönelik arayüz, etkileşimli düzenlemeye olanak tanıyan metin widget'ları içeren bir Google Colab'da[4] uygulandı. Komut dosyası oluşturmak için kullandığımız birkaç özel işaretleyici vardır: tam sıra oluşturma belirtecinin sonunu temsil eder ve oluşturulan bir satırın sonunu işaretlemek için kullanılan bir belirteçtir. LLM'ye beslenen belirli bir bilgi istemi için (sonraki Bölüm 3.3'e bakın), 511'e kadar metin belirteci örneklendi. Çeşitli çıktıları teşvik etmek, jetonları en üst 0,9 olasılık kütlesinden ve 1,0 softmax sıcaklığıyla örneklemek için Nucleus örneklemeyi [49] kullandık. Son olarak, diyalog oluşumundaki döngüleri azaltmak için, oluşturulan metni bloklara bölen (2 boş satırla sınırlandırılmış) ve her bloğun tek bir nesilde kaç kez göründüğünü sayan basit bir dedektör uyguladık. Sabit bir eşiğin ötesinde (örneğin 3 kez), LLM, rastgele sayı üretecinde farklı bir tohum kullanarak jetonları örnekleyerek yeni bir çıktı üretir.




[1] Şu adresten erişilebilir: https://openai.com/api/


[2] Örneğin: https://theguardian.com/commentisfree/2020/sep/08/robot-wrote-this-article-gpt-3


[3] Bakınız örneğin Çehov'un silahı [27].


[4] https://colab.research.google.com/