准备进行 8 位训练
您想开始进行 RLHF 微调,但总是遇到内存不足错误。为了解决这个问题,您决定切换到 8 位精度,以便更高效地进行微调,并借助 Hugging Face 的 peft 库来实现。
以下内容已预先导入:
- 来自
transformers的AutoModelForCausalLM - 来自
peft的prepare_model_for_int8_training - 来自
trl的AutoModelForCausalLMWithValueHead
本练习是课程的一部分
来自人类反馈的强化学习(RLHF)
练习说明
- 加载预训练模型,并确保包含启用 8 位精度的参数。
- 使用
prepare_model_for_int8_training函数,使模型为基于 LoRA 的微调做好准备。 - 加载带有 value head 的模型,以进行
PPO训练。
交互式实操练习
通过完成这段示例代码来试试这个练习。
model_name = "gpt2"
# Load the model in 8-bit precision
pretrained_model = AutoModelForCausalLM.from_pretrained(
model_name,
____=True
)
# Prepare the model for fine-tuning
pretrained_model_8bit = ____(pretrained_model)
# Load the model with a value head
model = ____.from_pretrained(pretrained_model_8bit)