-
训练部分代码:
Code/RLPHF/SFT/merge_lora_sft.yaml 用于将SFT后模型adapter与原模型合并成一个模型,方便后续RL训练使用。
Code/RLPHF/RL/merge_model.py 用于将RL后的模型adapter与RL的base模型合并成一个模型,方便后续评测使用。
-
测评部分代码:
Evaluation/evaluation_reasoning_process 评测reasoning process质量,包含DrawReasonResult.ipynb(绘制reasoning process评测结果图),ReasoningEmbeddingSimilarity.py(计算reasoning process embedding similarity/diversity的脚本)和llm_evaluate文件夹(获得LLM-as-Judge结果)
-
Part 1: SFT
需要使用LLaMA-Factory项目,将Code/SFT中的数据集json文件放置在LLaMA-Factory的data文件夹中,dataset_info.json替换原有dataset_info.json,配置LlamaFactory_SFT.yaml文件路径后使用llama-factory train LLamaFactory_SFT.yaml进行训练,然后使用llama-factory export merge_lora_sft.yaml将lora adapter和base model合并成一个模型。
已另外打包SFT此步骤训练后adapter参数至huggingface:Model/SFT-Adapter,以及merged model参数至huggingface:Model/SFT-merged,
-
Part 2: RL
需要修改RL-training.py中“BASE_MODEL = "Path/to/SFT/Model"”和reward_function.py中“BASE_MODEL_NAME=".Model/Qwen3-8B"”.然后运行RL-training.py进行训练,用到的模型参数包括Base-Reward-Model(需要从huggingface上下载qwen3-8b),Reward-Adapter(Model/Reward-Model/)和SFT-merged model(Model/SFT-merged/)。训练完成后会在FINAL_SAVE路径下获得RL训练后的Adapter参数(Model/RLPHF-Model)。
(注:使用Reward-Model时需要把Reward-Model下的内容放在Reward-Model/trained_reward_model下(就是多一层文件夹),用来适配reward_function.py)
然后可以使用Code/RLPHF/RL/merge_model.py将RL训练后模型adapter参数和SFT-merged模型参数合并成一个模型,方便后续评测使用。
已另外打包最终RL训练后且合并adapter后模型参数至huggingface: /Model/RLPHF-Model/merged_model