RLHF에서 효율적 미세 조정

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

매개변수 효율적 미세 조정

  • 전체 모델 미세 조정

신경망을 나타내는 일러스트.

Reinforcement Learning from Human Feedback (RLHF)

매개변수 효율적 미세 조정

  • PEFT로 미세 조정

대부분의 매개변수가 고정된 신경망 일러스트.

  • LoRA: 소수의 계층만 조정
  • 양자화: 데이터 타입 정밀도 축소
Reinforcement Learning from Human Feedback (RLHF)

1단계: 활성 모델을 8비트 정밀도로 로드

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)
Reinforcement Learning from Human Feedback (RLHF)

2단계: peft로 학습 가능한 어댑터 추가

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)
Reinforcement Learning from Human Feedback (RLHF)

3단계: 하나의 모델로 참조와 활성 로짓 사용

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
)
Reinforcement Learning from Human Feedback (RLHF)

연습해 봅시다!

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...