RLHF में कुशल फाइन-ट्यूनिंग

मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

Mina Parham

AI Engineer

पैरामीटर-कुशल फाइन-ट्यूनिंग

  • पूरे मॉडल का फाइन-ट्यूनिंग

एक न्यूरल नेटवर्क का चित्रण.

मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

पैरामीटर-कुशल फाइन-ट्यूनिंग

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

अधिकांश पैरामीटर फ्रीज़ किए गए एक न्यूरल नेटवर्क का चित्रण.

  • LoRA: केवल कुछ लेयर समायोजित करता है
  • Quantization: डेटा टाइप की प्रिसीजन घटाता है
मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

चरण 1: अपना ऐक्टिव मॉडल 8-bit प्रिसीजन में लोड करें

from peft import prepare_model_for_int8_training

pretrained_model = AutoModelForCausalLM.from_pretrained( model_name, load_in_8bit=True )
pretrained_model_8bit = prepare_model_for_int8_training(pretrained_model)
मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

चरण 2: peft से अतिरिक्त trainable adapters जोड़ें

from peft import LoraConfig, get_peft_model


config = LoraConfig(
r=32, # Rank of the low-rank matrices
lora_alpha=32, # Scaling factor for the LoRA updates
lora_dropout=0.1, # Dropout rate for LoRA layers
bias="lora_only"# Only update bias terms for LoRA layers, others remain frozen
)
lora_model = get_peft_model(pretrained_model_8bit, config) model = AutoModelForCausalLMWithValueHead.from_pretrained(lora_model)
मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

चरण 3: reference और active logits के लिए एक ही मॉडल उपयोग करें

ppo_trainer = PPOTrainer(
    config, # The config we just defined
    model, # Our PPO model
    ref_model=None, 
    tokenizer=tokenizer, 
    dataset=dataset, 
    data_collator=collator, 
    optimizer=optimizer
)
मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

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

मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

Preparing Video For Download...