Skip to content

Latest commit

 

History

History
111 lines (74 loc) · 26.4 KB

File metadata and controls

111 lines (74 loc) · 26.4 KB

ओपन सोर्स मॉडल्स

अपने LLM को फाइन-ट्यून करना

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

आज के पाठ में, हम एक तीसरी तकनीक, फाइन-ट्यूनिंग, पर चर्चा करेंगे, जो अतिरिक्त डेटा के साथ मॉडल को पुनः प्रशिक्षित करके इस चुनौती का समाधान करने की कोशिश करती है। आइए, इसके विवरण में गहराई से जाएं।

सीखने के उद्देश्य

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

इस पाठ के अंत तक, आप निम्नलिखित प्रश्नों का उत्तर देने में सक्षम होंगे:

  • भाषा मॉडल्स के लिए फाइन-ट्यूनिंग क्या है?
  • फाइन-ट्यूनिंग कब और क्यों उपयोगी है?
  • मैं एक प्री-ट्रेंड मॉडल को कैसे फाइन-ट्यून कर सकता हूं?
  • फाइन-ट्यूनिंग की सीमाएं क्या हैं?

तैयार हैं? चलिए शुरू करते हैं।

चित्रात्मक मार्गदर्शिका

क्या आप इस पाठ में शामिल विषयों का बड़ा चित्र देखना चाहते हैं? इस चित्रात्मक मार्गदर्शिका को देखें जो फाइन-ट्यूनिंग के लिए सीखने की यात्रा का वर्णन करती है - मुख्य अवधारणाओं और प्रेरणा से लेकर प्रक्रिया और फाइन-ट्यूनिंग कार्य को निष्पादित करने के सर्वोत्तम अभ्यासों को समझने तक। यह एक रोमांचक विषय है, इसलिए अपनी स्व-निर्देशित सीखने की यात्रा का समर्थन करने के लिए Resources पेज को देखना न भूलें!

भाषा मॉडल्स को फाइन-ट्यून करने की चित्रात्मक मार्गदर्शिका

भाषा मॉडल्स के लिए फाइन-ट्यूनिंग क्या है?

परिभाषा के अनुसार, बड़े भाषा मॉडल्स प्री-ट्रेंड होते हैं, जो इंटरनेट सहित विभिन्न स्रोतों से प्राप्त बड़े मात्रा में टेक्स्ट पर प्रशिक्षित होते हैं। जैसा कि हमने पिछले पाठों में सीखा, हमें उपयोगकर्ता के प्रश्नों ("प्रॉम्प्ट्स") के उत्तरों की गुणवत्ता को सुधारने के लिए प्रॉम्प्ट इंजीनियरिंग और रिट्रीवल-ऑगमेंटेड जनरेशन जैसी तकनीकों की आवश्यकता होती है।

एक लोकप्रिय प्रॉम्प्ट-इंजीनियरिंग तकनीक में मॉडल को यह बताना शामिल होता है कि उत्तर में क्या अपेक्षित है, या तो निर्देश (स्पष्ट मार्गदर्शन) प्रदान करके या कुछ उदाहरण देकर (अप्रत्यक्ष मार्गदर्शन)। इसे फ्यू-शॉट लर्निंग कहा जाता है, लेकिन इसके दो सीमाएं हैं:

  • मॉडल टोकन सीमाएं आपको दिए गए उदाहरणों की संख्या को सीमित कर सकती हैं और प्रभावशीलता को सीमित कर सकती हैं।
  • मॉडल टोकन लागत हर प्रॉम्प्ट में उदाहरण जोड़ने को महंगा बना सकती है और लचीलापन सीमित कर सकती है।

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

हमें मॉडल्स को कब और क्यों फाइन-ट्यून करना चाहिए?

