paint-brush
सांख्यिकीय भाषा मॉडल और पदानुक्रमित भाषा निर्माण को समझनाद्वारा@teleplay
859 रीडिंग
859 रीडिंग

सांख्यिकीय भाषा मॉडल और पदानुक्रमित भाषा निर्माण को समझना

द्वारा Teleplay Technology 7m2024/05/20
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

चिनचिला एलएलएम और जीपीटी-3 जैसे भाषा मॉडल का उपयोग सांख्यिकीय संभावनाओं के आधार पर पाठ निर्माण के लिए किया जाता है। ड्रामाट्रॉन सह-लेखन कथाओं के लिए एक इंटरैक्टिव उपकरण है, जो सुसंगत कहानी कहने के लिए शीघ्र इंजीनियरिंग और पदानुक्रमित पीढ़ी का लाभ उठाता है।
featured image - सांख्यिकीय भाषा मॉडल और पदानुक्रमित भाषा निर्माण को समझना
Teleplay Technology  HackerNoon profile picture
0-item

लेखक:

(1) पियोटर मिरोव्स्की और कोरी डब्ल्यू मैथ्यूसन, डीपमाइंड, यूनाइटेड किंगडम और दोनों लेखकों ने इस शोध में समान रूप से योगदान दिया;

(2) जेलेन पिटमैन, स्टैनफोर्ड यूनिवर्सिटी, यूएसए और डीपमाइंड में किए गए कार्य;

(3) रिचर्ड इवांस, डीपमाइंड, यूनाइटेड किंगडम।

लिंक की तालिका

सार और परिचय

कहानी सुनाना, कहानियों का आकार और लॉग लाइन्स

रचनात्मक पाठ निर्माण के लिए बड़े भाषा मॉडल का उपयोग

बड़े भाषा मॉडल द्वारा उत्पन्न पाठ का मूल्यांकन

प्रतिभागियों का साक्षात्कार

प्रतिभागी सर्वेक्षण

चर्चा और भावी कार्य

निष्कर्ष, आभार और संदर्भ

A. स्वचालित कहानी निर्माण और नियंत्रणीय कहानी निर्माण पर संबंधित कार्य

बी. बॉट्स क्रिएटिव टीम द्वारा नाटकों से अतिरिक्त चर्चा

सी. मात्रात्मक अवलोकन का विवरण

डी. अनुपूरक आंकड़े

ई. ड्रामाट्रॉन के लिए पूर्ण संकेत उपसर्ग

F. ड्रामाट्रॉन द्वारा उत्पन्न रॉ आउटपुट

जी. सह-लिखित स्क्रिप्ट

3 रचनात्मक पाठ निर्माण के लिए बड़े भाषा मॉडल का उपयोग

3.1 भाषा मॉडल

सांख्यिकीय भाषा मॉडल (भाषा मॉडल, या LM) पिछले टोकन के संदर्भ में दिए गए टेक्स्ट टोकन की संभावना को मॉडल करते हैं - टोकन शब्द, वर्ण या वर्ण द्वि-ग्राम हो सकते हैं। मशीन लर्निंग का उपयोग करते हुए, सशर्त संभाव्यता वितरण का अनुमान लगाने के लिए LM को टेक्स्ट के बड़े कॉर्पोरा पर प्रशिक्षित किया जाता है। LM टेक्स्ट के एक टुकड़े की संभावना की गणना कर सकते हैं और टेक्स्ट प्रॉम्प्ट की निरंतरता के रूप में नया टेक्स्ट उत्पन्न कर सकते हैं। टेक्स्ट जनरेशन संभाव्य है और इसमें सशर्त संभावनाओं से यादृच्छिक नमूनाकरण शामिल है। अलग-अलग यादृच्छिक बीजों के परिणामस्वरूप अलग-अलग यादृच्छिक नमूने मिलते हैं। चित्र 3 एक टेक्स्ट प्रॉम्प्ट को खिलाने और विभिन्न टेक्स्ट नमूने उत्पन्न करने के लिए LM का उपयोग करने का एक उदाहरण दिखाता है।


