LoRA के साथ कुशल फाइन-ट्यूनिंग

Llama 3 के साथ फाइन-ट्यूनिंग

Francesca Donadoni

Curriculum Manager, DataCamp

जब हम मॉडल ट्रेन करते हैं तो क्या होता है?

 

  • टोकन इनपुट डेटा हैं जो एक वेक्टर बनाते हैं
  • मैट्रिक्स (मॉडल) गुणा
  • आउटपुट वेक्टर मिलते हैं
  • त्रुटियों से मॉडल वेट अपडेट होते हैं
  • मॉडल साइज प्रशिक्षण की कठिनाई तय करता है

इनपुट और मॉडल मैट्रिसेज़ का दृश्य रूप

Llama 3 के साथ फाइन-ट्यूनिंग

LoRA क्या है

 

  • लो-रैंक डिकम्पोजिशन
  • ट्रेनिंग पैरामीटर घटते हैं
  • परफॉर्मेंस बनी रहती है
  • रेग्युलराइज़ेशन इफेक्ट

एक नीली मैट्रिक्स को दो डिकम्पोज़्ड मैट्रिसेज़ में बाँटा गया है, जो गुणा होने पर मूल मैट्रिक्स को पुनर्निर्मित कर सकती हैं.

Llama 3 के साथ फाइन-ट्यूनिंग

PEFT के साथ LoRA कैसे इम्प्लीमेंट करें

from peft import LoraConfig

lora_config = LoraConfig(
r=12,
lora_alpha=32,
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM", target_modules=['q_proj', 'v_proj']
)
Llama 3 के साथ फाइन-ट्यूनिंग

ट्रेनिंग में LoRA कॉन्फ़िगरेशन एकीकृत करना

trainer = SFTTrainer(
    model=model,

train_dataset=ds,
max_seq_length=250, dataset_text_field='conversation',
tokenizer=tokenizer, args=training_arguments
peft_config=lora_config,
)
trainer.train()
Llama 3 के साथ फाइन-ट्यूनिंग

LoRA बनाम रेगुलर फाइन-ट्यूनिंग

 

  • TinyLlama/TinyLlama-1.1B-Chat-v1.0
  • 1.1 बिलियन पैरामीटर
  • 11k सैंपल
  • ~30 मिनट

 

  • nvidia/Llama3-ChatQA-1.5-8B
  • 8 बिलियन पैरामीटर
  • 11k सैंपल
  • ~30 मिनट
Llama 3 के साथ फाइन-ट्यूनिंग

अभ्यास करते हैं!

Llama 3 के साथ फाइन-ट्यूनिंग

Preparing Video For Download...