shibing624 / MedicalGPT

MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型,实现了包括增量预训练(PT)、有监督微调(SFT)、RLHF、DPO、ORPO。
Apache License 2.0
2.94k stars 451 forks source link

提交重构后的代码 #354

Closed youbingchenyoubing closed 3 months ago

youbingchenyoubing commented 3 months ago

原先代码感觉太乱了,提供一个重构的思想 main.py是一个主入口,通过反射模式,去执行具体的模型训练操作步骤代码,现在主要通过环境变量控制, 也可以通过argsparse方式去控制 模型内部分为几个大块去做: arguments文件夹主要存放参数解析类, 几个微调模式共用参数放在一起 独立的话可以考虑用子类 train文件夹主要放着微调类的入口和脚本 model文件夹放微调模型创建等操作 trainer文件夹放着trainer类的构建,之前我的第一个版本都是放在model去做,后面reward有尝试把model再缩小一点,将trainer的构建放在trainer文件夹

shibing624 commented 3 months ago

感谢贡献代码,但不合入了。

封装逻辑非本项目的初衷,单文件执行方便大家扩展和修改源码,封装太深就不好改代码。 深度封装代码适合写成库,已经有封装的项目了:https://github.com/hiyouga/LLaMA-Factory