चित्र 3. भाषा मॉडल के लिए प्रॉम्प्टिंग सेटअप का चित्रण, जिसमें उपयोगकर्ता या ड्रामाट्रॉन द्वारा उत्पन्न प्रॉम्प्ट को उपसर्ग से जोड़ा जाता है और टैग से सजाया जाता है। विभिन्न यादृच्छिक बीजों के लिए कई शीर्षक आउटपुट उत्पन्न किए जाते हैं, जिनमें से प्रत्येक टैग <end> के साथ समाप्त होता है।


इस अध्ययन में, हमने चिनचिला लार्ज लैंग्वेज मॉडल (LLM) [48] का इस्तेमाल किया, जिसे 70B-पैरामीटर वाले न्यूरल नेटवर्क के रूप में दर्शाया गया और जिसे मैसिवटेक्स्ट डेटासेट के 1.4T टोकन पर प्रशिक्षित किया गया। जैसा कि राय एट अल. [84] द्वारा वर्णित किया गया है, उस कॉर्पोरा में 604M मैसिववेब दस्तावेज़, 4M पुस्तकें, C4 से 361M प्रश्न और प्रतिक्रियाएँ, 1.1B समाचार लेख, 142M GitHub कोड प्रविष्टियाँ और 6M विकिपीडिया लेख शामिल हैं। ध्यान दें कि वैकल्पिक LLM का इस्तेमाल किया जा सकता है, जैसे कि GPT-3.[1]

3.2 सीमित संदर्भों से बचने के लिए पदानुक्रमिक भाषा निर्माण


इस परियोजना में, हम एक ऐसी प्रणाली चाहते हैं जो बिना किसी मानव-इन-द-लूप की आवश्यकता के दीर्घकालिक अर्थपूर्ण सुसंगति प्रदर्शित करने वाला संपूर्ण पाठ तैयार कर सके। हम लेखकों को पदानुक्रम के हर स्तर पर स्क्रिप्ट को संपादित और संशोधित करने के लिए प्रोत्साहित करते हैं। लेकिन, हमें दीर्घकालिक अर्थपूर्ण सुसंगति प्राप्त करने के लिए किसी मानव-इन-द-लूप की आवश्यकता नहीं है। पदानुक्रमित विधि मानव हस्तक्षेप के बिना एक लॉग लाइन से उचित दीर्घकालिक सुसंगति प्रदर्शित करने वाली संपूर्ण स्क्रिप्ट तैयार करेगी। दीर्घकालिक अर्थपूर्ण सुसंगति प्राप्त करने के लिए हमारा दृष्टिकोण कहानी को पदानुक्रमित रूप से तैयार करना है।


हमारी कथा पीढ़ी अमूर्तता की 3 पदानुक्रमित परतों में विभाजित है। सबसे ऊंची परत खंड 2 में परिभाषित लॉग लाइन है: केंद्रीय नाटकीय संघर्ष का वर्णन करने वाला एक वाक्य। मध्य परत में चरित्र विवरण, एक कथानक रूपरेखा (संबंधित स्थानों के साथ उच्च-स्तरीय दृश्य विवरणों का एक क्रम) और स्थान विवरण शामिल हैं। निचली परत स्क्रिप्ट के पाठ के लिए वास्तविक चरित्र संवाद है। इस तरह, प्रत्येक परत की सामग्री अन्य परतों की सामग्री के साथ सुसंगत है। ध्यान दें कि यहाँ "सुसंगत" का अर्थ "एक एकीकृत संपूर्ण बनाना" है, न कि LLM-जनरेटेड पाठ के लिए कोई सामान्य ज्ञान और तार्किक या भावनात्मक संगति मानना।


