从零开始训练一个ChatGPT大模型(低资源,1B3)

macrogpt-prertrain

大模型全量预训练(1b3), 多卡deepspeed/单卡adafactor

源码地址:https://github.com/yongzhuo/MacroGPT-Pretrain.git

踩坑

1. 数据类型fp16不太行, 很容易就Nan了, 最好是fp32, tf32,
2. 单卡如果显存不够, 可以用优化器'adafactor',
3. 如果数据量很大, 加载时间特别长(默认设置稍微大一点数据就得加载好几个小时), 可以分批次训练,

环境配置

transformers>=4.31.0
torch>=1.10.1
rouge==1.0.1
nltk==3.6.6
peft>=0.2.0
numpy
tqdm

预训练

地址: macro_gpt/ft_gpt

配置: macro_gpt/ft_gpt/config.llama_1b3_float32.json
单卡第一次训练: python train.pt.py
单卡继续训练: python train.pt.add.py
多卡训练: deepspeed --num_gpus=2 train.pt.speed.py --deepspeed ds.json

预训练日志(TigerBot-en)

图为tigerbot-en-00001-of-00097.json的预训练日志, loss收敛到3左右

在这里插入图片描述

图为baidu百科数据集(第一个60w,此外还有10%领域专业数据)的预训练日志, loss收敛到3左右
在这里插入图片描述

预测日志

一问一答还行, 1b3的大模型上下文能力确实比较弱

在这里插入图片描述

数据集-中文

参考/感谢

免责申明

本项目相关资源仅供学术研究之用,使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目不对其准确性作出保证。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 12:24:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 12:24:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 12:24:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 12:24:02       20 阅读

热门阅读

  1. pytorch学习3-torchvisin和Dataloader的使用

    2023-12-06 12:24:02       37 阅读
  2. Linux 环境部署RabbitMQ

    2023-12-06 12:24:02       38 阅读
  3. Redux,react-redux,dva,RTK

    2023-12-06 12:24:02       40 阅读
  4. 【蓝桥杯】马的遍历

    2023-12-06 12:24:02       17 阅读
  5. Spring Boot项目Service类单元测试自动生成

    2023-12-06 12:24:02       34 阅读
  6. 网络编程HTTP协议进化史

    2023-12-06 12:24:02       46 阅读