项目动机
自从ChatGPT横空出世带火了大模型之后,开源社区也随之蓬勃发展起来。
但一直以来训练大模型都是数据和硬件资源齐全的大厂、研究院才玩儿得起的.
大多普通的从业者能接触到的更多是下游应用,更别提苦逼的学生党🤷♂️。
所以关于模型训练的很多技术可能都只是停留在对一些开源模型的技术报告的阅读中。
但毕竟理论学习不如实操来得扎实,自己动手👨💻完成一个大模型训练的完整流程无疑能大大巩固对技术细节的理解。
大体计划
其实若是以流程学习为目的,数据集和硬件资源的限制都可以通过缩减模型尺寸来规避.
我也一直有这个计划动手尝试一番,只是迟迟未能付诸实践。
这次算是逼自己一把,++在这里立个flag⛳️,希望每天行动一点点🤏,欢迎大家都来监督、催更、讨论。++
项目目标
- • 用小数据集从头训练一个小尺寸的模型🤖
- • 尽量覆盖data、tokenizer、pretrain、sft、DPO/RLHF等主流的流程🔀
- • 为了防止半途而废,不追求实现速度,只求每次能有所进展🎯
- • 每次的进度都尽量有所记录,包括信息搜集、代码实现、踩坑过程🕳
- • 但计划的主要目的是走通工程流程,因此过程中不会过多深入理论细节📚
结果预期
-
- 能得到一个有一定效果的小尺寸模型,比如能进行一定程度的生成或对话💬
-
- 过程按进度梳理成完整的jupyter notebook和python文件,代码尽可能注释详尽,同时包含一些自己遇到的要点的笔记说明或资料链接🔗
-
- 如果能顺利达成上面的内容,再考虑后续的新计划(例如lora、ptuning等的实践)
-
- 由于只是普通打工人一个,能用来执行计划的时间确实很有限,所以不设置deadline,而是尽量持续更新进度,争取2-3天一更
坚持不易,感兴趣的朋友欢迎关注催更,监督这个计划的执行,更欢迎一起讨论学习🤝