Skip to content

Latest commit

 

History

History
111 lines (74 loc) · 26.5 KB

File metadata and controls

111 lines (74 loc) · 26.5 KB

ओपन सोर्स मोडेलहरू

आफ्नो LLM फाइन-ट्यून गर्नुहोस्

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

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

सिक्ने उद्देश्यहरू

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

पाठको अन्त्यसम्म, तपाईंले निम्न प्रश्नहरूको उत्तर दिन सक्षम हुनुहुनेछ:

  • भाषा मोडेलहरूको लागि फाइन-ट्यूनिङ के हो?
  • फाइन-ट्यूनिङ कहिले र किन उपयोगी हुन्छ?
  • प्रि-ट्रेन गरिएको मोडेललाई कसरी फाइन-ट्यून गर्न सकिन्छ?
  • फाइन-ट्यूनिङको सीमाहरू के हुन्?

तयार हुनुहुन्छ? सुरु गरौं।

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

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

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

भाषा मोडेलहरूको लागि फाइन-ट्यूनिङ के हो?

परिभाषा अनुसार, ठूला भाषा मोडेलहरू प्रि-ट्रेन गरिएका हुन्छन्, जसमा इन्टरनेट लगायत विभिन्न स्रोतहरूबाट ठूलो मात्रामा पाठ समावेश गरिएको हुन्छ। अघिल्लो पाठहरूमा, हामीले प्रम्प्ट इन्जिनियरिङरिट्रिभल-अग्मेन्टेड जेनेरेसन जस्ता प्रविधिहरूको आवश्यकता सिक्यौं जसले प्रयोगकर्ताको प्रश्न ("प्रम्प्ट") को उत्तरको गुणस्तर सुधार गर्न मद्दत गर्दछ।

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

  • मोडेल टोकन सीमाले तपाईंले दिन सक्ने उदाहरणहरूको संख्या सीमित गर्न सक्छ, र प्रभावकारिता सीमित गर्न सक्छ।
  • मोडेल टोकन लागतले प्रत्येक प्रम्प्टमा उदाहरणहरू थप्न महँगो बनाउन सक्छ, र लचिलोपन सीमित गर्न सक्छ।

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

मोडेलहरू कहिले र किन फाइन-ट्यून गर्नुपर्छ?

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

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

त्यसैले, भाषा मोडेलहरूलाई "कसरी" फाइन-ट्यून गर्ने सिक्नु अघि, तपाईंले "किन" यो मार्ग लिनु पर्छ भन्ने जान्न आवश्यक छ, र "कहिले" फाइन-ट्यूनिङको प्रक्रिया सुरु गर्नुपर्छ। यी प्रश्नहरू सोधेर सुरु गर्नुहोस्:

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

यी प्रश्नहरूको उत्तर दिएर, तपाईंले फाइन-ट्यूनिङ तपाईंको प्रयोग केसका लागि सही दृष्टिकोण हो कि होइन भन्ने निर्णय गर्न सक्षम हुनुहुनेछ। आदर्श रूपमा, दृष्टिकोण केवल फाइदाहरू लागतभन्दा बढी भएमा मान्य हुन्छ। एकपटक तपाईंले अगाडि बढ्ने निर्णय गर्नुभयो भने, प्रि-ट्रेन गरिएको मोडेललाई कसरी फाइन-ट्यून गर्न सकिन्छ भन्ने सोच्न समय हो।

निर्णय प्रक्रिया बारे थप जानकारी चाहनुहुन्छ? फाइन-ट्यून गर्ने कि नगर्ने हेर्नुहोस्।

प्रि-ट्रेन गरिएको मोडेललाई कसरी फाइन-ट्यून गर्न सकिन्छ?

प्रि-ट्रेन गरिएको मोडेललाई फाइन-ट्यून गर्न, तपाईंलाई चाहिन्छ:

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

फाइन-ट्यूनिङको कार्यान्वयन

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

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

असाइनमेन्ट

माथिका ट्यूटोरियलहरू मध्ये एक चयन गर्नुहोस् र तिनमा काम गर्नुहोस्। हामीले यी ट्यूटोरियलहरूको संस्करणलाई केवल सन्दर्भका लागि यस रिपोमा Jupyter नोटबुकहरूमा पुनःप्रतिलिपि गर्न सक्छौं। कृपया नवीनतम संस्करणहरू प्राप्त गर्न मूल स्रोतहरू प्रत्यक्ष रूपमा प्रयोग गर्नुहोस्।

उत्कृष्ट काम! आफ्नो सिकाइ जारी राख्नुहोस्।

यो पाठ पूरा गरेपछि, हाम्रो जेनेरेटिभ एआई सिकाइ संग्रह हेर्नुहोस् ताकि आफ्नो जेनेरेटिभ एआई ज्ञानलाई स्तरवृद्धि गर्न सकियोस्!

बधाई छ!! तपाईंले यस कोर्सको v2 श्रृंखलाको अन्तिम पाठ पूरा गर्नुभएको छ! सिक्न र निर्माण गर्न रोक्नुहोस्। ** स्रोतहरू पृष्ठमा यस विषयका लागि थप सुझावहरूको सूची हेर्नुहोस्।

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


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