इस संदर्भ में, जब हम फाइन-ट्यूनिंग की बात करते हैं, तो हम सुपरवाइज्ड फाइन-ट्यूनिंग की बात कर रहे हैं, जहां पुनः प्रशिक्षण नए डेटा जोड़कर किया जाता है जो मूल प्रशिक्षण डेटा सेट का हिस्सा नहीं था। यह एक अनसुपरवाइज्ड फाइन-ट्यूनिंग दृष्टिकोण से अलग है, जहां मॉडल को मूल डेटा पर पुनः प्रशिक्षित किया जाता है, लेकिन अलग हाइपरपैरामीटर्स के साथ।

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

इसलिए, भाषा मॉडल्स को "कैसे" फाइन-ट्यून करना है, यह सीखने से पहले, आपको यह जानना होगा कि "क्यों" आपको इस मार्ग को अपनाना चाहिए, और "कब" फाइन-ट्यूनिंग की प्रक्रिया शुरू करनी चाहिए। इन प्रश्नों से शुरुआत करें:

  • उपयोग का मामला: फाइन-ट्यूनिंग के लिए आपका उपयोग का मामला क्या है? आप वर्तमान प्री-ट्रेंड मॉडल के किस पहलू को सुधारना चाहते हैं?
  • विकल्प: क्या आपने वांछित परिणाम प्राप्त करने के लिए अन्य तकनीकों को आजमाया है? तुलना के लिए एक आधार रेखा बनाने के लिए उनका उपयोग करें।
    • प्रॉम्प्ट इंजीनियरिंग: प्रासंगिक प्रॉम्प्ट उत्तरों के उदाहरणों के साथ फ्यू-शॉट प्रॉम्प्टिंग जैसी तकनीकों को आजमाएं। उत्तरों की गुणवत्ता का मूल्यांकन करें।
    • रिट्रीवल ऑगमेंटेड जनरेशन: अपने डेटा को खोजने के लिए क्वेरी परिणामों के साथ प्रॉम्प्ट्स को बढ़ाने की कोशिश करें। उत्तरों की गुणवत्ता का मूल्यांकन करें।
  • लागत: क्या आपने फाइन-ट्यूनिंग के लिए लागतों की पहचान की है?
    • ट्यूनबिलिटी - क्या प्री-ट्रेंड मॉडल फाइन-ट्यूनिंग के लिए उपलब्ध है?
    • प्रयास - प्रशिक्षण डेटा तैयार करने, मॉडल का मूल्यांकन और परिष्कृत करने के लिए।
    • कंप्यूट - फाइन-ट्यूनिंग जॉब्स चलाने और फाइन-ट्यून किए गए मॉडल को तैनात करने के लिए।
    • डेटा - फाइन-ट्यूनिंग प्रभाव के लिए पर्याप्त गुणवत्ता वाले उदाहरणों तक पहुंच।
  • लाभ: क्या आपने फाइन-ट्यूनिंग के लाभों की पुष्टि की है?
    • गुणवत्ता - क्या फाइन-ट्यून किया गया मॉडल बेसलाइन से बेहतर प्रदर्शन करता है?
    • लागत - क्या यह प्रॉम्प्ट्स को सरल बनाकर टोकन उपयोग को कम करता है?
    • विस्तारशीलता - क्या आप बेस मॉडल को नए डोमेन के लिए पुनः उपयोग कर सकते हैं?

इन प्रश्नों का उत्तर देकर, आप यह तय कर सकते हैं कि आपका उपयोग का मामला फाइन-ट्यूनिंग के लिए सही है या नहीं। आदर्श रूप से, यह दृष्टिकोण तभी मान्य होता है जब लाभ लागत से अधिक हो। एक बार जब आप आगे बढ़ने का निर्णय लेते हैं, तो यह सोचने का समय है कि आप प्री-ट्रेंड मॉडल को कैसे फाइन-ट्यून कर सकते हैं।

निर्णय लेने की प्रक्रिया पर अधिक जानकारी प्राप्त करना चाहते हैं? देखें To fine-tune or not to fine-tune

हम प्री-ट्रेंड मॉडल को कैसे फाइन-ट्यून कर सकते हैं?

