由于要解决一些业务问题,需要将领域知识喂给大模型。之前只做过简单的 finetuning(在 GLM 的框架上跑了一些 lora,数据量也不大),但是现在要将整个细分工业领域的相关数据都收集起来训练,规模上比之前半手动构造的微调数据集要大了很多,调研了一圈,更适合在 pre-train 阶段去做训练。
尝试使用训练框架:
- LLaMA Factory
是的,大名鼎鼎的 LLaMA Factory 不仅能 finetune,还能做 pre-train 阶段的训练。这个还是阿里的朋友告知才知道的... - GPT-NeoX
高性能训练框架。人家 Readme 中就提醒了,心里没点数别来用我:
If you are not looking to train models with billions of parameters from scratch, this is likely the wrong library to use.
- Pai-Megatron-Patch
跟 GPT-NeoX 一样是基于Megatron
的训练框架,不过感觉阿里除了 antd 就没啥好用的开源项目...
说实话,这些框架的使用配置还是有些复杂(对于我这样的 pre-train 菜鸟来说),光是看文档就能把自己绕进去。
当然 LLaMA Factory 的使用还是比较傻瓜式的,毕竟是有 UI 操作界面的,点点点就能把最终运行的 command line 拼出来,就是它在产品的设计上完全是为了 finetune 而生的,感觉完全没有考虑 pre-train 这个 feature,而且出来的结果也非常诡异。比如 stage
选项中,pre-train
是排在最下面的;我明明选的是 pre-train
,无论是训练开始前的命令行预览,还是训练的结果保存路径,都包含了 lora
是怎么回事?一头雾水,文档也不清楚。
那有没有可能不使用这些高大上的训练框架呢?我只想简简单单验证一下技术可行性,那只能从 transformer 库入手了。
标签:Pre,pre,Training,框架,训练,Factory,train,LLaMA,Continual From: https://www.cnblogs.com/cdyang/p/18565259/cpt-vanilla-pytorch