llama2.c核心的应该是run.c也就是推理引擎方面,training相对简单,先从这里分析。
让代码run起来是学习研究的快速路径,虽然llama2.c的推荐配置是4个A100 DDP运行几个小时,通过修改训练参数(降低到最低)让它能够run的起来,是我的第一步工作。(centos, gcc-9),开始需要切换到gcc 9 bash环境
scl enabledevtoolset-9 bash
python train.py --device=cpu --batch_size=8 --eval_iters=5
相关可配置参数及分类如下,但是有些DDP(Distribute Data Parallel)参数设置没有考证,因为穷鬼没有机会去设置。
train.py开始是设置默认的参数,通过configurator.py对命令行参数进行支持,可以输入一个py文件配置进行覆盖,还支持通过--key=value的方式对前面设置进行覆盖。当然,都用参数字典的方式运行最简单。
整体的train loop相对简单,总结如下:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。