参考资料
环境准备
本地环境配置
- CPU 12700
- 内存 32G DDR4 3200
- GPU RTX 2060Super
- 系统 Win11
- CUDA 12.6
- Python 3.12
由于需要本地编译,windows环境需要安装Microsoft Visual C++ 编译器,tiktoken编译需要rust环境,安装地址:
克隆并安装环境
git clone https://github.com/jingyaogong/minimind.git
cd minimind
pip install -r requirements.txt
注意:此处不建议使用清华源、也不建议使用conda虚拟环境,会导致pytorch包版本匹配失败
依赖安装检查,执行以下代码
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.cuda.is_available())
输入如下即成功
(base) PS F:\java_workspace\minimind> python .\test_env.py
2.6.0+cu126
12.6
True
按照文档指引下载默认的预训练集和监督训练集
训练过程
预训练
执行预训练
python train_pretrain.py
在我的环境下需要3小时才能完成预训练
执行预训练,得到pretrain_*.pth
作为预训练的输出权重(其中为模型的dimension,默认为512)
监督微调
python train_full_sft.py
执行监督全参数微调,在我的环境下需要2.5小时
效果测试
测试全参微调
python eval_model.py --model_mode 1
从结果来看,能进行对话,但受限于参数量,很多知识不完整,对话回答质量比较一般。
模型优化
受本地环境限制,只能完成监督微调步骤,后续步骤执行会爆显存,耗时显著增加。 后续学习改为使用阿里云PAI-DSW环境