LLaMA-Factory
LLaMA-Factory copied to clipboard
究竟怎么做dpo呀
Reminder
- [X] I have read the README and searched the existing issues.
Reproduction
我已经严格按照example里dpo的流程做了(lora)
- train sft model
- 把sft adapter的路径给adapter_name_or_path, 把mistral 7b 的路径(没merge)给model_name_or_path
- 推理时 把mistral 7b 的路径(没merge)给model_name_or_path, 然后adapter_name_or_path 给sft adapter路径,dpo adapter路径
我发现dpo训练完后从来没超过sft过(我在9个数据集上测试)
还有是我读别人的问题,发现好多人说merge lora model。 可是我读dpo的readme并没有提到merge。
create_new_adapter,overwrite_cache,这两个我全程在用,虽说也不知道它们什么意思。感觉需要一些更加详细的readme文档。
还有是train完之后具体要怎么inference呢?根据read me 我在inference时需要给adapter_name_or_path 给sft adapter路径,dpo adapter路径。可是如果merge weight的话原则上来说我认为不需要这些东西呀(我之前的实验都没merge因为readme没说要merge lora)
总结: 第一个问题:究竟具体应该怎么train,要不要merge lora weight 第二个问题:具体怎么inference(假如merge 了 lora wright那么readme没有讲这种情况如何inference)
Expected behavior
No response
System Info
No response
Others
No response
DPO 不是用来刷数据集准确率的
DPO 不是用来刷数据集准确率的
但是我记得dpo是可以拿来提高模型能力的呀?还有dpo具体的流程究竟是什么呀?我现在加了一个merge sft lora的操作好像准确率有提高。可是readme的dpo example里没有提到merge lora。我现在inference和train的流程和readme里全都不一样但是准确率好像高了一些。
example 在哪里呢?
DPO 不是用来刷数据集准确率的
但是我记得dpo是可以拿来提高模型能力的呀?还有dpo具体的流程究竟是什么呀?我现在加了一个merge sft lora的操作好像准确率有提高。可是readme的dpo example里没有提到merge lora。我现在inference和train的流程和readme里全都不一样但是准确率好像高了一些。
推理的时候可以先把dpo训练的数据merge后再进行推理: (1)把dpo训练的模型进行merge
MODEL_PATH=/your path/Qwen1.5-32B-Chat
OUTPUT_PATH=/your path/qwen-32b-dpo
EXPORT_PATH=/your path/qwen-32b-dpo-merge
python ../src/export_model.py \
--model_name_or_path $MODEL_PATH \
--adapter_name_or_path $OUTPUT_PATH \
--template qwen \
--finetuning_type lora \
--export_dir $EXPORT_PATH \
--export_size 2 \
--export_legacy_format False \
(2)模型推理
MODEL_PATH=/you path/qwen-32b-dpo-merge
python ../src/cli_demo.py \
--model_name_or_path $MODEL_PATH \
--template qwen \
--finetuning_type lora \
--pure_bf16 \
--flash_attn
我做了dpo、orpo,效果还不如sft,问过LLaMA-Factory的核心开发者,回答是“强化学习适合用于日常对话任务”
本来就有对齐税