MedicalGPT 模型训练教程
本教程将指导您了解和使用开源项目 MedicalGPT,这是一个用于训练医疗领域大模型的工具,实现了包括增量预训练(PT)、有监督微调(SFT)等多种训练流程。
1. 项目目录结构及介绍
项目的主要目录结构如下:
.
├── config # 配置文件夹
│ ├── pt_config.json # 增量预训练配置
│ └── sft_config.json # 有监督微调配置
├── data # 数据集存放位置
├── scripts # 脚本文件夹
│ ├── pretrain.py # 增量预训练脚本
│ └── fine_tune.py # 有监督微调脚本
├── models # 存放模型权重的文件夹
└── logs # 日志文件夹
config
: 包含不同训练阶段的配置文件。data
: 存储原始数据或预处理后的数据的地方。scripts
: 含有执行不同训练任务的Python脚本。models
: 在训练过程中保存的模型权重会被存储在这里。logs
: 存储日志文件,记录训练过程中的信息。
2. 项目的启动文件介绍
2.1 pretrain.py
该脚本用于执行增量预训练(PT)。它会读取config/pt_config.json
配置文件中的参数,如模型大小、学习率等,并基于提供的预训练数据进行模型训练。
2.2 fine_tune.py
此脚本用于有监督微调(SFT)。它会读取config/sft_config.json
配置文件,使用已有的预训练模型对特定的医疗任务数据集进行进一步的微调优化。
要运行这些脚本,确保在终端中切换到项目根目录并安装所有依赖,然后通过以下命令启动训练:
- 对于增量预训练:
python scripts/pretrain.py --config config/pt_config.json
- 对于有监督微调:
python scripts/fine_tune.py --config config/sft_config.json
3. 项目的配置文件介绍
config
文件夹中包含了两个主要的配置文件,它们以JSON格式定义了训练过程的关键参数:
3.1 pt_config.json
该文件设置增量预训练的参数,比如:
model_name
: 模型名称。model_size
: 模型的规模(例如,'small', 'medium', 'large')。data_dir
: 预训练数据的路径。batch_size
: 训练批次大小。learning_rate
: 学习率。warmup_steps
: 学习率预热步数。
3.2 sft_config.json
这个文件配置有监督微调任务的参数,可能包括:
checkpoint_path
: 微调前模型的检查点路径。train_data_path
: 训练数据集路径。val_data_path
: 验证数据集路径。num_train_epochs
: 微调轮数。per_device_train_batch_size
: 每个GPU上的训练批次大小。per_device_eval_batch_size
: 每个GPU上的评估批次大小。
根据实际需求调整这两个配置文件的参数,可以定制你的训练流程。在更改配置后,重新运行相应的训练脚本即可。
完成这些步骤后,您应该能够成功地利用MedicalGPT框架训练自己的医疗领域大模型。如有任何问题或需要更多帮助,欢迎查阅项目文档或直接在GitHub上提交问题。祝您好运!