使用 LoRA 进行训练
您打算开始进行 RLHF 微调,但一直遇到内存不足错误。即使切换为以 8 位精度加载模型,错误仍然存在。为此,您决定更进一步,应用 LoRA 以更高效地完成微调。
以下内容已预先导入:
- 以 8 位精度加载的模型
pretrained_model_8bit - 来自
peft的LoraConfig和get_peft_model - 来自
trl的AutoModelForCausalLMWithValueHead
本练习是课程的一部分
来自人类反馈的强化学习(RLHF)
练习说明
- 将 LoRA 的 dropout 设为
0.1,并将 bias 类型设为 lora-only。 - 将 LoRA 配置添加到模型中。
- 为 PPO 训练设置带有 value head 的模型。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set the configuration parameters
config = LoraConfig(
r=32,
lora_alpha=32,
lora_dropout=____,
bias=____)
# Apply the LoRA configuration to the 8-bit model
lora_model = get_peft_model(pretrained_model_8bit, ____)
# Set up the tokenizer and model with a value head for PPO training
model = ____.from_pretrained(____)