कचरा इन, कचरा आउट। एक मॉडल जो रेडिट पर प्रशिक्षित है, वैज्ञानिक पत्रिकाओं पर प्रशिक्षित एक मॉडल के बारे में अलग तरह से बात करता है। यही कारण है कि हमने सारा के लिए अपना संकलित कॉर्पस बनाया — सामान्य वेब क्रॉल अस्पष्ट और असंगत परिणाम उत्पन्न करते थे।
एक कॉर्पस बनाना संकल्प में बहुत सरल लगता है लेकिन व्यावहार में बहुत जटिल होता है। सबसे मूल स्तर पर, आप टेक्स्ट एकत्र करते हैं, उसे साफ करते हैं और फिर एक मॉडल में फीड करते हैं। लेकिन "साफ करना" वास्तविक काम करता है। क्रूर वेब स्क्रैपिंग में डुप्लिकेट पेज, बॉयलरप्लेट नेविगेशन टेक्स्ट, एसईओ स्पैम, एन्कोडिंग त्रुटियां, ट्रंकेटेड दस्तावेज और बड़ी मात्रा में कम गुणवत्ता वाली मशीन जनित सामग्री शामिल होती है। कॉमन क्रॉल जैसे प्रोजेक्ट अनुमानित पेटाबाइट वेब डेटा प्रदान करते हैं, लेकिन इसे उपयोगी प्रशिक्षण कॉर्पस में बदलने के लिए एग्रेसिव डीडुप्लिकेशन (ठीक और निकट डुप्लिकेट हटाना), भाषा पहचान, गुणवत्ता फिल्टरिंग और सामग्री वर्गीकरण की आवश्यकता होती है। पाइल, रेडपाजमा, फाइनवेब और डीसीएलएम प्रत्येक अपने तरीके से इस फिल्टरिंग करने के बारे में अलग-अलग दृष्टिकोण प्रस्तुत करते हैं, और डाउनस्ट्रीम मॉडल में गुणवत्ता के अंतर मापे जा सकते हैं।
कॉर्पस की संरचना मॉडल के क्षमता पर सीधा और अक्सर आश्चर्यजनक प्रभाव डालती है। यदि आपके प्रशिक्षण डेटा का 80% अंग्रेजी है, तो यह अंग्रेजी टेक्स्ट के तकनीकी उपस्थिति के बावजूद फ्रेंच में खराब होगा। यदि आपका कॉर्पस कोड पर भारी है, तो मॉडल गैर-कोड टास्क के लिए संरचित तर्कणा में बेहतर हो जाता है - यह ओपनएआई के शुरुआती कोडेक्स प्रशिक्षण से एक अप्रत्याशित खोज थी। अलग-अलग डोमेन के अनुपात के महत्व के बारे में भी बात करने की आवश्यकता है: बहुत अधिक सोशल मीडिया टेक्स्ट और मॉडल गुलाबी बन जाता है; बहुत अधिक शैक्षिक टेक्स्ट और यह अकिंचित्कर हो जाता है। अधिकांश फ्रंटियर लैब्स अपने डेटा मिश्रण को एक गुप्त रखते हैं, क्योंकि यह एक ऐसा प्रतिस्पर्धी फायदा है जो केवल अधिक जीपीयू रखने के बारे में नहीं है।
टोकेनाइजेशन एक अप्रोसेस है जो एक अप्रोसेस कॉर्पस और मॉडल द्वारा वास्तव में देखे जाने वाले बीच के पुल है। प्रशिक्षण से पहले, प्रत्येक दस्तावेज को टोकन में बांट दिया जाता है - जैसे कि BPE (बाइट जोड़ एन्कोडिंग) या SentencePiece जैसे एल्गोरिदम द्वारा सीखे गए सबवर्ड इकाइयां। टोकेनाइजर कॉर्पस से खुद प्रशिक्षित किया जाता है, इसलिए कोड पर भारी कॉर्पस एक टोकेनाइजर उत्पन्न करता है जो प्रोग्रामिंग निर्माण को दक्ष रूप से प्रतिनिधित्व करता है, जबकि बहुभाषी कॉर्पस एक टोकेनाइजर उत्पन्न करता है जो गैर-लैटिन लिपि के बेहतर कवरेज के साथ आता है। यह चरण आमतौर पर एक बार किया जाता है और फिर बर्फ के रूप में फ्रीज कर दिया जाता है: आप पूरे कॉर्पस को बाइनरी शर्ड में टोकनाइज करते हैं जिन्हें प्रशिक्षण के दौरान कुशलतापूर्वक लोड किया जा सकता है। एक बड़े कॉर्पस के लिए, यह खुद एक दिनों के, टेराबाइट के ऑपरेशन होता है। उदाहरण के लिए, 185 अरब टोकन के कॉर्पस कई सैकड़ों गिगाबाइट के टोकनाइज शर्ड उत्पन्न कर सकता है।
करेशन बनाम स्केल चर्चा एक बहुत महत्वपूर्ण चल रहे बहस में से एक है। वर्षों तक, मुख्य दृष्टिकोण यह था कि अधिक डेटा हमेशा बेहतर होता है - जैसे कि अपने सभी कुछ को फेंक दें और मॉडल को इसे निपटाने दें। लेकिन अनुभवी परिणाम बार-बार दिखाते हैं कि एक छोटा, ध्यान से चुना कॉर्पस एक बहुत बड़े शोरदार एक के बेहतर प्रदर्शन कर सकता है। माइक्रोसॉफ्ट के फ़ी सीरीज़ मॉडल दिखाते हैं कि उच्च गुणवत्ता वाले "पाठ्यक्रम जैसे" डेटा असाधारण रूप से क्षमताशाली छोटे मॉडल उत्पन्न कर सकत