LLMs 训练经验篇

LLMs 训练经验篇

分布式训练框架选择?

多用 DeepSpeed,少用 Pytorch 原生的 torchrun。在节点数量较少的情况下,使用何种训练框架并不是特别重要;然而,一旦涉及到数百个节点,DeepSpeed 显现出其强大之处,其简便的启动和便于性能分析的特点使其成为理想之选。

LLMs 训练时 有哪些有用的建议?

  1. 弹性容错和自动重启机制:大模型训练不是以往那种单机训个几小时就结束的任务,往往需要训练好几周甚至好几个月,这时候你就知道能稳定训练有多么重要。弹性容错能让你在机器故障的情况下依然继续重启训练;自动重启能让你在训练中断之后立刻重启训练。毕竟,大模型时代,节约时间就是节约钱。
  2. 定期保存模型:训练的时候每隔一段时间做个 checkpointing,这样如果训练中断还能从上次的断点来恢复训练。
  3. 想清楚再开始训练:训练一次大模型的成本很高的。在训练之前先想清楚这次训练的目的,记录训练参数和中间过程结果,少做重复劳动。
  4. 关注GPU使用效率:有时候,即使增加了多块 A100 GPU,大型模型的训练速度未必会加快,这很可能是因为GPU使用效率不高,尤其在多机训练情况下更为明显。仅仅依赖 nvidia-smi 显示的GPU 利用率并不足以准确反映实际情况,因为即使显示为100%,实际GPU利用率也可能不是真正的 100%。要更准确地评估GPU利用率,需要关注 TFLOPS 和吞吐率等指标,这些监控在 DeepSpeed 框架中都得以整合。
  5. 不同的训练框架 对 同一个模型 影响不同:对于同一模型,选择不同的训练框架,对于资源的消耗情况可能存在显著差异(比如使用 Huggingface Transformers 和 DeepSpeed 训练 OPT-30 相对于使用 Alpa 对于资源的消耗会低不少)。
  6. 环境问题:针对已有的环境进行分布式训练环境搭建时,一定要注意之前环境的 python、pip、virtualenv、setuptools 的版本。不然创建的虚拟环境即使指定对了 Python 版本,也可能会遇到很多安装依赖库的问题(GPU 服务器能够访问外网的情况下,建议使用 Docker 相对来说更方便)。
  7. 升级 GLIBC 等底层库问题:遇到需要升级 GLIBC 等底层库需要升级的提示时,一定要慎重,不要轻易升级,否则,可能会造成系统宕机或很多命令无法操作等情况。

模型大小如何选择?

进行大模型模型训练时,先使用小规模模型(如:OPT-125m/2.7b)进行尝试,然后再进行大规模模型(如:OPT-13b/30b…)的尝试,便于出现问题时进行排查。目前来看,业界也是基于相对较小规模参数的模型(6B/7B/13B)进行的优化,同时,13B 模型经过指令精调之后的模型效果已经能够到达 GPT4 的 90% 的效果。

加速卡如何选择?

于一些国产AI加速卡,目前来说,坑还比较多,如果时间不是时间非常充裕,还是尽量选择 Nvidia 的 AI 加速卡。

总结

在分布式训练框架选择上,推荐使用 DeepSpeed 而非 Pytorch 原生的 torchrun,尤其在多节点训练时。训练大模型时,建议采用弹性容错和自动重启机制,定期保存模型,并关注 GPU 使用效率。选择模型大小应从小规模开始,逐步尝试大规模模型。环境搭建时注意 Python 和依赖库版本,避免轻易升级 GLIBC 等底层库。对于 AI 加速卡,优先选择 Nvidia 产品,避免国产加速卡的潜在问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xianghan收藏册

极简精品作,一分也是一份鼓励哦

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

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

打赏作者

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

抵扣说明:

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

余额充值