परिचय
जैसा कि आपने अध्याय 1 में देखा, ट्रांसफार्मर मॉडल आमतौर पर बहुत बड़े होते हैं। लाखों से दसियों अरबों पैरामीटर्स के साथ, इन मॉडलों का प्रशिक्षण और डिप्लॉय करना एक पेचीदा उपक्रम है। इसके अलावा, नए मॉडल लगभग दैनिक आधार पर जारी किए जा रहे हैं और प्रत्येक का अपना कार्यान्वयन है, उन सभी को आज़माना कोई आसान काम नहीं है।
इस समस्या को हल करने के लिए 🤗 ट्रांसफॉर्मर्स लाइब्रेरी बनाई गई थी। इसका लक्ष्य एक एपीआई प्रदान करना है जिसके माध्यम से किसी भी ट्रांसफार्मर मॉडल को लोड, प्रशिक्षित और सेव किया जा सकता है। पुस्तकालय की मुख्य विशेषताएं हैं:
- उपयोग में आसानी: निष्कर्ष के लिए एक अत्याधुनिक एनएलपी मॉडल को डाउनलोड करना, लोड करना और उपयोग करना कोड की केवल दो पंक्तियों में किया जा सकता है।
- सुविधाजनक: उनके मूल में, सभी मॉडल सरल PyTorch
nn.Module
या TensorFlowtf.keras.Model
वर्ग हैं और उनके संबंधित मशीन लर्निंग (ML) ढांचे में किसी भी अन्य मॉडल की तरह नियंत्रित किया जा सकता है। - सरलता: पुस्तकालय में शायद ही कोई अमूर्तन किया गया हो। “ऑल इन वन फाइल” एक मुख्य अवधारणा है: एक मॉडल का फॉरवर्ड पास पूरी तरह से एक फाइल में परिभाषित किया जाता है, ताकि कोड स्वयं समझने योग्य और हैक करने योग्य हो।
यह अंतिम विशेषता 🤗 ट्रांसफॉर्मर को अन्य ML पुस्तकालयों से काफी अलग बनाती है। मॉडल उन मॉड्यूल पर नहीं बने हैं जो फाइल्स के बीच शेयर होती हैं; इसके बजाय, प्रत्येक मॉडल की अपनी परतें होती हैं। मॉडलों को अधिक सुलभ और समझने योग्य बनाने के अलावा, यह आपको दूसरों को प्रभावित किए बिना एक मॉडल पर आसानी से परीक्षण करने देती है।
यह अध्याय एक एंड-टू-एंड उदाहरण के साथ शुरू होगा जहां हम अध्याय 1 में पेश किए गए pipeline()
फ़ंक्शन को दोहराने के लिए एक मॉडल और एक टोकननाइज़र का एक साथ उपयोग करते हैं। इसके बाद, हम मॉडल API पर चर्चा करेंगे: हम मॉडल और कॉन्फ़िगरेशन कक्षाओं को पढ़ेंगे, और आपको दिखाएंगे कि मॉडल को कैसे लोड किया जाए और यह आउटपुट पूर्वानुमानो के लिए संख्यात्मक इनपुट को कैसे संसाधित करता है।
फिर हम टोकननाइज़र API को देखेंगे, जो pipeline()
फ़ंक्शन का अन्य मुख्य अंग है। टोकेनाइज़र पहले और अंतिम प्रसंस्करण चरणों का ध्यान रखते हैं, न्यूरल नेटवर्क के लिए पाठ से संख्यात्मक इनपुट में परिवर्तन को संभालते हैं, और आवश्यकता होने पर पाठ में परिवर्तन वापस करते हैं। अंत में, हम आपको दिखाएंगे कि एक तैयार बैच में एक मॉडल के माध्यम से कई वाक्यों को भेजने से कैसे निपटना है, फिर उच्च-स्तरीय tokenizer()
फ़ंक्शन को करीब से देखकर इसका अंत करेंगे।