LLM-ஐ ஃபைன்-ட்யூன் செய்வது எப்படி [அதற்குப் பதிலாக RAG அல்லது ப்ராம்ப்டிங்கை எப்போது பயன்படுத்துவது]
LLM-ஐப் படிப்படியாக ஃபைன்-ட்யூன் செய்வது எப்படி என்பதை இந்த வழிகாட்டி விளக்குகிறது, முழு ஃபைன்-ட்யூனிங்கை LoRA மற்றும் QLoRA-வுடன் ஒப்பிடுகிறது, மேலும் ஒரு மாடலின் வெளியீடுகளை மேம்படுத்த ப்ராம்ப்டிங் அல்லது RAG எப்போது சிறந்த வழி என்பதைக் காட்டுகிறது.

ஒரு பெரிய மொழி மாதிரியை (LLM) ஃபைன்-ட்யூன் செய்வது என்பது, ப்ராம்ப்ட் செய்வதால் மட்டுமே பெற முடியாத வெளியீடுகளை அது வழங்கும் வகையில், முன்-பயிற்சி பெற்ற ஒரு LLM-ஐ ஒரு சிறிய, பணி சார்ந்த தரவுத்தொகுப்பில் மேலும் செம்மைப்படுத்துவதாகும்.
நீங்கள் விரும்பும் நடத்தையைக் காட்டும் உள்ளீடு/வெளியீடு எடுத்துக்காட்டு ஜோடிகளைச் சேகரித்தல், மாதிரியின் எடைகளை அவற்றை நோக்கி நகர்த்தும் பயிற்சிச் சுற்றுகளை இயக்குதல், முடிவை அசல் மாதிரியின் வெளியீடுகளுடன் ஒப்பிட்டுச் சரிபார்த்தல் ஆகியவை ஃபைன்-ட்யூனிங்கில் அடங்கும். LoRA போன்ற அளவுரு-திறன்மிக்க முறைகள், இதை ஒரே GPU-வில் இயக்கும் அளவுக்குச் செலவு குறைந்ததாக்குகின்றன.
LLM வெளியீடுகளில் உங்களுக்குத் திருப்தி இல்லையென்றால், முதலில் உங்கள் ப்ராம்ப்ட்களையும் மீட்டெடுப்பு-மேம்படுத்தப்பட்ட உருவாக்கத்தையும் (RAG) செம்மைப்படுத்துங்கள். ஃபைன்-ட்யூனிங் LLM எப்படி நடந்துகொள்கிறது என்பதை மாற்றுகிறது. புதிய தகவலையோ உங்கள் நிறுவனத்துக்குச் சொந்தமான தகவலையோ அது பயன்படுத்த வேண்டுமென்றால், பொதுவாக ப்ராம்ப்ட் செய்தலும் RAG-உம் சிறந்த தேர்வாக இருக்கும்.
ஒரு LLM-ஐப் படிப்படியாக எப்படி ஃபைன்-ட்யூன் செய்வது, முக்கிய ஃபைன்-ட்யூனிங் முறைகள் (LoRA மற்றும் QLoRA), இந்தச் செயல்முறையைச் சீர்குலைக்கக்கூடிய சவால்கள் மற்றும் தவறுகள் ஆகியவற்றை இங்கே பார்க்கலாம்.
LLM ஃபைன்-ட்யூனிங் என்றால் என்ன, அது LLM முன்-பயிற்சியிலிருந்து எப்படி வேறுபடுகிறது
LLM முன்-பயிற்சி, ஒரு பரந்த உரைத் தொகுப்பைக் கொண்டு மாதிரியின் பொதுவான மொழித் திறனை அடியிலிருந்து உருவாக்குகிறது; LLM ஃபைன்-ட்யூனிங்கோ, முன்-பயிற்சி பெற்ற ஒரு மாதிரியை ஒரு குறிப்பிட்ட வேலைக்காக ஒரு சிறிய தரவுத்தொகுப்பில் சரிசெய்கிறது.
LLM முன்-பயிற்சி என்பது ஓர் அடிப்படை மாதிரியை உருவாக்கும், அதிக வளங்கள் தேவைப்படும் கட்டமாகும். அது பரந்த உரைத் தொகுப்பிலிருந்து கற்றுக்கொள்கிறது; இதனால் அதற்குப் பொதுவான இலக்கணம், உண்மைத் தகவல்கள், பகுத்தறியும் திறன் ஆகியவை கிடைக்கின்றன, ஆனால் உங்கள் பணிக்கான சிறப்புத் திறன் கிடைப்பதில்லை.
LLM ஃபைன்-ட்யூனிங், ஒரு குறிப்பிட்ட பணி அல்லது பயன்பாட்டுக்குத் தேவையான வெளியீடுகளை அடிப்படை மாதிரி உருவாக்கும் வகையில், அதன் பயிற்சியைக் கவனமாகத் தேர்ந்தெடுக்கப்பட்ட ஒரு சிறிய தரவுத்தொகுப்பில் தொடர்கிறது. எடுத்துக்காட்டாக: நிலையான வெளியீட்டு வடிவம், பிராண்டின் குரல் அல்லது தொனி, துறை சார்ந்த முறைமைகள், அல்லது நம்பகமான கருவி மற்றும் ஃபங்ஷன் அழைப்புகள்.
எப்போது LLM-களை ஃபைன்-ட்யூன் செய்ய வேண்டும், எப்போது அதற்குப் பதிலாக ப்ராம்ப்ட் செய்ய வேண்டும் அல்லது RAG-ஐப் பயன்படுத்த வேண்டும்
LLM செயல்திறனை மேம்படுத்த, இந்த ஏணியில் படிப்படியாக மேலே செல்லுங்கள்: ப்ராம்ப்ட் செய்தல் -> RAG -> ஃபைன்-ட்யூனிங்.
இன்னும் விரிவான வழிமுறைகளுடன் உங்கள் ப்ராம்ப்ட்களைச் செம்மைப்படுத்துங்கள்; மாதிரிக்குச் சமீபத்திய தகவலை வழங்க RAG-ஐப் பயன்படுத்துங்கள். ப்ராம்ப்ட் மற்றும் மீட்டெடுப்பு மேம்பாடுகள் பலன் தராதபோது மட்டுமே ஃபைன்-ட்யூனிங்கைப் பயன்படுத்துங்கள்.
அணுகுமுறை | இது எதை மாற்றுகிறது | எப்போது பயன்படுத்தலாம் | முக்கிய வரம்பு |
ப்ராம்ப்ட் இன்ஜினியரிங் | நீங்கள் அனுப்பும் கோரிக்கை | நடத்தை ஏறக்குறைய சரியாக உள்ளது; உங்களுக்கு வேகமும் மாற்றங்களைத் திரும்பப்பெறும் வசதியும் வேண்டும் | அடிப்படை மாதிரியின் தற்போதைய திறன்களைத் தாண்ட முடியாது |
RAG | இன்ஃபரன்ஸ் நேரத்தில் மாதிரி பார்ப்பவை | உண்மைத் தகவல்கள் அடிக்கடி மாறுகின்றன; LLM சமீபத்திய தகவலை அணுக வேண்டும் | மீட்டெடுப்புத் தாமதத்தையும் கூடுதல் உள்கட்டமைப்பையும் சேர்க்கிறது; நடத்தையை மாற்றாது |
LLM ஃபைன்-ட்யூனிங் | மாதிரியின் எடைகள் (மாதிரியின் உள் அளவுருக்கள்) | பெரிய அளவில் நிலையான நடத்தை, வடிவம் அல்லது தொனி தேவை, அல்லது ஒவ்வொரு அழைப்பிலும் சுருக்கமான ப்ராம்ப்ட்கள் தேவை | முன்கூட்டிய செலவு, எடைகளுக்குள் பதிந்த அறிவு பழையதாகிவிடுவது, முன்-பயிற்சியில் கற்ற நடத்தைகளை மறந்துவிடும் அபாயம் |
சிறந்த ப்ராம்ப்ட்கள் எப்போது ஃபைன்-ட்யூனிங்கை விஞ்சுகின்றன, எப்போது அவை போதாது
ப்ராம்ப்ட் செய்தல்தான் மிக வேகமான, மிகக் குறைந்த செலவிலான வழி. பல சந்தர்ப்பங்களில், மேலும் துல்லியமான, விரிவான ப்ராம்ப்ட்களே விரும்பிய நடத்தை மாற்றங்களை எட்டிவிடுகின்றன.
ஆனால் நீளமான ப்ராம்ப்ட்கள் வேலையை மெதுவாக்கி, செலவை அதிகரிக்கின்றன; மாதிரியின் தற்போதைய வரம்புகளையும் அவற்றால் கடக்க முடியாது.
ப்ராம்ப்ட் செய்தல் அதன் வரம்புகளை எட்டியிருக்கலாம் என்பதற்கான அறிகுறிகள்:
- புதிய விளிம்பு நிலைகள் வெளியீட்டைத் தொடர்ந்து சீர்குலைக்கின்றன: எடுத்துக்காட்டாக, உங்களுக்கு JSON தேவைப்படும்போது மாதிரி உரைநடையைத் தருகிறது அல்லது தொனியிலிருந்து விலகுகிறது; ஒவ்வொரு புதிய நிலைக்கும் நீங்கள் ப்ராம்ப்ட்டில் ஒரு திருத்தத்தைச் சேர்க்கிறீர்கள்.
- சிஸ்டம் ப்ராம்ப்ட் வளர்ந்துகொண்டே இருக்கிறது: ப்ராம்ப்ட் நூற்றுக்கணக்கான அல்லது ஆயிரக்கணக்கான வரிகளுக்கு நீண்டு, நிர்வகிக்கக் கடினமாகிறது.
- ஒவ்வொரு அழைப்பிலும் அதற்கு நீங்கள் விலை கொடுக்கிறீர்கள்: ஒவ்வொரு கோரிக்கையிலும் ப்ராம்ப்ட் மீண்டும் அனுப்பப்பட்டு மீண்டும் செயலாக்கப்படுவதால், டோக்கன் செலவும் தாமதமும் அதிகரிக்கின்றன.
- மாற்றங்கள் பலன் தருவதில்லை: புதிய வழிமுறைகள் வெளியீடுகளை மேம்படுத்துவதில்லை.
அப்போதும்கூட, செலவு குறைந்த ப்ராம்ப்ட் நிலைத் தீர்வுகளை முதலில் முயற்சி செய்யுங்கள். மாதிரிக்கு வடிவத்தைக் காட்ட few-shot எடுத்துக்காட்டுகளையும் (உள்ளீடு/வெளியீடு ஜோடிகள்), கடினமான பணிகளைச் சிறிய படிகளாகப் பிரிக்க ப்ராம்ப்ட் சங்கிலியாக்கத்தையும், துல்லியமான தேடல்களையோ கணக்கீடுகளையோ வேறிடத்துக்கு ஒப்படைக்க ஃபங்ஷன்-காலிங் ஹூக்குகளையும் பயன்படுத்துங்கள்.
மாதிரியை ஃபைன்-ட்யூன் செய்வதைவிட RAG எப்போது பொருத்தமானது
RAG, LLM-க்கு என்ன தெரியும் என்பதை மாற்றுகிறது; LLM ஃபைன்-ட்யூனிங், அது எப்படி நடந்துகொள்கிறது என்பதை மாற்றுகிறது. குறைபாடு அறிவு சார்ந்ததாக இருந்தால் — குறிப்பாக அடிக்கடி மாறும் அல்லது உங்கள் சொந்த ஆவணங்களில் உள்ள அறிவாக இருந்தால் — RAG-தான் தீர்வு. குறைபாடு நடத்தை சார்ந்ததாக இருந்தால், ஃபைன்-ட்யூன் செய்யுங்கள்.
ஃபைன்-ட்யூனிங் ஒரு மாதிரிக்குத் தெரிந்தவற்றையும் மாற்றுகிறது; ஆனால் அது உள்வாங்கும் உண்மைத் தகவல்கள் பயிற்சி நேரத்திலேயே உறைந்துவிடுவதால், வேகமாக மாறும் துறைகளில் அவை விரைவில் பழையதாகிவிடுகின்றன. மேலும், அந்தத் தகவல் மாதிரியின் எடைகளுக்குள் பதிந்துவிடுவதால், அது எங்கிருந்து வந்தது என்பதற்கான எந்தப் பதிவும் அவற்றில் இருப்பதில்லை.
மீட்டெடுப்பு அடுக்கு பயன்படுத்தும் மூல ஆவணங்களைப் புதுப்பிப்பது விரைவானது, செலவும் குறைவு; மேலும் அது பயன்படுத்திய சரியான மூலங்களை அதனால் மேற்கோள் காட்ட முடியும். எனவே, ஆதாரத்துடன் நிறுவக்கூடிய, சமீபத்திய தகவல் தேவைப்படும்போது இது சிறந்த தேர்வாகும்.
RAG-இன் குறைபாடு? அது உருவாக்கிப் பராமரிக்க வேண்டிய கூடுதல் அடுக்கு; மேலும் அது தாமதத்தையும் அதிகரிக்கிறது.
நடைமுறையில், உங்களுக்குப் பெரும்பாலும் இரண்டுமே தேவைப்படும். ப்ரொடக்ஷன் அமைப்புகள் ஃபைன்-ட்யூன் செய்யப்பட்ட மாதிரிகளை RAG-உடன் இணைத்து, நிலையான நடத்தைக்கு ஒன்றையும் தற்போதைய உண்மைத் தகவல்களுக்கு மற்றொன்றையும் பயன்படுத்துகின்றன.
ஃபைன்-ட்யூனிங்கில் பொதுவான தவறுகள், அபாயங்கள் மற்றும் சவால்கள்
ஃபைன்-ட்யூனிங் சரியான கருவியாக இருக்கும்போதும், அதில் செலவுகளும் அபாயங்களும் உள்ளன:
- செலவும் நேரமும்: தூய்மையான, பிரதிநிதித்துவமான பயிற்சித் தரவைத் தொகுப்பதும், பயிற்சிக்கான கணினித் திறனும் அதிகச் செலவு பிடிப்பவை.
- பேரழிவு மறதி (catastrophic forgetting): குறுகிய தரவுத்தொகுப்பில் பயிற்சி பெறும் மாதிரி, பொதுத் திறன்களை இழந்து புதிய தோல்வி முறைகளைப் பெறக்கூடும்; இதனால் அடிப்படை மாதிரி செய்யாத பிழைகள் ஏற்படும்.
- ஓவர்ஃபிட்டிங்: தரவு மிகக் குறைவாகவோ அளவுக்கு மீறி திரும்பத் திரும்ப வருவதாகவோ இருந்தால், மாதிரி வடிவங்களைக் கற்றுக்கொள்வதற்குப் பதிலாக உங்கள் பயிற்சி எடுத்துக்காட்டுகளை மனப்பாடம் செய்துவிடும்; இதனால் அது பயிற்சித் தரவில் நன்றாகச் செயல்பட்டாலும் உண்மையான உள்ளீடுகளில் மோசமாகச் செயல்படும்.
- பழையதாகிவிடுதல்: எடைகளுக்குள் பதிந்த அறிவு விரைவில் காலாவதியாகிவிடுவதால், புதிய தரவில் மீண்டும் பயிற்சி அளிக்க வேண்டியிருக்கும்.
- வழக்கொழிதல்: வலுவான ஒரு புதிய மாதிரி வெளியாகும்போது, எந்த மாற்றமும் செய்யாமலேயே அது உங்கள் ஃபைன்-ட்யூன் செய்த மாதிரியைப் பெரும்பாலும் விஞ்சிவிடும்; அப்போது நீங்கள் அந்த வேலையை மீண்டும் செய்ய வேண்டியிருக்கும்.
- மதிப்பீடு மற்றும் மறுஉருவாக்கச் சவால்கள்: ஃபைன்-ட்யூன் செய்யப்பட்ட மாதிரி அடிப்படை மாதிரியைவிடச் சிறப்பாகச் செயல்படுகிறது என்பதை நிரூபிப்பது கடினம். ஒரே அமைப்புகளுடன் இயக்கப்படும் இரண்டு GPU பயிற்சி ஓட்டங்கள்கூட சற்று வேறுபட்ட மாதிரிகளை உருவாக்கக்கூடும்.
- தரவு நிர்வாகம்: நிறுவனத்துக்குச் சொந்தமான அல்லது உணர்திறன் மிக்க தரவில் பயிற்சி அளிப்பது, தனியுரிமை மற்றும் உரிமம் தொடர்பான கேள்விகளை எழுப்புகிறது; ஒரு மாதிரி தான் பயிற்சி பெற்ற தரவின் துண்டுகளைப் பின்னர் வெளிப்படுத்தக்கூடும்.
முக்கிய ஃபைன்-ட்யூனிங் முறைகள்
LLM ஃபைன்-ட்யூனிங்கின் முக்கிய வகைகள், மாதிரியின் எவ்வளவு பகுதியை அவை மாற்றுகின்றன என்பதன் அடிப்படையில் வேறுபடுகின்றன: முழு ஃபைன்-ட்யூனிங் முழு மாதிரிக்கும் மீண்டும் பயிற்சி அளிக்கிறது; LoRA, QLoRA போன்ற அளவுரு-திறன்மிக்க ஃபைன்-ட்யூனிங் (PEFT) முறைகளோ சில எடைகளை மட்டுமே புதுப்பிக்கின்றன. PEFT முறைகளுக்கு, முழு ஃபைன்-ட்யூனிங்குக்கு ஆகும் நினைவகத்தில் ஒரு சிறு பகுதியே போதும்; சரியான அமைப்புகளுடன் அவை அதே முடிவுகளையும் எட்ட முடியும்.
முழு ஃபைன்-ட்யூனிங் மாதிரியின் ஒவ்வொரு எடையையும் புதுப்பிக்கிறது. இதுவே மிக அதிகச் செலவு பிடிப்பது; பேரழிவு மறதிக்கான அபாயமும் இதில்தான் மிக அதிகம். பெரிய நடத்தை மாற்றம் தேவைப்படும்போது, அதற்குத் தேவையான தரவும் கணினித் திறனும் உங்களிடம் இருந்தால் மட்டுமே இதைப் பயன்படுத்துங்கள்.
இதற்கான மாற்று, அளவுரு-திறன்மிக்க ஃபைன்-ட்யூனிங் அல்லது PEFT. மாதிரியின் பெரும்பகுதியை உறையவைத்து, ஒரு சிறிய அளவுருத் தொகுப்புக்கு மட்டும் பயிற்சி அளிக்கும் முறைகளுக்கான பொதுச் சொல் இது. அடிப்படை மாதிரி மாறாமல் இருப்பதால், இது மிகக் குறைந்த நினைவகத்தையே பயன்படுத்துகிறது; மறதிக்கான வாய்ப்பும் குறைவு.
குறைந்த ரேங்க்குகளில், PEFT முழு ஃபைன்-ட்யூனிங்கைவிடக் குறைவாகவே கற்றுக்கொள்கிறது; ஆனால் ரேங்கை உயர்த்தி, கற்றல் விகிதத்தைச் சரிசெய்தால், இன்ஸ்ட்ரக்ஷன்-ட்யூனிங் பணிகளில் அந்த இடைவெளியின் பெரும்பகுதி குறைந்துவிடும்.
PEFT முறைகளில் அடங்குபவை:
- LoRA (Low-Rank Adaptation): வழக்கமான தொடக்கப் புள்ளியான இது, அசல் எடைகளை உறையவைத்து, கூடுதலாகச் சேர்க்கப்பட்ட சிறிய அடாப்டர் அளவுருத் தொகுப்புக்கு மட்டும் பயிற்சி அளிக்கிறது; இவை பெரும்பாலும் மொத்தத்தில் 1%-க்கும் குறைவு என்பதால், இது ஒரே ஒரு நுகர்வோர் GPU-வில் இயங்குகிறது.
- QLoRA (Quantized Low-Rank Adaptation): இது LoRA-வைப் பயன்படுத்துவதற்கு முன் அடிப்படை மாதிரியை 4-பிட் துல்லியத்துக்குச் சுருக்குகிறது; இதனால் ஒரு பெரிய மாதிரியை ஒரே GPU-வில் ஃபைன்-ட்யூன் செய்ய முடியும்.
முறை | இது எதைப் புதுப்பிக்கிறது | நடைமுறை வன்பொருள் தேவை | எப்போது பயன்படுத்தலாம் |
முழு ஃபைன்-ட்யூனிங் | மாதிரியின் ஒவ்வொரு எடையும் | 7B-வகை மாதிரிகளுக்குப் பல-GPU நோடு; பெரிய மாதிரிகளுக்கு இதைவிடப் பல மடங்கு அதிகம் | ஆழமான நடத்தை மாற்றம் தேவை; அதற்கான தரவும் கணினித் திறனும் உங்களிடம் உள்ளன |
LoRA (PEFT) | கூடுதலாகச் சேர்க்கப்பட்ட சிறிய அடாப்டர் எடைகளின் தொகுப்பு | ஒரே ஒரு நுகர்வோர் GPU | உங்கள் இயல்புநிலைத் தொடக்கப் புள்ளி |
QLoRA (PEFT) | 4-பிட்டாகச் சுருக்கப்பட்ட அடிப்படை மாதிரியின் மீது LoRA அடாப்டர்கள் | ஒரே GPU-வில் மிகப் பெரிய மாதிரிகள் | உங்களிடம் நினைவகம் குறைவு, ஆனால் பெரிய அடிப்படை மாதிரி வேண்டும் |
இவற்றுடன் கூடுதலாக, ஒரு மாதிரி வழிமுறைகளை எப்படிப் பின்பற்றுகிறது, மனித விருப்பங்களுடன் எப்படி ஒத்துப்போகிறது என்பதை வடிவமைக்க, RLHF (Reinforcement Learning from Human Feedback) முதல் Direct Preference Optimization (DPO), Odds Ratio Preference Optimization (ORPO) போன்ற இலகுவான மாற்றுகள் வரையிலான இன்ஸ்ட்ரக்ஷன்-ட்யூனிங் மற்றும் பிரிஃபரன்ஸ்-ட்யூனிங் முறைகளையும் நாங்கள் பயன்படுத்துகிறோம்.
ஒரு LLM-ஐப் படிப்படியாக ஃபைன்-ட்யூன் செய்வது எப்படி
ஒரு LLM-ஐ ஃபைன்-ட்யூன் செய்வதுதான் சரியான முடிவு என்று நீங்கள் தீர்மானித்த பிறகு, பின்பற்ற வேண்டிய பணிப்பாய்வு இதோ.
படி 1: பணியையும், வெற்றியை எப்படி அளவிடுவீர்கள் என்பதையும் வரையறுங்கள்
LLM-இடமிருந்து நீங்கள் எந்த நடத்தையை எதிர்பார்க்கிறீர்கள், அது கிடைத்துவிட்டது என்பதை எப்படி அறிவீர்கள் என்பதைத் தீர்மானியுங்கள்.
ஃபைன்-ட்யூன் செய்யப்பட்ட மாதிரி செய்து முடிக்க வேண்டிய குறிப்பிட்ட வேலையைக் குறிப்பிடுங்கள் — எடுத்துக்காட்டாக, ஆதரவு டிக்கெட்டுகளை வகைப்படுத்துதல், ஒப்பந்தங்களை ஒரு நிலையான வடிவத்தில் சுருக்குதல், அல்லது உங்கள் நிறுவனத்தின் சொந்தப் பாணியில் குறியீட்டை உருவாக்குதல்.
பின்னர் வெற்றியை வரையறுங்கள். பொதுவான தேர்வுகள்:
- வெளியீட்டின் செல்லுபடித்தன்மை: எடுத்துக்காட்டாக, முடிவு செல்லுபடியான JSON-ஆகப் பாகுபடுத்தப்படுகிறதா, அல்லது உங்களுக்குத் தேவையான Markdown கட்டமைப்புடன் பொருந்துகிறதா?
- தானியங்கு மதிப்பெண்கள்: உருவாக்கப்பட்ட உரையைக் குறிப்புப் பதில்களுடன் ஒப்பிடும் BLEU அல்லது ROUGE போன்ற அளவீடுகளையோ, லேபிள் செய்யப்பட்ட தொகுப்பில் பணித் துல்லியத்தையோ பயன்படுத்துங்கள்.
- மனித மதிப்பீடுகள்: தொனி அல்லது பயனுள்ள தன்மை போன்ற, ஸ்கிரிப்ட்டால் சரியாக மதிப்பிட முடியாத பண்புகளுக்கு, மதிப்பெண் அடிப்படையிலான அல்லது தேர்ச்சி/தோல்வி அடிப்படையிலான மதிப்பீட்டு அளவுகோல்.
- கடினமான உள்ளீடுகளில் நம்பகத்தன்மை: அடிப்படை மாதிரியைத் தடுமாறச் செய்த அசாதாரண உள்ளீடுகளை இது கையாள்கிறதா?
படி 2: உங்கள் தரவுத்தொகுப்பைத் தயாரியுங்கள்
ஃபைன்-ட்யூனிங்கின் வெற்றியைத் தரவின் தரமே தீர்மானிக்கிறது; எனவே சரியான ஃபைன்-ட்யூனிங் தரவுத்தொகுப்பைச் சேகரிப்பதில் முயற்சி செலுத்துங்கள்.
உங்கள் தரவை JSONL வடிவில், வழிமுறை/பதில் ஜோடிகளாக அமையுங்கள்; அதில் ஒவ்வொரு வரியும் உள்ளீட்டையும் (தேவையான சூழல் தகவலுடன்), நீங்கள் திரும்பப் பெற விரும்பும் சரியான வெளியீட்டையும் கொண்டிருக்கும்.
எடுத்துக்காட்டாக, பொது வழிமுறைகளுக்கான Alpaca-cleaned தரவுத்தொகுப்பு அல்லது Databricks-இன் Dolly போன்ற பொதுத் தரவுத்தொகுப்புகளைப் பாருங்கள்; அல்லது 77 நோக்கங்களின் கீழ் லேபிள் செய்யப்பட்ட 13,000-க்கும் மேற்பட்ட உண்மையான ஆதரவு வினவல்களைக் கொண்ட, பணி சார்ந்த banking77-ஐப் பாருங்கள்.
ஒரு குறிப்பிட்ட பணிக்கு, சில நூறு முதல் சில ஆயிரம் வரையிலான தூய்மையான, பல்வகைப்பட்ட எடுத்துக்காட்டுகளே நடத்தையை மாற்றப் போதுமானவை — அந்த எடுத்துக்காட்டுகள் விளிம்பு நிலைகள் உட்பட உண்மையான ப்ரொடக்ஷன் உள்ளீடுகளைப் பிரதிபலித்து, சீரான வடிவத்தில் இருக்கும் வரை.
இன்னும் உள்ளீடு/வெளியீடு ஜோடிகள் இல்லையா? ஆதரவு டிக்கெட்டுகளும் அவற்றுக்கான சிறந்த பதில்களும், அல்லது ஆவணங்களும் அவற்றின் சுருக்கங்களும் போன்ற, உங்களிடம் ஏற்கெனவே உள்ள தரவிலிருந்து தொகுப்பை உருவாக்குங்கள்.
உங்களிடம் வெளியீடுகள் மட்டுமே இருந்தால், ஒவ்வொன்றுக்கும் பொருத்தமான ஓர் உள்ளீட்டை உருவாக்க வலுவான ஒரு மாதிரியைப் பயன்படுத்துங்கள்; அல்லது ஒரு சிறிய தொடக்கத் தொகுப்பைக் கையால் எழுதி, ஒரு பெரிய "ஆசிரியர்" (teacher) மாதிரியைக் கொண்டு அதை விரிவுபடுத்துங்கள்; பின்னர் சிறந்த ஜோடிகளை மட்டும் வைத்துக்கொள்ளுங்கள்.
இறுதியாக, தரவைப் பயிற்சி, சரிபார்ப்பு, சோதனைத் தொகுப்புகளாகப் பிரியுங்கள்; இதனால் மாதிரி இதுவரை பார்க்காத எடுத்துக்காட்டுகளில் அளவிட முடியும்.
படி 3: அடிப்படை மாதிரியையும் முறையையும் தேர்ந்தெடுங்கள்
3 முதல் 7 பில்லியன் அளவுருக்கள் கொண்ட ஒரு சிறிய ஓப்பன் சோர்ஸ் மாதிரியுடனும், LoRA அல்லது QLoRA போன்ற ஓர் அளவுரு-திறன்மிக்க ஃபைன்-ட்யூனிங் முறையுடனும் தொடங்குங்கள்.
Llama, Mistral, Qwen போன்ற திறந்த மாதிரிக் குடும்பங்கள், நீங்களே ஹோஸ்ட் செய்யக்கூடிய வலுவான அடிப்படையை வழங்குகின்றன; PEFT முறைகள் வன்பொருள் தேவையைக் குறைவாக வைத்திருக்கின்றன: QLoRA அடிப்படை மாதிரியை 4-பிட்டுக்குக் குவான்டைஸ் செய்வதால், 7B மாதிரியை ஃபைன்-ட்யூன் செய்ய 16-24GB நுகர்வோர் கார்டு மட்டுமே போதும். அதே மாதிரியை முழுமையாக ஃபைன்-ட்யூன் செய்ய இதைவிடப் பல மடங்கு நினைவகம் தேவை.
படி 4: உங்கள் பயிற்சி ஹைப்பர்பாராமீட்டர்களை அமையுங்கள்
முக்கியமான LLM ஃபைன்-ட்யூனிங் அளவுருக்களும், பரிந்துரைக்கப்படும் தொடக்க வரம்புகளும் இதோ:
- கற்றல் விகிதம், எடைகளுக்கான ஒவ்வொரு புதுப்பிப்பும் எவ்வளவு பெரியது என்பதைக் கட்டுப்படுத்துகிறது. Biderman et al. நடத்திய 2024 ஆய்வு, LoRA-வுக்கான சிறந்த விகிதங்கள் முழு ஃபைன்-ட்யூனிங்கின் விகிதங்களைவிடத் தோராயமாகப் பத்து மடங்கு அதிகமாக இருப்பதைக் கண்டறிந்தது: பொதுவாக, முழு ஃபைன்-ட்யூனிங்குக்கு 1e-5 முதல் 5e-5 வரை என்றால், LoRA-வுக்கு 5e-5 முதல் 5e-4 வரை. 1e-5 முதல் 5e-4 வரையிலான மதிப்புகளைச் சோதித்துப் பார்த்து, நிலையாகப் பயிற்சி பெறும் மிக உயர்ந்த மதிப்பைப் பயன்படுத்துமாறு அந்த ஆய்வு அறிவுறுத்துகிறது.
- பேட்ச் அளவு என்பது ஒவ்வொரு எடை புதுப்பிப்புக்கும் முன்பு மாடல் எத்தனை எடுத்துக்காட்டுகளிலிருந்து கற்றுக்கொள்கிறது என்பதாகும். ஒற்றை GPU-வில், ஒரு சாதனத்துக்கு 1 முதல் 8 வரையிலான சிறிய பேட்ச்சைப் பயன்படுத்தி, கிரேடியன்ட் குவிப்பு (gradient accumulation) மூலம் சுமார் 16 முதல் 64 வரையிலான மொத்த (effective) பேட்ச் அளவை அடையுங்கள்.
- எபாக்குகளின் எண்ணிக்கை என்பது மாடல் முழுத் தரவுத்தொகுப்பையும் எத்தனை முறை பார்க்கிறது என்பதாகும். குறிப்பிட்ட பணிகளைச் செய்ய மாடலுக்குப் பயிற்சி அளிக்கும்போது, 1-3 என்பது நல்ல பொது விதி; ஆனால் LoRA ஓட்டங்களுக்குப் பெரும்பாலும் இதைவிட அதிகம் தேவைப்படும்.
- LoRA ரேங்க் (r) அடாப்டரின் திறனை, அதாவது அது எவ்வளவு கற்றுக்கொள்ள முடியும் என்பதைத் தீர்மானிக்கிறது. எளிய பணிகளுக்கு 8 முதல் 32 வரையில் தொடங்கி, கடினமான பணிகளுக்கு அதை உயர்த்துங்கள்: மேலே குறிப்பிட்ட Biderman et al. LoRA ஆய்வில், குறியீட்டுக்காக 7B மாடலை அறிவுறுத்தல் ட்யூனிங் செய்தபோது, முழு ஃபைன்-ட்யூனிங்குக்கு இணையான முடிவைப் பெற ரேங்க் 256 தேவைப்பட்டது; கணிதத்தில் ரேங்க் 64 அதற்கு நெருக்கமாக வந்தது.
- அதிகபட்ச வரிசை நீளம் என்பது ஓட்டம் செயலாக்கும் மிக நீண்ட உள்ளீடாகும். மாடலின் சூழல் சாளரம் (context window) வரை, உங்கள் மிக நீண்ட எடுத்துக்காட்டுகளையும் உள்ளடக்கும்படி இதை அமையுங்கள்; இதைவிட நீளமான எதுவும் துண்டிக்கப்படும்.
- வார்ம்அப் மற்றும் அட்டவணை ஆகியவை ஓட்டம் முழுவதும் கற்றல் வீதம் எவ்வாறு படிப்படியாக உயர்ந்து மாறுகிறது என்பதைக் கட்டுப்படுத்துகின்றன. குறுகிய வார்ம்அப்பும் கோசைன் சிதைவும் (cosine decay) வழக்கமான இயல்புநிலைகள். இருப்பினும், வார்ம்அப்பைக் கைவிடுவது இறுதி மதிப்பெண்களைப் பாதிக்கவில்லை என்று Pareja et al. சிறிய மாடல் ஆய்வு கண்டறிந்தது.
இவற்றை நிலையான அமைப்புகளாக அல்லாமல், ஹைப்பர்பாராமீட்டர் ஸ்வீப்புக்கான தொடக்கப் புள்ளிகளாகக் கருதுங்கள்.
படி 5: பயிற்சி அளித்து, இழப்பைக் கண்காணியுங்கள்
பயிற்சி நடைபெறும்போது, அது பலனளிக்கிறதா என்பதை அறிய பயிற்சி மற்றும் சரிபார்ப்பு இழப்பு வளைவுகளைக் கவனியுங்கள்.
இழப்பு (loss) என்பது மாடலின் வெளியீடுகள் உங்கள் எடுத்துக்காட்டுகளிலிருந்து எவ்வளவு விலகியிருக்கின்றன என்பதை அளவிடுகிறது; ஓட்டம் முன்னேறும்போது அது சீராகக் குறைய வேண்டும். பயிற்சி இழப்பு, மாடல் கற்றுக்கொள்ளும் தரவை உள்ளடக்குகிறது. சரிபார்ப்பு இழப்பு, ஒதுக்கி வைக்கப்பட்ட எடுத்துக்காட்டுகளின் மீது கணக்கிடப்படுகிறது.
பயிற்சி இழப்பும் சரிபார்ப்பு இழப்பும் ஒன்றாகக் குறைந்தால், மாடல் பொதுமைப்படுத்தக் கற்றுக்கொள்கிறது என்று பொருள். பயிற்சி இழப்பு தொடர்ந்து குறைந்துகொண்டே இருக்க, சரிபார்ப்பு இழப்பு மாறாமல் நின்றாலோ அல்லது உயர்ந்தாலோ, மாடல் பேட்டர்னைக் கற்றுக்கொள்வதற்குப் பதிலாகப் பயிற்சித் தொகுப்பை மனப்பாடம் செய்கிறது (ஓவர்ஃபிட்டிங்).
படி 6: மதிப்பிடுங்கள், பிறகு டிப்ளாய் செய்யுங்கள்
குறைந்த பயிற்சி இழப்பு சரியான வெளியீடுகளுக்கு உத்தரவாதம் அளிக்காது; எனவே படி 1-இல் நீங்கள் நிர்ணயித்த அளவுகோல்களின் அடிப்படையில் ஃபைன்-ட்யூன் செய்யப்பட்ட மாடலை மதிப்பிடுங்கள்.
மாடல் தேர்ச்சி பெற்றதும், டிப்ளாய் செய்ய உங்களுக்கு இரண்டு வழிகள் உள்ளன:
- அடிப்படை மாடலின் மேல் அடாப்டரை சர்வ் செய்து, இயக்க நேரத்தில் இரண்டையும் ஏற்றுங்கள்; இதனால் அடாப்டரை எளிதாக மாற்றிக்கொள்ள முடியும்.
- ஹோஸ்ட் செய்ய எளிதான, தனித்து இயங்கும் ஒற்றை மாடலைப் பெற, அடாப்டரை அடிப்படை எடைகளுடன் இணையுங்கள்.
உங்கள் LLM-க்குச் சமீபத்திய தகவல்களை அணுகும் வசதியை வழங்க Perplexity-ஐப் பயன்படுத்துங்கள்
மாடலின் நடத்தையை உங்கள் தேவைகளுக்கு ஏற்ப மாற்றியமைக்க விரும்பும்போது, ஃபைன்-ட்யூனிங்தான் சரியான தேர்வு.
உங்கள் மாடலுக்குத் தற்போதைய தகவல்கள், குறிப்பாக விரைவாக மாறும் தகவல்கள் தேவைப்பட்டால், உங்களுக்கு RAG அல்லது நம்பகமான மூன்றாம் தரப்புத் தேடல் கருவி தேவை.
உங்கள் உள் விக்கி, வாடிக்கையாளர் ஆதரவு வரலாறு, ஒப்பந்தங்கள் அல்லது தயாரிப்பு ஆவணங்கள் போன்ற தனியுரிமைத் தரவுத்தொகுப்புகளுக்கு, தனிப்பயன் மீட்டெடுப்பு அடுக்கு (retrieval stack) சிறப்பாகச் செயல்படும்.
நீங்கள் பயன்படுத்த விரும்பும் அறிவு பொதுவில் கிடைப்பதாக இருந்தால், பிரத்யேக மீட்டெடுப்பு அடுக்கை உருவாக்க வேண்டிய அவசியமில்லை. Perplexity என்பது நேரலை வலை இண்டெக்ஸிலிருந்து (live web index) இன்லைன், கிளிக் செய்யக்கூடிய மேற்கோள்களுடன் பதில்களை வழங்கும் ஒரு பதில் இயந்திரம். அதன் Agent API அந்த வலை அடிப்படையிலான, மேற்கோள்களுடன் கூடிய பதில்களை ஒரே அழைப்பில் வழங்குகிறது; இதனால் உங்கள் ஆப் தற்போதைய ஆதாரங்களைப் பயன்படுத்திக்கொள்ள முடியும்.
LLM ஃபைன்-ட்யூனிங் பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
LLM-ஐ இலவசமாக ஃபைன்-ட்யூன் செய்ய முடியுமா?
ஆம், சிறிய ஓப்பன் LLM-ஐ இலவசமாக ஃபைன்-ட்யூன் செய்யலாம். எடுத்துக்காட்டாக, Google Colab-இன் இலவச அடுக்கு, 3B முதல் 8B வரையிலான மாடலில் QLoRA-வை இயக்கப் போதுமான GPU-வை வழங்குகிறது; ஒரு குறிப்பிட்ட பணிக்கு அது தாராளமாகப் போதும். இலவச அடுக்கால் கையாள முடிந்ததைவிட அதிக நினைவகம், நீண்ட ஓட்டங்கள் அல்லது பெரிய அடிப்படை மாடல் தேவைப்படும்போதுதான் நீங்கள் பணம் செலுத்தத் தொடங்குவீர்கள்.
உங்களுக்குச் சொந்தமாக GPU தேவையா, அல்லது கிளவுடில் ஃபைன்-ட்யூன் செய்ய முடியுமா?
LLM-களை ஃபைன்-ட்யூன் செய்ய நீங்கள் சொந்தமாக GPU வைத்திருக்க வேண்டியதில்லை. நிர்வகிக்கப்படும் சேவைகளும் GPU கிளவுட் வழங்குநர்களும் வன்பொருளை மணிநேர அடிப்படையில் வாடகைக்கு வழங்குகின்றன; எனவே வாடகைக்கு எடுக்கப்பட்ட ஒரு GPU, சிறிய மாடலுக்கான QLoRA ஓட்டத்துக்குப் போதுமானது. நீங்கள் அடிக்கடி ஃபைன்-ட்யூன் செய்தால் அல்லது உங்கள் எல்லாத் தரவையும் உங்கள் சொந்தக் கணினிகளிலேயே வைத்திருக்க வேண்டியிருந்தால் மட்டுமே GPU வாங்குவது பலனளிக்கும்.
LLM-களை ஃபைன்-ட்யூன் செய்ய எவ்வளவு நேரம் ஆகும்?
சிறிய LLM-க்கு, தரவுத்தொகுப்பின் அளவு மற்றும் வன்பொருளைப் பொறுத்து, ஒரு ஓட்டம் சில நிமிடங்களிலிருந்து சில மணிநேரங்களுக்குள் முடிந்துவிடும். எடுத்துக்காட்டாக, Oumi தனது ஹோஸ்ட் செய்யப்பட்ட தளத்தில் 0.8B மாடலை ஒரு மணிநேரத்துக்குச் சற்று அதிகமான நேரத்தில் முழுமையாக ஃபைன்-ட்யூன் செய்தது.
பெரிய மாடல்கள் அல்லது பல்லாயிரக்கணக்கான எடுத்துக்காட்டுகள் அந்த நேரத்தை ஒரு நாள் அல்லது அதற்கு மேல் நீட்டிக்கின்றன: ஒற்றை 40GB GPU-வில், 7B மாடலில் இயக்கப்பட்ட Emburse-இன் LoRA ஓட்டங்கள் 5,000 எடுத்துக்காட்டுகளுக்கு 8 மணிநேரமும், 50,000 எடுத்துக்காட்டுகளுக்குச் சுமார் 30 மணிநேரமும் எடுத்தன.
உங்கள் தரவு மாறும்போது, ஃபைன்-ட்யூன் செய்யப்பட்ட மாடலைத் தொடர்ந்து புதுப்பிக்க முடியுமா?
புதிய தரவில் மீண்டும் ஃபைன்-ட்யூன் செய்யலாம்; ஆனால் ஒவ்வொரு சுற்றுக்கும் கணினி வளங்கள் செலவாகும், மேலும் பேரழிவு மறதி (catastrophic forgetting) ஏற்படும் அபாயமும் உள்ளது. அடிக்கடி மாறும் அறிவுக்கு, RAG பொதுவாகச் சிறந்த தீர்வு; ஏனெனில் மீண்டும் பயிற்சி அளிப்பதற்குப் பதிலாக மூல ஆவணங்களைப் புதுப்பித்தால் போதும்.