कस्टमर सर्विस के लिए Llama का LoRA फाइन-ट्यूनिंग
आपको कस्टमर सर्विस के प्रश्नों के उत्तर देने के लिए एक लैंग्वेज मॉडल को फाइन-ट्यून करने का कार्य सौंपा गया है.
Llama मॉडल प्रश्नोत्तर में काफ़ी अच्छे हैं, और यह कस्टमर सर्विस वाले इस कार्य के लिए भी ठीक से काम करेंगे. दुर्भाग्य से, आपके पास रेगुलर फाइन-ट्यूनिंग चलाने की पर्याप्त कंप्यूट क्षमता नहीं है, इसलिए आपको bitext डेटासेट के साथ LoRA फाइन-ट्यूनिंग तकनीकें उपयोग करनी होंगी.
आप Maykeye/TinyLLama-v0 को ट्रेन करने में सक्षम होना चाहते हैं. ट्रेनिंग स्क्रिप्ट लगभग पूरी है, और आपको ट्रेनिंग कोड पहले से दिया गया है—सिर्फ LoRA कॉन्फ़िगरेशन पैरामीटर जोड़ने बाकी हैं.
संबंधित मॉडल, टोकनाइज़र, डेटासेट, और ट्रेनिंग आर्ग्युमेंट्स आपके लिए पहले से model, tokenizer, dataset, और training_arguments में लोड किए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Llama 3 के साथ फाइन-ट्यूनिंग
अभ्यास निर्देश
- अपने LoRA एडेप्टर की रैंक 2 सेट करने के लिए आर्ग्युमेंट जोड़ें.
- स्केलिंग फ़ैक्टर ऐसा सेट करें कि वह आपकी रैंक का दोगुना हो.
- अपनी LoRA कॉन्फ़िगरेशन में Llama-स्टाइल मॉडलों के लिए प्रयुक्त टास्क टाइप सेट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
from peft import LoraConfig, get_peft_model
peft_config = LoraConfig(
# Set rank parameter
____=____,
# Set scaling factor
____=____,
# Set the type of task
____=____,
lora_dropout=0.05,
bias="none",
target_modules=['q_proj', 'v_proj']
)
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
max_seq_length=250,
dataset_text_field='conversation',
tokenizer=tokenizer,
args=training_arguments,
peft_config=peft_config,
)
trainer.train()