जैसा कि चित्र 1 में दर्शाया गया है, कहानी ऊपर से नीचे की ओर उत्पन्न होती है [93, 108, 113]। मानव द्वारा लॉग लाइन प्रदान करने के बाद, ड्रामाट्रॉन पात्रों की एक सूची, फिर एक प्लॉट और फिर प्लॉट में उल्लिखित प्रत्येक स्थान का विवरण तैयार करता है। पात्र, प्लॉट और स्थान विवरण सभी लॉग लाइन में विनिर्देश को पूरा करते हैं, इसके अलावा कारण निर्भरता भी होती है, जो प्रॉम्प्ट चेनिंग [118] द्वारा सक्षम होती है और चित्र 1 के आरेख पर बताई गई है। अंत में, प्लॉट की रूपरेखा में प्रत्येक दृश्य के लिए, ड्रामाट्रॉन पहले से उत्पन्न दृश्य विनिर्देशों को संतुष्ट करने वाले संवाद उत्पन्न करता है। परिणामी संवादों को अंतिम आउटपुट उत्पन्न करने के लिए एक साथ जोड़ा जाता है। इस पदानुक्रमित पीढ़ी को दीर्घकालिक अर्थपूर्ण सुसंगतता को सक्षम करने के लिए डिज़ाइन किया गया था। प्लॉट सारांश [117] उत्पन्न करने के लिए पुनरावर्ती कार्य अपघटन की एक समान यद्यपि उलटी विधि का उपयोग किया गया था। मध्य परत का समावेश, जहां प्लॉट को अमूर्त दृश्य विवरणों के अनुक्रम के रूप में संक्षेपित किया जाता है, पूरे प्लॉट को भाषा मॉडल की संदर्भ विंडो में फिट होने की अनुमति देता है। यह दीर्घकालिक अर्थपूर्ण सुसंगतता पर पिछली सीमाओं को पार करता है। हमारी विधि अंतिम दृश्य में तत्वों के लिए शुरुआती दृश्य में पेश किए गए तत्वों पर नाटकीय समापन प्रदान करना संभव बनाती है[3], और उत्पन्न कहानियों के लिए कथात्मक चापों का अनुसरण करना संभव बनाती है (अनुभाग 2 देखें)।

3.3 शीघ्र इंजीनियरिंग का महत्व

ड्रामाट्रॉन बड़े भाषा मॉडल को निर्देशित करने के लिए कई हार्ड-कोडेड प्रॉम्प्ट (यानी इनपुट प्रीफ़िक्स) का उपयोग करता है। प्रॉम्प्ट इंजीनियरिंग एक सामान्य तरीका है जिससे उपयोगकर्ता एलएलएम को नियंत्रित या प्रभावित करते हैं [12]। प्रत्येक प्रॉम्प्ट में वांछित आउटपुट के कुछ उदाहरण होते हैं। इन्हें प्रीफ़िक्स में शामिल किया जाता है और केवल मुट्ठी भर उदाहरणों के अनुकूलन को कभी-कभी फ़्यू-शॉट लर्निंग के रूप में संदर्भित किया जाता है। जैसा कि चित्र 3 में दिखाया गया है, प्रॉम्प्ट को उपयोगकर्ता द्वारा दिए गए इनपुट और/या पिछली एलएलएम पीढ़ियों के आउटपुट के साथ जोड़ा जाता है। इस विधि को प्रॉम्प्ट चेनिंग [118] कहा जाता है, जो एक प्रकार का एल्गोरिथम प्रॉम्प्टिंग है [24]। पदानुक्रम के निचले स्तरों पर (चित्र 1 देखें), प्रॉम्प्ट को पदानुक्रम के उच्च स्तरों से आउटपुट के साथ एक साथ जोड़ा जाता है।


इस कार्य में, हमने मुख्य रूप से प्रॉम्प्ट के दो सेट का उपयोग किया: एक युरिपिडीज़ द्वारा प्राचीन ग्रीक त्रासदी मेडिया पर आधारित है, और दूसरा विज्ञान-कथा फिल्मों पर आधारित है। ड्रामाट्रॉन के लिए, प्रत्येक प्रॉम्प्ट सेट में निम्न शामिल हैं: 1) शीर्षक प्रॉम्प्ट, 2) चरित्र विवरण प्रॉम्प्ट, 3) कथानक प्रॉम्प्ट, 4) स्थान विवरण प्रॉम्प्ट, 5) और संवाद प्रॉम्प्ट। प्रत्येक प्रॉम्प्ट को नीचे संक्षेप में विस्तृत किया गया है ताकि यह समझा जा सके कि उन्हें कैसे इंजीनियर किया गया है; अतिरिक्त विवरण परिशिष्ट ई में हैं।