प्री-ट्रेंड मॉडल को फाइन-ट्यून करने के लिए, आपके पास होना चाहिए:

  • फाइन-ट्यून करने के लिए एक प्री-ट्रेंड मॉडल
  • फाइन-ट्यूनिंग के लिए उपयोग करने के लिए एक डेटा सेट
  • फाइन-ट्यूनिंग जॉब चलाने के लिए एक प्रशिक्षण वातावरण
  • फाइन-ट्यून किए गए मॉडल को तैनात करने के लिए एक होस्टिंग वातावरण

फाइन-ट्यूनिंग की प्रक्रिया

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

प्रदाता ट्यूटोरियल विवरण
OpenAI चैट मॉडल्स को कैसे फाइन-ट्यून करें एक gpt-35-turbo को एक विशिष्ट डोमेन ("रेसिपी असिस्टेंट") के लिए फाइन-ट्यून करना सीखें, प्रशिक्षण डेटा तैयार करें, फाइन-ट्यूनिंग जॉब चलाएं, और फाइन-ट्यून किए गए मॉडल का उपयोग करें।
Azure OpenAI GPT 3.5 Turbo फाइन-ट्यूनिंग ट्यूटोरियल Azure पर gpt-35-turbo-0613 मॉडल को फाइन-ट्यून करना सीखें, प्रशिक्षण डेटा तैयार करने और अपलोड करने के चरणों को लें, फाइन-ट्यूनिंग जॉब चलाएं। नया मॉडल तैनात करें और उपयोग करें।
Hugging Face Hugging Face के साथ LLMs को फाइन-ट्यून करना यह ब्लॉग पोस्ट आपको transformers लाइब्रेरी और Transformer Reinforcement Learning (TRL) का उपयोग करके एक ओपन LLM (जैसे: CodeLlama 7B) को फाइन-ट्यून करने के लिए मार्गदर्शन करता है। साथ ही, Hugging Face पर ओपन datasets का उपयोग करता है।
🤗 AutoTrain AutoTrain के साथ LLMs को फाइन-ट्यून करना AutoTrain (या AutoTrain Advanced) एक पायथन लाइब्रेरी है जिसे Hugging Face द्वारा विकसित किया गया है, जो कई अलग-अलग कार्यों के लिए फाइन-ट्यूनिंग की अनुमति देता है, जिसमें LLM फाइन-ट्यूनिंग भी शामिल है। AutoTrain एक नो-कोड समाधान है और फाइन-ट्यूनिंग आपके अपने क्लाउड, Hugging Face Spaces या स्थानीय रूप से की जा सकती है। यह वेब-आधारित GUI, CLI और yaml कॉन्फ़िगरेशन फ़ाइलों के माध्यम से प्रशिक्षण का समर्थन करता है।

असाइनमेंट

ऊपर दिए गए ट्यूटोरियल्स में से एक चुनें और उन्हें पूरा करें। हम इस रिपॉजिटरी में केवल संदर्भ के लिए इन ट्यूटोरियल्स का एक संस्करण Jupyter Notebooks में दोहराने की कोशिश कर सकते हैं। कृपया नवीनतम संस्करण प्राप्त करने के लिए मूल स्रोतों का सीधे उपयोग करें।

शानदार काम! अपनी सीखने की यात्रा जारी रखें।

इस पाठ को पूरा करने के बाद, हमारे Generative AI Learning collection को देखें ताकि आप अपने जनरेटिव AI ज्ञान को और बढ़ा सकें!

बधाई हो!! आपने इस कोर्स की v2 श्रृंखला का अंतिम पाठ पूरा कर लिया है! सीखना और निर्माण करना बंद न करें। **इस विषय के लिए अतिरिक्त सुझावों की सूची के लिए RESOURCES पेज देखें।

हमारी v1 श्रृंखला के पाठों को भी अधिक असाइनमेंट्स और अवधारणाओं के साथ अपडेट किया गया है। इसलिए अपने ज्ञान को ताज़ा करने के लिए एक मिनट लें - और कृपया अपने प्रश्न और प्रतिक्रिया साझा करें ताकि हम इन पाठों को समुदाय के लिए बेहतर बना सकें।


अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।