周末花韶光整理了一下这几次更新干系的代码(紧张是jupyter notebook的形式)。
全都放不才面的地址了,后续的更新也都在这里发布:
https://github.com/puppyapple/Chinese_LLM_From_Scratch/tree/main
下面是仓库的README简介内容(这期水一下(^ω~))。
项目简介心血来潮想要走一遍大模型演习的流程,于是有了这个项目。
由于我自己只有一张3090,也不好用单位的显卡,以是演习只能选很小的模型。
实在我自己对SLM是很感兴趣的,觉得现在也有越来越多地研究开始关注小尺寸大模型的性能以及如何把大模型做小。
如果是希望学习大规模并行演习干系的内容(例如DeepSpeed,Megatron),这个项目可能不太适宜你。
其余个人经历和精力有限,以是可能很多地方做的不是很好,请大家多多包涵。也欢迎大家提出见地和建议。
末了给自己的自媒体号打个广告,欢迎大家关注一波~
最近更新
2024-09-02
上传了Day01-Day05的预演习代码(Jupyter Notebook):
Day01: 项目调研Day02: Tokenizer分词Day03: 数据预处理Day04: 模型搭建和预演习启动Day05: 预演习效果测试操持实行在一个垂直领域的小数据集上完成:
一个小尺寸模型的预演习(能在单卡上跑)在上面的根本上完成指令微调在上面的根本上完成DPO其他待定Journey文件夹下有每次任务的详细记录。 下载相应的文件(chatglm的tokenizer,TinyStoriesChinese的数据集)之后,可以随着Journey中的步骤一步步来。 理论上可以复现已经放出的结果(GPU如果比我还小的,须要自己调度下batch_size)。
演习信息机器配置OS: Ubuntu 22.04.3 LTS x86_64Kernel: 6.5.0-35-genericUptime: 60 days, 4 hours, 55 minsPackages: 2719 (dpkg), 17 (snap)Shell: fish 3.6.1Terminal: WezTermCPU: AMD Ryzen 9 5950X (32) @ 3.400GGPU: NVIDIA 09:00.0 NVIDIA CorporatiMemory: 9347MiB / 64195MiB
预演习
详细参数请参考microstories.yaml[1]。
指令微调
待更新...
DPO待更新...
目录构造Chinese_LLM_From_Scratch├── Data│ └── TinyStoriesChinese│ ├── processed_data│ └── raw_data├── Experiments│ ├── configs│ │ ├── debug.yaml│ │ ├── microstories.yaml│ │ └── ...│ └── Output│ └── pretrain│ ├── debug│ └── microstories├── References│ ├── chatglm3-6b│ └── ...├── Journey│ ├── Day01│ ├── Day02│ ├── Day03│ ├── Day04│ └── ...
引用链接
[1] microstories.yaml: ./Experiments/configs/microstories.yaml