RLHF 中的高效微调

来自人类反馈的强化学习(RLHF)

Mina Parham

AI Engineer

参数高效微调

  • 微调整个模型

神经网络示意图。

来自人类反馈的强化学习(RLHF)

参数高效微调

  • 使用 PEFT 进行微调

大多参数冻结的神经网络示意图。

  • LoRA:只调整少量层
  • 量化:降低数据类型精度
来自人类反馈的强化学习(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)
来自人类反馈的强化学习(RLHF)

步骤 2:用 peft 添加可训练的适配器

from peft import LoraConfig, get_peft_model


config = LoraConfig(
r=32, # 低秩矩阵的秩
lora_alpha=32, # LoRA 更新的缩放因子
lora_dropout=0.1, # LoRA 层的 dropout 比率
bias="lora_only"# 仅更新 LoRA 层的偏置,其他保持冻结
)
lora_model = get_peft_model(pretrained_model_8bit, config) model = AutoModelForCausalLMWithValueHead.from_pretrained(lora_model)
来自人类反馈的强化学习(RLHF)

步骤 3:用同一模型生成参考与活动 logits

ppo_trainer = PPOTrainer(
    config, # 刚定义的配置
    model, # 我们的 PPO 模型
    ref_model=None, 
    tokenizer=tokenizer, 
    dataset=dataset, 
    data_collator=collator, 
    optimizer=optimizer
)
来自人类反馈的强化学习(RLHF)

Passons à la pratique !

来自人类反馈的强化学习(RLHF)

Preparing Video For Download...