参考资料

jingyaogong/minimind

环境准备

本地环境配置

  • 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

file-20250329180305778 在我的环境下需要3小时才能完成预训练

执行预训练,得到pretrain_*.pth作为预训练的输出权重(其中为模型的dimension,默认为512) file-20250329205630234

监督微调

python train_full_sft.py

执行监督全参数微调,在我的环境下需要2.5小时 file-20250329210505564

file-20250329233223537

效果测试

测试全参微调

python eval_model.py --model_mode 1

file-20250330084041529

从结果来看,能进行对话,但受限于参数量,很多知识不完整,对话回答质量比较一般。

模型优化

受本地环境限制,只能完成监督微调步骤,后续步骤执行会爆显存,耗时显著增加。 后续学习改为使用阿里云PAI-DSW环境

最后修改:2025 年 03 月 30 日
如果觉得我的文章对你有用,请随意赞赏