项目简介
本项目致力于构建一个小参数量的中文Llama2仓库,包含预训练、推理的完整流程,主要目的是帮助LLM初学者快速入门。
项目的主要特性和功能
- 具备预训练能力,可打造有续写能力的预训练基座模型。
- 选用ChatGLM2 - 6B的分词器,词表大小为64793,处理大语料时能节省一半存储空间。
- 收集多个经典中文预训练语料,并开源经ChatGLM2 - 6B分词器处理后的634亿Tokens预训练语料。
- 提供预训练语料预处理及预训练的完整流程和脚本。
- 可运行eval_pretrain.py测试训练好的预训练模型,还能自定义问题。
安装使用步骤(假设用户已经下载了本项目的源码文件)
- 从“Baby - llama2 - chinese Corpus”的百度网盘中下载分词处理后的预训练语料(按需下载,共634亿tokens,文件总大小为118G)。
- 将下载好的数据放到./data/目录下。
- 根据下载的语料,修改data_process.py中的data_path_list部分。
- 运行data_process.py,在./data/目录下生成pretrain_data.bin文件:
bash python data_process.py
- 根据自身算力,修改pretrain.py文件中的模型参数调整模型大小(max_seq_len、dim、n_layers、n_heads),若爆显存可调整batch_size参数。
- 运行预训练,考虑到预训练运行时间久,采用程序后台运行:
bash nohup python pretrain.py > out.log &
运行结束后,预训练模型会保存在out/pretrain文件夹中。 - 若需要测试训练好的pretrain模型,可运行eval_pretrain.py(可以自定义问题):
bash python eval_pretrain.py
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】