शीर्षक प्रॉम्प्ट का उपयोग लॉग लाइन से शीर्षक उत्पन्न करने के लिए किया जाता है। एक सरलीकृत शीर्षक प्रॉम्प्ट, एक उपयोगकर्ता द्वारा प्रदान की गई लॉग लाइन और यादृच्छिक रूप से नमूने लिए गए शीर्षक चित्र 3 में दिखाए गए हैं। यह एक अनुदेश (ज्ञात नाटक और फिल्म स्क्रिप्ट के लिए वैकल्पिक, मूल और वर्णनात्मक शीर्षकों के उदाहरण) और एक उदाहरण (उदाहरण 1. प्राचीन ग्रीक त्रासदी [...]। शीर्षक: मेरे भाई के नाम पर) के साथ एक उपसर्ग दिखाता है। उपसर्ग इसके साथ समाप्त होता है: उदाहरण 2. एक उपयोगकर्ता-इनपुट लॉग लाइन (उदाहरण के लिए, दादी फिलिस और दादा जिम [...]) को उस उपसर्ग के साथ जोड़ा जाता है, साथ ही टैग शीर्षक:, जो एलएलएम को लॉग लाइन से मेल खाने वाला शीर्षक उत्पन्न करने के लिए प्रोत्साहित करता है। कुछ उदाहरणों से, एलएलएम ने संबंधित शीर्षक और समाप्ति टैग उत्पन्न करना "सीखा" है । यह संकेत कुछ-शॉट भाषा मॉडल को एकल वाक्य लॉग लाइन को दृश्य विवरणों के अनुक्रम में बदलने के लिए प्रोत्साहित करता है। प्रत्येक दृश्य अत्यधिक संकुचित होता है, जिसमें केवल स्थान का संक्षिप्त नाम, कथात्मक तत्व कथात्मक चाप में दृश्य की स्थिति की पहचान करता है (अनुभाग 2 देखें), और पात्रों द्वारा क्या किया जा रहा है और क्या कहा जा रहा है, इसका सारांश, जिसे अक्सर कथात्मक बीट [69] कहा जाता है, का वर्णन होता है। एक नोट के रूप में, प्रॉम्प्ट ड्रामाट्रॉन द्वारा दृश्य का प्रतिनिधित्व करने के तरीके पर एक मजबूत प्रतिनिधित्वात्मक बाधा डालता है; प्रत्येक दृश्य एक स्थान, कथात्मक तत्व पहचानकर्ता और बीट से बना होता है। स्थान विवरण प्रॉम्प्ट का उपयोग किसी स्थान के नाम और लॉग लाइन से विस्तृत दृश्य विवरण उत्पन्न करने के लिए किया जाता है। अंत में, संवाद प्रॉम्प्ट का उपयोग बीट (यानी, दृश्य सारांश), दृश्य स्थान विवरण, दृश्य में शामिल प्रत्येक पात्र का विवरण और लॉग लाइन (कहानी की स्थिरता के लिए) को संवाद में बदलने के लिए किया जाता है। यह प्रॉम्प्ट वर्तमान और पिछले दोनों दृश्यों के लिए उत्पन्न दृश्य जानकारी का उपयोग करता है।

3.4 ड्रामाट्रॉन के साथ इंटरैक्टिव लेखन

जैसा कि ऊपर वर्णित है, केवल कुछ शॉट (यानी, 1-4) संकेतों और उपयोगकर्ता इनपुट लॉग लाइन के साथ, हम पूर्ण स्क्रिप्ट और स्क्रीनप्ले बनाने के लिए प्रशिक्षित एलएलएम का लाभ उठाते हैं। परिशिष्ट F कच्चे उत्पन्न आउटपुट का एक उदाहरण दिखाता है। जैसा कि कहा गया है, ड्रामाट्रॉन को मानव लेखकों के लिए एक संवर्द्धन उपकरण के रूप में, इंटरैक्टिव सह-लेखन के लिए डिज़ाइन किया गया है। ड्रामाट्रॉन के साथ सह-लेखन इस प्रकार आगे बढ़ता है: एक लेखक एक लॉग लाइन से शुरू करता है जिसे उन्होंने लिखा है। वे उस लॉग लाइन को ड्रामाट्रॉन में इनपुट करते हैं, और एक शीर्षक, पात्र, एक कथानक रूपरेखा, स्थान विवरण और प्रत्येक दृश्य के संवाद को चरण-दर-चरण बनाते हैं। प्रत्येक चरण में, लेखक निम्नलिखित में से एक या कई ऑपरेशन कर सकता है, जितनी बार चाहे:


• एक नया सुझाव तैयार करें (अर्थात्, उसी प्रॉम्प्ट के साथ LLM को पुनः चलाएं)।


• पिछले पीढ़ी के अंत से उत्पादन जारी रखें, सामान्य "फ्लैट" एलएलएम पीढ़ी के समान।


• LLM द्वारा उत्पन्न कुछ या सभी आउटपुट को मैन्युअल रूप से संपादित करें।


इसके अलावा, लेखक ड्रामाट्रॉन पदानुक्रम में आगे और पीछे जाकर ये ऑपरेशन कर सकता है। उदाहरण के लिए, वे कर सकते हैं: 1) एक शीर्षक तैयार करें, 2) एक नया शीर्षक तैयार करें, 3) शीर्षक संपादित करें, 4) पात्रों की एक सूची तैयार करें, 5) एक चरित्र को हटाकर और दूसरे का विवरण बदलकर पात्रों को संपादित करें, 6) एक कथानक की रूपरेखा तैयार करें, 7) कथा चाप के हिस्से को हटाकर कथानक को संपादित करें, 8) उस संपादित कथानक की निरंतरता तैयार करें, 9) वापस जाकर लॉग लाइन को फिर से लिखें, आदि। यह सह-लेखन दृष्टिकोण मानव और ड्रामाट्रॉन दोनों को एक स्क्रिप्ट के लेखकत्व में योगदान करने की अनुमति देता है। इन ऑपरेशनों के बाद, मानव लेखक एक स्क्रिप्ट को अंतिम रूप देने के लिए आगे संपादन और प्रारूपण कर सकता है। परिशिष्ट जी मानव द्वारा संपादित स्क्रिप्ट के उदाहरण दिखाता है।

3.5 कार्यान्वयन विवरण

ड्रामाट्रॉन का कोड पायथन में लागू किया गया है और उपयोगकर्ता-सामना करने वाला इंटरफ़ेस Google Colab[4] में टेक्स्ट विजेट के साथ लागू किया गया है, जो इंटरैक्टिव संपादन की अनुमति देता है। स्क्रिप्ट निर्माण के लिए हम कई विशेष मार्करों का उपयोग करते हैं: पूर्ण अनुक्रम निर्माण टोकन के अंत का प्रतिनिधित्व करता है, और एक टोकन है जिसका उपयोग किसी उत्पन्न पंक्ति के अंत को चिह्नित करने के लिए किया जाता है। LLM को दिए गए किसी दिए गए प्रॉम्प्ट (अगले भाग 3.3 देखें) के लिए, 511 तक टेक्स्ट टोकन का सैंपल लिया गया था। हमने विविध आउटपुट को प्रोत्साहित करने के लिए न्यूक्लियस सैंपलिंग [49] का उपयोग किया, शीर्ष 0.9 संभावना द्रव्यमान से टोकन का सैंपल लिया, और 1.0 के सॉफ्टमैक्स तापमान के साथ। अंत में, संवाद के निर्माण में लूप्स को कम करने के लिए, हमने एक सरल डिटेक्टर लागू किया



यह पेपर CC 4.0 लाइसेंस के अंतर्गत arxiv पर उपलब्ध है।


[1] यहां उपलब्ध: https://openai.com/api/


[2] उदाहरण के लिए: https://theguardian.com/commentisfree/2020/sep/08/robot-wrote-this-article-gpt-3


[3] उदाहरण के लिए चेखव की बंदूक [27] देखें.


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