Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 29 KB

File metadata and controls

107 lines (70 loc) · 29 KB

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

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

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

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

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

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

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

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

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

चित्रित गाइड

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

फाइन-ट्यूनिंग क्रियान्वयन में

सूचना: gpt-35-turbo / gpt-3.5-turbo, जिन्हें नीचे कुछ ट्यूटोरियल में संदर्भित किया गया है, अब इनफेरेंस और फाइन-ट्यूनिंग के लिए सेवानिवृत्त हैं। यदि आप आज कोई नया फाइन-ट्यूनिंग जॉब शुरू कर रहे हैं, तो वर्तमान में समर्थित किसी मॉडल को लक्ष्य बनाएं - जैसे gpt-4o-mini या gpt-4.1-mini। वर्तमान फाइन-ट्यून योग्य मॉडलों की सूची के लिए Fine-tuning models list देखें। इन ट्यूटोरियल्स के सिद्धांत और कदम अभी भी लागू होते हैं।

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

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

असाइनमेंट

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

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

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

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

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


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