发布时间:2025-02-08 20:37:18 点击量:
HASH GAME - Online Skill Game GET 300
在训练代码方面,主要参考了 TinyLlama。Steel LLM 是一个规模为 1B 的较小模型,这是未选用 Megatron 的根本原因。具体而言,Megatron 虽支持 pipeline 并行与 tensor 并行,对训练大尺寸模型颇具优势,但对于 1B 模型,在 A100 上使用原生 PyTorch 的 FSDP 甚至 DDP 便可实现稳定训练。此外,Megatron 所提供的算子融合、dataloader 等功能,在其他项目中同样具备,且后者更为简洁,在集成与修改时更为便利。
数据训练进度恢复:预训练时间长,难免会出现中断的情况,想要继续训练的话,不仅要恢复模型和优化器的状态,还需要恢复数据训练的进度。TinyLlama main分支提供的恢复数据训练进度的方法比较简单粗暴,保存模型checkpoint时候也记录下迭代轮数,加载checkpoint之后直接跳过之前迭代过的轮数的数据,这种方式的的数据恢复要求预训练过程数据不能有变动。笔者对这块进行了进一步改进,保存所有数据的文件名、每条数据的索引,以实现数据进度的精准恢复。