LLM PreTraining from scratch -- 大模型从头开始预训练指北

本文介绍了从头开始预训练大型语言模型(LLM)的全过程,包括数据准备、选用的预训练框架、解决原始代码中的问题如TFRecord数据格式的采用、多机多卡训练的实现细节以及遇到并解决的BUG。重点讨论了如何在内部平台上进行多机多卡的LLM预训练,并分享了训练中数据读取、存储格式转换及启动脚本的优化等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做了一些大模型训练相关的训练相关的技术储备,在内部平台上完成了多机多卡的llm 预训练的尝试,具体的过程大致如下:

数据准备:

大语言模型的训练依赖于与之匹配的语料数据,在开源社区有一群人在自发的整理高质量的语料数据,可以通过 以下的一些链接获取

liwu/MNBVC at main

Skywork/SkyPile-150B · Datasets at Hugging Face

预训练框架:

选用了百川智能的开源框架

原始版本代码训练准备:

根据README 里面的介绍,需要准备以下几样东西:

  • 训练数据,按照训练的卡的数目分成多个文件,每个文件的每一行为一整句的语料,类似这样的文件

添加图片注释,不超过 140 字(可选)

  • 分词器(tokenizer) ,下载 分词器 到当前目录下。

  • 修改hostfile训练脚本,单机训练情况下,不依赖于多机多卡的hostfile, 修改启动脚本 添加启动项 --num_nodes 即可完成单机多卡的训练

 

#!/bin/bash

deepspeed --hostfile config/hostfile --num_nodes=1 \ train.py \ --deepspeed \ --deepspeed_config config/deepspeed.json

原版的训练中几个要处理的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值