ChatGLM-LoRA-RLHF-PyTorch 项目教程
ChatGLM-LoRA-RLHF-PyTorch项目地址:https://gitcode.com/gh_mirrors/ch/ChatGLM-LoRA-RLHF-PyTorch
1. 项目的目录结构及介绍
ChatGLM-LoRA-RLHF-PyTorch/
├── README.md
├── requirements.txt
├── train_reward_model.py
├── tokenize_dataset_rows.py
├── config/
│ ├── default_config.yaml
│ └── custom_config.yaml
├── data/
│ ├── dataset1.json
│ └── dataset2.json
├── models/
│ ├── model1.py
│ └── model2.py
├── utils/
│ ├── helper1.py
│ └── helper2.py
└── logs/
└── training_logs.txt
- README.md: 项目说明文档。
- requirements.txt: 项目依赖文件。
- train_reward_model.py: 项目启动文件。
- tokenize_dataset_rows.py: 数据预处理文件。
- config/: 配置文件目录。
- default_config.yaml: 默认配置文件。
- custom_config.yaml: 自定义配置文件。
- data/: 数据集目录。
- dataset1.json: 数据集1。
- dataset2.json: 数据集2。
- models/: 模型文件目录。
- model1.py: 模型1。
- model2.py: 模型2。
- utils/: 工具函数目录。
- helper1.py: 工具函数1。
- helper2.py: 工具函数2。
- logs/: 日志文件目录。
- training_logs.txt: 训练日志。
2. 项目的启动文件介绍
train_reward_model.py
该文件是项目的启动文件,主要用于训练奖励模型。以下是文件的主要功能和结构:
import os
import yaml
from models import Model1, Model2
from utils import Helper1, Helper2
def load_config(config_path):
with open(config_path, 'r') as file:
config = yaml.safe_load(file)
return config
def main():
config = load_config('config/default_config.yaml')
model = Model1(config)
dataset = Helper1.load_dataset('data/dataset1.json')
model.train(dataset)
Helper2.save_model(model, 'models/trained_model.pth')
if __name__ == "__main__":
main()
- load_config: 加载配置文件。
- main: 主函数,负责加载配置、初始化模型、加载数据集、训练模型并保存模型。
3. 项目的配置文件介绍
config/default_config.yaml
该文件是项目的默认配置文件,包含模型训练所需的各种参数。以下是文件的主要内容:
model_params:
learning_rate: 0.001
batch_size: 32
epochs: 10
data_params:
dataset_path: 'data/dataset1.json'
validation_split: 0.2
training_params:
log_interval: 10
save_interval: 5
- model_params: 模型参数,包括学习率、批次大小和训练轮数。
- data_params: 数据参数,包括数据集路径和验证集分割比例。
- training_params: 训练参数,包括日志记录间隔和模型保存间隔。
config/custom_config.yaml
该文件是自定义配置文件,用户可以根据需要修改参数。以下是文件的主要内容:
model_params:
learning_rate: 0.0005
batch_size: 64
epochs: 20
data_params:
dataset_path: 'data/dataset2.json'
validation_split: 0.1
training_params:
log_interval: 20
save_interval: 10
- model_params: 自定义模型参数。
- data_params: 自定义数据参数。
- **training
ChatGLM-LoRA-RLHF-PyTorch项目地址:https://gitcode.com/gh_mirrors/ch/ChatGLM-LoRA-RLHF-PyTorch