लाभ:
- यह भेद करने की क्षमता कि कोई समस्या जानकारी है या व्यवहार और व्यवहार संबंधी समस्याओं के लिए शीघ्रता, कुछ-शॉट और आरएजी समाप्त होने के बाद ही फाइन-ट्यूनिंग का मूल्यांकन करना।
- फ़ाइन-ट्यूनिंग विधियों (एसएफटी, लोरा/पीईएफटी, आरएलएचएफ) और डेटा विशेषताओं को समझना जो गुणवत्ता (स्थिरता, विविधता, गोपनीयता) निर्धारित करते हैं
- पहले-बाद के मूल्यांकन, अधिक सीखने और विनाशकारी भूलने के परीक्षणों के साथ फाइन-ट्यूनिंग के वास्तविक मूल्य को मापने की क्षमता
फाइन-ट्यूनिंग (अपने स्वयं के डेटा के साथ पूर्व-प्रशिक्षित मॉडल को प्रशिक्षित करके उसके व्यवहार को अनुकूलित करना) एलएलएम के साथ काम करने वाले इंजीनियरों के शस्त्रागार में एक शक्तिशाली लेकिन महंगा उपकरण है। जब इसे गलत जगह पर इस्तेमाल किया जाता है, तो यह पैसे और समय की बर्बादी होती है, लेकिन जब इसे सही जगह पर इस्तेमाल किया जाता है, तो यह एक ऐसी गुणवत्ता प्रदान करता है जिसे अन्यथा हासिल नहीं किया जा सकता है। इस इकाई में, जब फाइन-ट्यूनिंग आवश्यक हो, हम इसके बुनियादी तरीकों और जोखिमों को कवर करते हैं। लक्ष्य आपको निर्णय लेने योग्य बनाना है।
पहला सही प्रश्न: क्या फाइन-ट्यूनिंग आवश्यक है?
शुरुआती लोगों की सबसे महंगी गलती किसी समस्या को तुरंत ठीक करने में जल्दबाजी करना है जिसे हल किया जा सकता है। ऑर्डर इस प्रकार सेट करें:
- प्रॉम्प्ट इंजीनियरिंग: एक अच्छा प्रॉम्प्ट जो कार्य को स्पष्ट रूप से समझाता है, अधिकांश समस्याओं का समाधान करता है। पहले यहीं उपभोग करें.
- कुछ-शॉट सीखना: प्रॉम्प्ट में कुछ उदाहरण डालने से मॉडल वांछित प्रारूप और व्यवहार दिखाता है।
- आरएजी: यदि समस्या "जानकारी की कमी" (डेटा की आवश्यकता जो मॉडल को नहीं पता है) है, तो समाधान आरएजी (यूनिट 4) है, फाइन-ट्यूनिंग नहीं।
- फ़ाइन-ट्यूनिंग: यदि उपरोक्त पर्याप्त नहीं है और समस्या "व्यवहार/प्रारूप/शैली" है तो यह चलन में आती है।
मुख्य अंतर: मॉडल को नई जानकारी सिखाने में फाइन-ट्यूनिंग कमजोर और जोखिम भरा है; लेकिन यह कैसे व्यवहार करना है (एक विशिष्ट प्रारूप, स्वर, क्षेत्र शब्दजाल, सुसंगत संरचना) सिखाने में मजबूत है। "मेरा मॉडल हमारी कंपनी की जानकारी नहीं जानता" → RAG। "मेरा मॉडल हमेशा उसी प्रारूप में आउटपुट दे जो हम चाहते हैं" → फाइन-ट्यूनिंग उम्मीदवार।
टिप: फाइन-ट्यूनिंग पर निर्णय लेने से पहले, पूछें: "क्या यह ज्ञान की समस्या है या व्यवहार की समस्या है?" सूचना संबंधी समस्याओं को आरएजी के साथ बेहतर ढंग से हल किया जाता है, व्यवहार संबंधी समस्याओं को फाइन-ट्यूनिंग के साथ बेहतर ढंग से हल किया जाता है।
फाइन-ट्यूनिंग तरीके
पूर्ण फाइन-ट्यूनिंग: मॉडल के सभी मापदंडों को पुनः प्रशिक्षित करना। सबसे शक्तिशाली लेकिन सबसे महंगा; इसके लिए बड़े हार्डवेयर (जीपीयू) और सावधानीपूर्वक डेटा की आवश्यकता होती है। अधिकांश टीमों के लिए यह अनावश्यक है।
पैरामीटर-कुशल फ़ाइन-ट्यूनिंग (पीईएफटी): ऐसी विधियाँ जो मॉडल के विशाल बहुमत को स्थिर कर देती हैं, अतिरिक्त मापदंडों के केवल एक छोटे सेट को प्रशिक्षित करती हैं। सबसे आम है LoRA (लो-रैंक अनुकूलन: मॉडल में जोड़ी गई छोटी "एडेप्टर" परतों का प्रशिक्षण)। LoRA बहुत कम मेमोरी और लागत के साथ पूर्ण फाइन-ट्यूनिंग के करीब परिणाम प्रदान करता है; इसीलिए व्यवहार में यह पहली पसंद है।
सुपरवाइज्ड फाइन-ट्यूनिंग (एसएफटी): इनपुट-आदर्श आउटपुट जोड़े वाले डेटा के साथ मॉडल को "इस इनपुट पर इस तरह प्रतिक्रिया देना" सिखाना। यह सबसे आम परिदृश्य है.
मानव प्रतिक्रिया से सुदृढीकरण सीखना (आरएलएचएफ): लोगों की पसंदीदा प्रतिक्रियाओं से मॉडल के व्यवहार को संरेखित करना। यह जटिल और महंगा है; अधिकांश एप्लिकेशन टीमों की ज़रूरतें SFT से पूरी होती हैं। आरएलएचएफ को एक अवधारणा के रूप में जानना पर्याप्त है।
डेटा: फ़ाइन-ट्यूनिंग का हृदय
फाइन-ट्यूनिंग की गुणवत्ता पूरी तरह से प्रशिक्षण डेटा की गुणवत्ता पर निर्भर करती है। कुछ सौ उच्च गुणवत्ता वाले, सुसंगत नमूने हजारों बेकार नमूनों से बेहतर हैं। डेटा तैयार करते समय:
- संगति: सभी उदाहरण लगातार वह प्रारूप और टोन दिखाते हैं जो आप चाहते हैं। विरोधाभासी उदाहरण मॉडल को भ्रमित कर देते हैं।
- विविधता: उदाहरण वास्तविक उपयोग में विविधता को कवर करते हैं, लेकिन एक समान नहीं हैं।
- सफ़ाई: गलत, पक्षपातपूर्ण या छिपे हुए डेटा वाले उदाहरण स्थायी रूप से मॉडल में पारित कर दिए जाते हैं। फाइन-ट्यूनिंग डेटा को एक अनुबंध की तरह ही सावधानी से पढ़ा जाना चाहिए।
सावधानी: फाइन-ट्यूनिंग डेटा में प्रवेश करने वाली प्रत्येक पूर्वाग्रह, त्रुटि और छिपी हुई जानकारी मॉडल में अंकित हो जाती है और इसके आउटपुट में फिर से दिखाई देती है। अपने प्रशिक्षण डेटा का इतनी सावधानी से ऑडिट करें जैसे कि आप इसे प्रकाशित कर रहे हों; व्यक्तिगत डेटा पोस्ट न करें.
समीक्षा: क्या फाइन-ट्यूनिंग ने काम किया?
फाइन-ट्यूनिंग से पहले, एक हेल्ड-आउट इवल सेट आरक्षित करें और फाइन-ट्यूनिंग (बेस मॉडल) के बिना मॉडल के स्कोर को मापें। फाइन-ट्यूनिंग के बाद, उसी बैंक में दोबारा मापें। आप तुलना के बिना यह नहीं कह सकते कि "यह बेहतर हो गया"। इसके अलावा दो जालों से सावधान रहना चाहिए:
- ओवरलर्निंग: छोटे डेटा के साथ ओवरट्रेनिंग के कारण मॉडल प्रशिक्षण उदाहरणों को याद रखने और सामान्यीकृत करने की क्षमता खो देता है।
- भयावह भूल: एक संकीर्ण कार्य पर अत्यधिक प्रशिक्षण मॉडल की समग्र क्षमताओं को ख़राब कर सकता है। परीक्षण करें कि नया व्यवहार प्राप्त करते समय पुराने कौशल बरकरार रहते हैं या नहीं।
कमजोर दृष्टिकोण/मजबूत दृष्टिकोण
कमज़ोर: "मेरे पास 3000 चैट लॉग हैं, आइए उन सभी को फाइन-ट्यूनिंग दें, ताकि मॉडल हमारी तरह बात कर सके।"
गुक्लु: "पहले मैंने 100 वास्तविक कार्यों के साथ आधार मॉडल का मूल्यांकन किया, स्कोर नोट किया। मैंने मापा कि संकेतों और कुछ-शॉट के साथ इसमें कितना सुधार हुआ - यह पर्याप्त नहीं था। फिर 3000 लॉग से, मैंने उच्च गुणवत्ता, सुसंगत प्रारूप और कोई छिपा हुआ डेटा नहीं के साथ केवल 400 नमूने चुने और साफ़ किए। मैंने LoRA के साथ ठीक-ठीक ट्यून किया, उन्हीं 100 कार्यों के साथ फिर से मापा और एक अलग परीक्षण के साथ पुष्टि की कि सामान्य क्षमताएं बरकरार थीं।"
अंतर: मजबूत दृष्टिकोण पहले विकल्पों को समाप्त करता है, चेरी डेटा चुनता है, पहले और बाद में उपाय करता है, और दुष्प्रभावों के लिए परीक्षण करता है।
लागत एवं रख-रखाव की हकीकत
फाइन-ट्यूनिंग एक बार का काम नहीं है; यह देखभाल का कर्तव्य है. बेस मॉडल अपडेट होने, बदलाव की आवश्यकता होने या डेटा खो जाने पर फिर से प्रशिक्षण लेना आवश्यक हो सकता है। इसके अतिरिक्त, एक सुव्यवस्थित मॉडल की मेजबानी करने से अतिरिक्त लागत और संचालन आता है। स्वामित्व की इस कुल लागत की तुलना इसके द्वारा प्रदान की गई गुणवत्ता में वृद्धि से करें। अधिकांश समय एक अच्छा प्रॉम्प्ट + RAG फ़ाइन-ट्यूनिंग की तुलना में सस्ता और अधिक लचीला होता है।
तीन मिनी मामले
केस 1 - अनावश्यक फाइन-ट्यूनिंग। एक टीम ने एक महंगी फाइन-ट्यूनिंग परियोजना शुरू की क्योंकि "हमारा मॉडल हमारे उत्पादों को नहीं जानता है।" महीनों और बजट खर्च किए गए, परिणाम नाजुक था - हर बार उत्पाद सूची बदलने पर मॉडल अप्रचलित हो गया। अंत में उन्होंने आरएजी पर स्विच किया: उन्होंने दस्तावेज़ आधार से उत्पाद डेटा प्राप्त किया, अपडेट तत्काल था और लागत कम हो गई। पाठ: सूचना समस्या का समाधान फाइन-ट्यूनिंग से नहीं होता है।
केस 2 - सही फाइन-ट्यूनिंग। एक बीमा कंपनी चाहती थी कि मॉडल हमेशा एक ही कठोर संरचना (आइटम दर क्लॉज, विशिष्ट शीर्षकों के साथ) में पॉलिसी सारांश तैयार करे। प्रॉम्प्ट के साथ संगति 70% पर अटकी हुई है। 300 अच्छे नमूनों के साथ लोरा को ठीक करने के बाद, प्रारूप स्थिरता 98% तक बढ़ गई। यह एक व्यवहार संबंधी समस्या थी और इसे ठीक करना सही उपकरण था।
केस 3 - गोपनीयता डेटा में लुप्त हो रही है। एक टीम ने चैट लॉग को साफ़ किए बिना फ़ाइन-ट्यूनिंग के लिए सबमिट कर दिया। लॉग में वास्तविक ग्राहक नाम और पहचान संख्याएं थीं। सुव्यवस्थित मॉडल ने इन नामों को असंबंधित प्रश्नों में आउटपुट के रूप में "लीक" करना शुरू कर दिया। मॉडल को वापस ले लिया गया, डेटा को छुपाया गया और फिर से प्रशिक्षित किया गया। पाठ: फ़ाइन-ट्यूनिंग डेटा में छिपी जानकारी स्थायी रूप से मॉडल में स्थानांतरित हो जाती है।
कॉपी करने योग्य टेम्पलेट
यह निर्णय लेने में मेरी सहायता करें कि क्या मेरी इस समस्या के लिए फाइन-ट्यूनिंग आवश्यक है। समस्या: [विवरण] क्या यह एक सूचना समस्या है (मॉडल को कुछ पता नहीं है) या एक व्यवहार समस्या (मॉडल वह प्रारूप/टोन/संरचना उत्पन्न नहीं करता है जो मैं चाहता हूं)? क्या इसे पहले शीघ्र, कुछ-शॉट और आरएजी से हल किया जा सकता है? उनमें से प्रत्येक को क्यों आज़माएँ/न आज़माएँ? केवल किस स्थिति में आप फ़ाइन-ट्यूनिंग की अनुशंसा करेंगे?
इस फाइन-ट्यूनिंग डेटासेट की जांच करें: 1) क्या उदाहरण प्रारूप और टोन में सुसंगत हैं? 2) क्या वे वास्तविक उपयोग में भिन्नता को कवर करते हैं? 3) क्या इसमें गोपनीय/व्यक्तिगत डेटा शामिल है (छिपाया जाना चाहिए)? 4) क्या विरोधाभासी उदाहरण हैं? उदाहरणों का एक उपसमूह: [उदाहरण] प्रत्येक समस्या को सूचीबद्ध करें और आपको जो समाधान मिला है उसे ठीक करें।
फ़ाइन-ट्यूनिंग से पहले और बाद में एक मूल्यांकन योजना तैयार करें। कार्य: [स्पष्टीकरण] - हेल्ड-आउट इवल सेट का चयन कैसे किया जाना चाहिए? - बेस मॉडल का स्कोर कैसे मापा जाता है? - फाइन-ट्यूनिंग के बाद इसकी तुलना किस मीट्रिक से की जाती है? - मैं कैसे परीक्षण करूं कि सामान्य क्षमताएं क्षीण नहीं हैं (विनाशकारी भूल)?
LoRA के साथ फ़ाइन-ट्यूनिंग के लिए प्रारंभिक हाइपरपैरामीटर सुझाएं। डेटा आकार: [नमूनों की संख्या] उद्देश्य: [प्रारूप/टोन शिक्षण] अधिक सीखने से बचने के लिए युग, सीखने की दर और जल्दी रुकने का सुझाव दें।
निर्णय तालिका: कौन सा उपकरण कब
जरुरत
पहले प्रयास करें
फाइन-ट्यूनिंग?
मॉडल को कोई जानकारी नहीं है
रग
नहीं
वर्तमान डेटा आवश्यक है
रग
नहीं
विशिष्ट कठोर प्रारूप
कुछ शॉट्स
यदि पर्याप्त नहीं तो हाँ
सुसंगत स्वर/शैली
शीघ्र + कुछ-शॉट
यदि पर्याप्त नहीं तो हाँ
फ़ील्ड शब्दजाल/शैली
संकेत
यदि यह पर्याप्त नहीं है, लोरा
सरल कार्य अनुकूलन
शीघ्र इंजीनियरिंग
आम तौर पर नहीं
सामान्य गलतियाँ
- सूचना संबंधी समस्या को फाइन-ट्यूनिंग के साथ हल करने का प्रयास किया जा रहा है। RAG सही उपकरण है.
- प्रॉम्प्ट/कुछ-शॉट/आरएजी का उपभोग किए बिना फाइन-ट्यूनिंग में चल रहा है। महँगा और अनावश्यक.
- निम्न गुणवत्ता/विपरीत डेटा के साथ प्रशिक्षण। कम लेकिन स्पष्ट डेटा बेहतर है.
- गोपनीय डेटा को शिक्षा में डालना। मॉडल में स्थायी रूप से घुसपैठ करता है।
- पहले और बाद में माप नहीं करना. आप पुनर्प्राप्ति साबित नहीं कर सकते.
- भयावह भूल का परीक्षण नहीं। नया कौशल पुराने कौशल को बाधित कर सकता है।
संक्षेप में
फाइन-ट्यूनिंग एक शक्तिशाली लेकिन महंगा उपकरण है और इसे केवल प्रॉम्प्ट-फ्यू-शॉट-आरएजी का उपभोग करने के बाद व्यवहार/प्रारूप समस्याओं के लिए विचार किया जाना चाहिए; सूचना संबंधी समस्याएँ RAG से संबंधित हैं। लोआरए जैसी पैरामीटर-कुशल विधियां व्यावहारिक पहली पसंद हैं। गुणवत्ता पूरी तरह से डेटा गुणवत्ता पर निर्भर करती है; छोटे लेकिन साफ़, सुसंगत और गोपनीय डेटा का उपयोग करें। पहले और बाद में मापें, अधिक सीखने और क्षमता के नुकसान का परीक्षण करें। फाइन-ट्यूनिंग देखभाल का कर्तव्य है; इसकी कुल लागत को उसके द्वारा प्रदान की जाने वाली गुणवत्ता के विरुद्ध तौलें।
आवेदन कार्य
एक समस्या चुनें और निर्णय लें कि "ज्ञान या व्यवहार" के बीच अंतर करके सुधार आवश्यक है या नहीं और अपना औचित्य लिखें। यदि यह एक व्यवहार समस्या है, तो 20-30 सुसंगत नमूने तैयार करें, छिपे हुए डेटा की जांच करें, और पहले और बाद की मूल्यांकन योजना (हेल्ड-आउट क्लस्टर, बेस स्कोर, तुलना मीट्रिक, भूल परीक्षण) का दस्तावेजीकरण करें। यदि इसे फ़ाइन-ट्यूनिंग के बजाय RAG/कुछ-शॉट से हल किया जा सकता है, तो इसे भी नोट कर लें।
चेकलिस्ट
- [ ] मैंने निर्धारित किया कि समस्या ज्ञान है या व्यवहार।
- [ ] मैंने सबसे पहले शीघ्र, कुछ-शॉट और आरएजी विकल्पों का मूल्यांकन किया।
- [ ] मैंने स्थिरता, विविधता और गोपनीयता के लिए डेटा को बेहतर बनाने का ऑडिट किया।
- [ ] मैंने एक हेल्ड-आउट इवल क्लस्टर आवंटित किया और आधार स्कोर मापा।
- [ ] मैंने पहले-बाद की तुलना और भूलने के परीक्षण की योजना बनाई।
- [ ] मैंने कुल लागत की तुलना इसके द्वारा प्रदान की जाने वाली गुणवत्ता से की।