ChatGLM-LoRA-RLHF-PyTorch 项目教程

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

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ChatGLM-6B源码是基于GLM的2D位置编码实现的。该位置编码的详细原理可以在原文《GLM: General Language Model Pretraining with Autoregressive Blank Infilling》中找到。在GitHub上,有一个微调ChatGLM-6B项目的代码库,作者是mymusise。该项目使用Stanford Alpaca的52K数据集,并通过LoRA(低秩适应)的方式进行微调。在评测时,使用中文Rouge分数和BLEU-4指标,并将生成的结果保存在"./output/adgen-chatglm-6b-pt-8-1e-2/generated_predictions.txt"文件中。 以上是关于ChatGLM-6B源码的一些解读。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ChatGLM-6B模型结构组件源码阅读](https://blog.csdn.net/yjh_SE007/article/details/130728164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ChatGLM-6B的基座/部署/微调/实现:从GLM到6B的LoRA/P-Tuning微调、及6B源码解读](https://blog.csdn.net/v_JULY_v/article/details/129880836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

包楚多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值