ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LLaMA-Factory v1 怎么运行 LoRA DPO 训练

LLaMA-Factory v1 怎么运行 LoRA DPO 训练 LLaMA-Factory v1 怎么运行 LoRA DPO 训练【免费下载链接】LlamaFactoryUnified Efficient Fine-Tuning of 100 LLMs VLMs (ACL 2024)项目地址: https://gitcode.com/GitHub_Trending/ll/LlamaFactory在 LLaMA Factory 的 v1 训练中完成一次 LoRA DPO 训练以 Qwen3-4B 为底模用 pair 格式chosen/rejected偏好数据训练 LoRA 适配器并把结果保存到指定输出目录。v1 目前支持 SFT 和 DPO 两种训练方式DPO 用于对齐人类偏好无需训练奖励模型。以下内容基于仓库自带的 LoRA DPO 示例配置 和 快速开始文档 整理。环境准备按 快速开始文档 给出的依赖表准备环境必需项至少推荐python3.113.12torch2.7.12.7.1torchvision0.22.10.22.1transformers5.0.05.0.0datasets3.2.04.0.0peft0.18.10.18.1可选项CUDANVIDIA GPU11.6/12.2、deepspeed 0.18.4、flash-attn 2.5.6/2.7.2。文档中对应的安装命令# 安装 FlashAttention-2 支持 pip install flash-attn --no-build-isolation # 安装 DeepSpeed 支持 pip install deepspeed在LLaMA-Factory仓库根目录下从源码安装pip install -e .查看训练配置示例配置 train_lora_dpo.yaml 的关键项model: Qwen/Qwen3-4B model_class: llm # PEFT Configuration peft_config: name: lora r: 16 lora_alpha: 32 lora_dropout: 0.05 target_modules: all # Kernel Config kernel_config: name: auto # FSDP Config dist_config: name: fsdp2 dcp_path: null ### data train_dataset: data/v1_dpo_demo.yaml ### training output_dir: ./outputs/test_lora micro_batch_size: 1 cutoff_len: 2048 learning_rate: 1.0e-5 max_steps: 10 ### sample sample_backend: hf max_new_tokens: 128几个需要留意的点peft_config声明 LoRA 超参r16、lora_alpha32、target_modules: alldist_config使用 fsdp2 分布式配置kernel_config为 auto。max_steps: 10是示例中的快速验证值正式训练时按需调整。train_dataset指向 data/v1_dpo_demo.yaml内容如下dpo_zh_demo: path: HuggingFaceH4/orca_dpo_pairs split: train_prefs converter: pair该数据集来自 HuggingFace运行前需要能联网下载。如果换成自定义数据文档要求参照 数据准备指南 配置且 DPO 必须使用 pair 格式数据。运行训练在仓库根目录执行快速开始文档以sft命令演示了同样的启用方式export USE_V11 llamafactory-cli dpo examples/v1/train_lora/train_lora_dpo.yaml说明llamafactory-cli可以用lmf作为快捷命令。也可以在不修改 yaml 的情况下用命令行追加参数覆盖配置例如 示例文档 中的写法llamafactory-cli train examples/train_lora/qwen3_lora_sft.yaml \ learning_rate1e-5 \ logging_steps1使用CUDA_VISIBLE_DEVICESGPU或ASCEND_RT_VISIBLE_DEVICESNPU选择计算设备不设置时默认使用所有可见的计算设备。结果验证运行过程中的判断依据均来自 DPO 训练器 dpo_trainer.py 的实际行为数据集格式校验v1 的 DPO 入口会检查数据集首条样本缺少chosen_messages/rejected_messages字段时会直接报错DPO training requires pair-format samples containing chosen/rejected responses. ... Please use pair data (e.g. a dataset with chosen_messages/rejected_messages).看到这个报错说明数据集不是 pair 格式需要检查数据转换配置。参考模型复用提示LoRA 模式下参考模型的 log-probs 复用底模关闭适配器计算日志中会输出LoRA detected — reference log-probs will reuse the base model via disable_adapter().逐步指标训练过程中会记录rewards/chosen、rewards/rejected、rewards/accuracies、rewards/margins、logps/chosen、logps/rejected、logits/chosen、logits/rejected等指标可用于观察训练状态。产物保存训练跑完max_steps后训练器会把模型保存到配置的output_dir即示例中的./outputs/test_lora检查该目录下是否生成了训练产物即可。限制与注意DPO 训练器目前只支持cp_size 1源码中对其他取值抛出NotImplementedError。DPO 数据必须是包含 chosen/rejected 的 pair 格式使用 SFT 风格的普通指令数据会触发上文的数据集校验报错。示例中的max_steps: 10、micro_batch_size: 1只是快速冒烟测试的取值cutoff_len、学习率等参数请按自己的显存和数据情况在 yaml 中调整。v1 阶段目前支持 SFT 和 DPO 两种训练方法需要 DeepSpeed、FSDP、FlashAttention-2 等加速特性时安装对应可选依赖。训练完成并确认outputs/test_lora有产物后按快速开始文档给出的部署方式可以做推理验证llamafactory-cli chat --model_name_or_path path/to/your/model --template qwen其中path/to/your/model替换为实际的模型路径qwen替换为与底模匹配的模板名。【免费下载链接】LlamaFactoryUnified Efficient Fine-Tuning of 100 LLMs VLMs (ACL 2024)项目地址: https://gitcode.com/GitHub_Trending/ll/LlamaFactory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表