开始使用免费开始使用

用 LoRA 微调 Llama 以支持客服

您需要对一个语言模型进行微调,以回答客服问题。 Llama 系列在问答任务上表现不错,适合本次客服场景。不过,您的算力不足以进行常规微调,因此必须基于 bitext 数据集使用 LoRA 微调技术。

您希望能够训练 Maykeye/TinyLLama-v0。训练脚本几乎已经完成,并且训练代码已为您准备好,只有 LoRA 的配置参数尚未填写。

相关的模型、分词器、数据集和训练参数已分别预加载到 modeltokenizerdatasettraining_arguments 中。

本练习是课程的一部分

使用 Llama 3 进行微调

查看课程

练习说明

  • 添加参数,将 LoRA 适配器的秩(rank)设为 2。
  • 将缩放因子设为秩的 2 倍。
  • 在您的 LoRA 配置中,设置与 Llama 风格模型匹配的任务类型。

交互式实操练习

通过完成这段示例代码来试试这个练习。

from peft import LoraConfig, get_peft_model

peft_config = LoraConfig(
    # Set rank parameter 
  	____=____,
  	# Set scaling factor
    ____=____,
  	# Set the type of task
  	____=____,
    lora_dropout=0.05,
    bias="none",
    target_modules=['q_proj', 'v_proj']
)

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    max_seq_length=250,
    dataset_text_field='conversation',
    tokenizer=tokenizer,
    args=training_arguments,
  	peft_config=peft_config,
)

trainer.train()
编辑并运行代码