शोध पत्र · arXiv 1810.04805
BERT: भाषा की समझ के लिए डीप बाईडायरेक्शनल ट्रांसफॉर्मर्स की प्री-ट्रेनिंग
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
तीन पंक्तियों में सारांश
- 🎯 मानक भाषा मॉडल प्री-ट्रेनिंग एकदिशीय (बाएँ-से-दाएँ) संदर्भ तक सीमित होती है, जो वाक्य-स्तरीय कार्यों के लिए उप-इष्टतम है और प्रश्न उत्तर जैसे टोकन-स्तरीय कार्यों के लिए हानिकारक है।
- 🔧 BERT को प्रस्तुत करता है, जो Masked Language Model (Cloze) उद्देश्य और Next Sentence Prediction का उपयोग करके एक बहु-स्तरीय द्विदिशीय Transformer एन्कोडर को प्री-ट्रेन करता है।
- 📈 11 NLP कार्यों पर अत्याधुनिक परिणाम प्राप्त किए, जिसमें 80.5 GLUE स्कोर (+7.7 अंक पूर्ण सुधार) और MultiNLI पर 86.7% सटीकता (+4.6% पूर्ण सुधार) शामिल है।
सार
हम BERT नामक एक नया भाषा प्रतिनिधित्व मॉडल प्रस्तुत करते हैं, जिसका अर्थ है Transformers से Bidirectional Encoder Representations। हालिया भाषा प्रतिनिधित्व मॉडलों के विपरीत, BERT को सभी परतों (layers) में बाएँ और दाएँ दोनों संदर्भों (left and right context) पर संयुक्त रूप से अनुकूलित करके बिना लेबल वाले टेक्स्ट से गहरे द्विदिशीय (deep bidirectional) निरूपण को प्री-ट्रेन करने के लिए डिज़ाइन किया गया है। परिणामस्वरूप, प्री-ट्रेंड BERT मॉडल को केवल एक अतिरिक्त आउटपुट लेयर जोड़कर फ़ाइन-ट्यून किया जा सकता है, जिससे बिना किसी महत्वपूर्ण कार्य-विशिष्ट आर्किटेक्चरल संशोधन के प्रश्न उत्तर (question answering) और भाषा अनुमान (language inference) जैसे कई कार्यों के लिए अत्याधुनिक (state-of-the-art) मॉडल तैयार किए जा सकते हैं। BERT वैचारिक रूप से सरल और अनुभवजन्य रूप से अत्यंत प्रभावी है। यह ग्यारह प्राकृतिक भाषा प्रसंस्करण (NLP) कार्यों पर नए अत्याधुनिक परिणाम प्राप्त करता है, जिसमें GLUE स्कोर को 80.5% (7.7% अंक का पूर्ण सुधार), MultiNLI सटीकता को 86.7% (4.6% पूर्ण सुधार), SQuAD v1.1 प्रश्न उत्तर टेस्ट F1 को 93.2 (1.5 अंक पूर्ण सुधार) और SQuAD v2.0 टेस्ट F1 को 83.1 (5.1 अंक पूर्ण सुधार) तक पहुँचाना शामिल है।
मूल सार (अंग्रेज़ी)
We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications. BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).
पढ़ने की गाइड
समस्या और प्रेरणा
पूर्ववर्ती भाषा निरूपण मॉडल या तो फ़ीचर-आधारित दृष्टिकोणों (जैसे ELMo) या फ़ाइन-ट्यूनिंग दृष्टिकोणों (जैसे OpenAI GPT) पर निर्भर थे। प्रभावी होने के बावजूद, दोनों प्रतिमान एकदिशीय (unidirectional) भाषा मॉडलिंग उद्देश्यों द्वारा सीमित थे: मानक ऑटो-रिग्रेसिव मॉडल टेक्स्ट को केवल बाएँ-से-दाएँ (या दाएँ-से-बाएँ) प्रोसेस करते हैं। एकदिशीय मॉडलों में, टोकन केवल सेल्फ-अटेंशन परतों में पिछले टोकनों पर ही ध्यान दे सकते हैं ताकि शब्दों को बहु-स्तरीय संदर्भों में तुच्छ रूप से "स्वयं को देखने" से रोका जा सके। ELMo ने अलग-अलग प्रशिक्षित बाएँ-से-दाएँ और दाएँ-से-बाएँ LSTMs को उथले रूप से जोड़कर (shallow concatenation) द्विदिशीयता का प्रयास किया, लेकिन यह प्रत्येक परत पर द्विदिशीय संदर्भ पर गहरे, संयुक्त अनुकूलन (joint conditioning) को पकड़ने में विफल रहता है। यह एकदिशीयता वाक्य-स्तरीय अभ्यावेदन को सीमित करती है और विशेष रूप से प्रश्न उत्तर जैसे टोकन-स्तरीय डाउनस्ट्रीम कार्यों के लिए हानिकारक है, जहाँ बाएँ और दाएँ दोनों संदर्भों को एक साथ समझना आवश्यक है।
मुख्य विचार
- डीप बाईडायरेक्शनल ट्रांसफॉर्मर आर्किटेक्चर: BERT एक बहु-स्तरीय द्विदिशीय Transformer एन्कोडर का उपयोग करता है, जिससे सेल्फ-अटेंशन परतें सभी परतों में बाएँ और दाएँ दोनों संदर्भों पर संयुक्त रूप से ध्यान केंद्रित कर सकती हैं।
- Masked Language Model (MLM): Cloze कार्य से प्रेरित होकर, BERT यादृच्छिक रूप से 15% इनपुट टोकनों को मास्क कर देता है और मॉडल को उनके संदर्भ का उपयोग करके इन मास्क्ड टोकनों की भविष्यवाणी करने के लिए प्रशिक्षित करता है, जिससे "स्वयं को देखने" की समस्या का समाधान हो जाता है।
- प्री-ट्रेन/फ़ाइन-ट्यून बेमेल को कम करना: चूँकि
[MASK]टोकन फ़ाइन-ट्यूनिंग के दौरान प्रकट नहीं होते हैं, इसलिए चुने गए 15% टोकनों को 80% समय[MASK]से, 10% समय एक यादृच्छिक टोकन से बदला जाता है, और 10% समय अपरिवर्तित रखा जाता है। - Next Sentence Prediction (NSP): Natural Language Inference (NLI) और Question Answering (QA) के लिए महत्वपूर्ण वाक्य-युग्म संबंधों को समझने के लिए, BERT एक बाइनरी कार्य पर प्री-ट्रेन होता है जो भविष्यवाणी करता है कि क्या वाक्य स्वाभाविक रूप से वाक्य के बाद आता है () या कॉर्पस से लिया गया एक यादृच्छिक वाक्य है ()।
- डाउनस्ट्रीम कार्यों के लिए एकीकृत आर्किटेक्चर: न्यूनतम अतिरिक्त मापदंडों (उदा., एक साधारण रैखिक वर्गीकरण हेड या स्टार्ट/एंड स्पैन पॉइंटर्स) के साथ बिल्कुल उसी प्री-ट्रेंड आर्किटेक्चर का पुन: उपयोग डाउनस्ट्रीम कार्यों के लिए किया जाता है।
विधि
मॉडल कॉन्फ़िगरेशन
BERT का मूल्यांकन मुख्य रूप से दो आकारों पर किया जाता है:
- : परतें, हिडन साइज़, अटेंशन हेड्स, कुल पैरामीटर्स = ।
- : परतें, हिडन साइज़, अटेंशन हेड्स, कुल पैरामीटर्स = । फ़ीड-फ़ॉरवर्ड फ़िल्टर आकार हैं।
इनपुट और आउटपुट निरूपण
इनपुट एकल टेक्स्ट अनुक्रम या एक साथ पैक किए गए वाक्यों के युग्म का प्रतिनिधित्व कर सकते हैं। एम्बेडिंग निम्नलिखित को जोड़कर बनाई जाती हैं:
- WordPiece टोकन एम्बेडिंग (30,000 टोकन शब्दावली)।
- सेगमेंट एम्बेडिंग (यह पहचानने के लिए सीखी गई एम्बेडिंग कि टोकन वाक्य से है या वाक्य से)।
- सीखी गई स्थितीय (positional) एम्बेडिंग।
प्रत्येक अनुक्रम [CLS] से शुरू होता है। इसका अंतिम हिडन वेक्टर अनुक्रम के समग्र निरूपण का प्रतिनिधित्व करता है। वाक्य युग्मों को [SEP] द्वारा अलग किया जाता है। अंतिम टोकन हिडन निरूपण को द्वारा दर्शाया जाता है।
प्री-ट्रेनिंग उद्देश्य
- Masked LM: मास्क्ड टोकन के लिए, निरूपण को क्रॉस-एन्ट्रॉपी लॉस के साथ शब्दावली पर सॉफ्टमैक्स में इनपुट किया जाता है:
- Next Sentence Prediction: समग्र वेक्टर को बाइनरी वर्गीकरण में इनपुट किया जाता है: समग्र प्री-ट्रेनिंग लॉस माध्य मास्क्ड LM संभावना और माध्य नेक्स्ट सेंटेंस प्रेडिक्शन संभावना का योग है।
फ़ाइन-ट्यूनिंग अनुकूलन
- वर्गीकरण (GLUE): एक प्रोजेक्शन मैट्रिक्स जोड़कर, लॉस की गणना के रूप में की जाती है।
- स्पैन निष्कर्षण (SQuAD v1.1): स्टार्ट वेक्टर और एंड वेक्टर को सीखना। टोकन के उत्तर स्पैन की शुरुआत होने की संभावना है: स्पैन के लिए स्कोर है, जिसे पर अधिकतम किया जाता है।
- अनुत्तरित प्रश्न (SQuAD v2.0):
[CLS]टोकन को शून्य उत्तर स्पैन के रूप में कार्य करने की अनुमति देकर विस्तारित किया गया, स्कोरिंग , और केवल तभी गैर-शून्य उत्तर की भविष्यवाणी की जाती है जब ।
परिणाम
BERT का मूल्यांकन 11 NLP कार्यों में किया गया था:
- GLUE लीडरबोर्ड: ने 80.5% का औसत GLUE स्कोर प्राप्त किया (पिछले अत्याधुनिक परिणाम की तुलना में 7.7% का पूर्ण सुधार) और MNLI पर 86.7% सटीकता (4.6% पूर्ण सुधार)।
- SQuAD v1.1: ने एकल मॉडल के रूप में Dev पर 84.1 EM और 90.9 F1 प्राप्त किया; TriviaQA प्री-ट्रेनिंग वाले एक एन्सेम्बल ने टेस्ट सेट पर 87.4 EM और 93.2 F1 प्राप्त किया, जिसने मानव प्रदर्शन (82.3 EM / 91.2 F1) को पीछे छोड़ दिया।
- SQuAD v2.0: ने टेस्ट सेट पर 80.0 EM और 83.1 F1 प्राप्त किया, जो पिछली शीर्ष प्रणाली से +5.1 F1 अधिक था।
- SWAG: ने टेस्ट पर 86.3% सटीकता दर्ज की, जिसने OpenAI GPT (78.0%) और मानव विशेषज्ञ आधार रेखा (85.0%) को पीछे छोड़ दिया।
- एब्लेशन निष्कर्ष: NSP को हटाने से MNLI (-0.5%), QNLI (-3.5%), और SQuAD F1 (-0.6%) के प्रदर्शन में गिरावट आई। MLM को मानक Left-to-Right (LTR) LM से बदलने पर SQuAD (-10.7 F1) और MRPC (-9.2% सटीकता) में भारी गिरावट देखी गई।
सीमाएँ और खुले प्रश्न
- प्री-ट्रेन / फ़ाइन-ट्यून विसंगति: कृत्रिम
[MASK]टोकन फ़ाइन-ट्यूनिंग के दौरान कभी नहीं आता है, जिसके बेमेल को कम करने के लिए अनुमानी प्रतिस्थापन नियमों (80/10/10) की आवश्यकता होती है। - प्री-ट्रेनिंग दक्षता: चूँकि BERT मानक ऑटो-रिग्रेसिव मॉडल की तरह 100% टोकनों के बजाय प्रति बैच केवल 15% टोकनों की भविष्यवाणी करता है, इसलिए इसे अभिसरण (converge) करने के लिए अधिक प्री-ट्रेनिंग चरणों (128,000 टोकन/बैच के साथ 1,000,000 चरण) की आवश्यकता होती है।
- द्विघाती अटेंशन अड़चन: मानक Transformer अटेंशन अनुक्रम लंबाई के साथ द्विघात रूप से () बढ़ता है, जिससे लंबे अनुक्रम महंगे हो जाते हैं और इसके लिए दो-चरणीय प्री-ट्रेनिंग रणनीति (अनुक्रम लंबाई 128 पर 90% चरण, 512 पर 10% चरण) की आवश्यकता होती है।
- टेक्स्ट जेनरेशन के लिए अनुपयुक्तता: एक द्विदिशीय एन्कोडर के रूप में, BERT को सीधे निरूपण और विभेदक डाउनस्ट्रीम कार्यों के लिए संरचित किया गया है, और यह आर्किटेक्चरल संशोधनों के बिना सीधे ऑटो-रिग्रेसिव बाएँ-से-दाएँ टेक्स्ट निर्माण नहीं कर सकता है।
मुख्य शब्द
- Masked Language Model (MLM)
- Cloze कार्य से प्रेरित एक प्री-ट्रेनिंग उद्देश्य जहाँ यादृच्छिक इनपुट टोकनों को एक मास्क द्वारा बदल दिया जाता है और मॉडल को गहरे द्विदिशीय संदर्भ से मूल टोकन को पुनः प्राप्त करने के लिए प्रशिक्षित किया जाता है।
- Next Sentence Prediction (NSP)
- एक बाइनरी प्री-ट्रेनिंग कार्य जहाँ मॉडल यह भविष्यवाणी करता है कि दिया गया दूसरा वाक्य खंड तार्किक रूप से पहले खंड के बाद आता है या कॉर्पस से यादृच्छिक रूप से चुना गया था।
- [CLS]
- प्रत्येक अनुक्रम की शुरुआत में रखा जाने वाला एक विशेष वर्गीकरण टोकन, जिसकी अंतिम हिडन स्थिति का उपयोग वर्गीकरण कार्यों के लिए समग्र अनुक्रम निरूपण के रूप में किया जाता है।
- [SEP]
- एकल पैक किए गए इनपुट अनुक्रम के भीतर गैर-लगातार या अलग-अलग वाक्य खंडों को अलग करने के लिए उपयोग किया जाने वाला एक विशेष टोकन।
- WordPiece
- शब्दावली से बाहर के शब्दों (out-of-vocabulary words) को संभालने और शब्दों को उप-शब्द इकाइयों में विभाजित करने के लिए 30,000 टोकन शब्दावली के साथ BERT द्वारा उपयोग किया जाने वाला एक सब-वर्ड टोकनाइज़ेशन एल्गोरिदम।
- Segment Embeddings
- पैक किए गए युग्मों में यह अंतर करने के लिए इनपुट टोकन एम्बेडिंग में जोड़ी गई सीखी गई एम्बेडिंग कि कोई टोकन वाक्य स्पैन A से संबंधित है या वाक्य स्पैन B से।
- Fine-tuning
- डाउनस्ट्रीम प्रशिक्षण रणनीति जहाँ सभी प्री-ट्रेंड BERT मापदंडों को लेबल किए गए डेटा का उपयोग करके न्यूनतम कार्य-विशिष्ट आउटपुट परतों के साथ एंड-टू-एंड अपडेट किया जाता है।
- Feature-based approach
- एक वैकल्पिक रणनीति जहाँ BERT परतों से उनके मापदंडों को अपडेट किए बिना निश्चित प्रासंगिक निरूपण निकाले जाते हैं, और फिर उन्हें अलग कार्य-विशिष्ट आर्किटेक्चर में इनपुट किया जाता है।
प्रश्न
BERT हमेशा [MASK] का उपयोग करने के बजाय मास्क्ड टोकन को यादृच्छिक टोकन से क्यों बदलता है या उन्हें अपरिवर्तित क्यों रखता है?
चूँकि [MASK] टोकन फ़ाइन-ट्यूनिंग के दौरान कभी नहीं दिखता है, इसलिए प्रत्येक लक्षित टोकन को [MASK] से बदलने पर प्री-ट्रेनिंग और फ़ाइन-ट्यूनिंग के बीच एक विसंगति पैदा हो जाएगी। BERT इसे 80% समय चुने गए टोकन को [MASK] से, 10% समय एक यादृच्छिक टोकन से, और 10% समय अपरिवर्तित मूल टोकन से बदलकर कम करता है, जिससे मॉडल सभी टोकन का एक वितरित निरूपण बनाए रखने के लिए मजबूर होता है।
BERT और OpenAI GPT में क्या अंतर है?
यद्यपि दोनों Transformer-आधारित फ़ाइन-ट्यूनिंग मॉडल हैं, OpenAI GPT बाएँ-से-दाएँ Transformer डिकोडर का उपयोग करता है जहाँ अटेंशन सीमित होता है ताकि प्रत्येक टोकन केवल पिछले टोकन पर ध्यान दे सके। BERT एक द्विदिशीय Transformer एन्कोडर का उपयोग करता है जहाँ अटेंशन सभी परतों में बाएँ और दाएँ दोनों संदर्भों पर ध्यान केंद्रित करता है, जो इसके मास्क्ड लैंग्वेज मॉडल प्री-ट्रेनिंग उद्देश्य द्वारा सक्षम होता है।
क्या BERT को एंड-टू-एंड फ़ाइन-ट्यून करने के बजाय एक फ़ीचर एक्सट्रैक्टर के रूप में उपयोग किया जा सकता है?
हाँ। CoNLL-2003 नेम्ड एंटिटी रिकग्निशन कार्य पर, BERT की शीर्ष चार हिडन परतों से टोकन एक्टिवेशन को निकालकर और जोड़कर 2-लेयर BiLSTM में इनपुट करने पर 96.1 Dev F1 प्राप्त हुआ, जो पूरे मॉडल को पूरी तरह से फ़ाइन-ट्यून करने (96.4 F1) से केवल 0.3 F1 पीछे था।
BERT ने दो-चरणीय प्री-ट्रेनिंग अनुक्रम लंबाई अनुसूची का उपयोग क्यों किया?
सेल्फ-अटेंशन की कम्प्यूटेशनल जटिलता अनुक्रम लंबाई में द्विघाती होती है। गणना के समय को कम करने के लिए, BERT को पहले 900,000 चरणों (प्रशिक्षण का 90%) के लिए 128 की अनुक्रम लंबाई के साथ प्री-ट्रेन किया गया था, और फिर स्थितीय एम्बेडिंग सीखने के लिए शेष 100,000 चरणों के लिए 512 की अनुक्रम लंबाई के साथ प्रशिक्षित किया गया था।
इस पृष्ठ की व्याख्या AI ने शोध पत्र से लिखी है और इसमें गलतियाँ हो सकती हैं। विवरण के लिए मूल शोध पत्र पढ़ें।