minimind
jingyaogong/minimind: 🚀🚀 「大模型」2小时完全从0训练64M的小参数GPT!🌏 Train a 64M-parameter GPT from scratch in just 2h!
一、易嘉云服务器
1、注册,有12h免费额度。
2、点击算力市场

3、找到有空闲的,选择立即购买

4、选择pytorch-2.6.0,点击创建并开机


5、进入如下界面,图中的ssh和密码用于稍后的远程连接

二、VSCode
1、打开VSCode
2、安装remote-ssh
3、连接
点击左下角绿色方块,在出现的输入框选择connect to host--》configure ssh hosts--》选择类似C:\Users\Song\.ssh\config的一行,进入config文件




将易嘉云上的ssh复制到config文件中,按如图格式配置后再删除(只是为了不易出错)


再次点击左下角绿色方块,在出现的输入框选择connect to host--》刚刚的主机名test

将刚刚易嘉云上ssh旁边的密码复制到下面输入框,回车

可以看到“已连接到远程”


此时需要再次输入刚刚的密码
三、复现项目
(一)、环境准备
1、新建终端

2、在终端克隆项目
输入
git clone --depth 1 https://github.com/jingyaogong/minimind
![]()
3、创建虚拟环境
输入conda create -n minimind python==3.10
![]()
4、查看已创建环境(非必要,可跳过)
输入conda info --envs

5、激活环境
输入conda activate minimind,激活后最前面括号内会变成环境名
![]()
6、切换当前目录,下载requirements.txt
分别输入
cd minimind pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
![]()
(二)、模型准备
1、下载模型
modelscope download --model gongjy/minimind-3 --local_dir ./minimind-3
![]()
2、CLI 推理
python eval_llm.py --load_from ./minimind-3


3、WebUI(非必须)
把minimind-3放到scripts文件夹下
cp -r minimind-3 ./scripts/minimind-3
cd scripts && streamlit run web_demo.py

在浏览器输入终端显示的Local URL,即可看到下面界面

(三)、准备数据集
注意:当前默认仅需下载 pretrain_t2t_mini.jsonl 与 sft_t2t_mini.jsonl,即可较快复现 MiniMind Zero 对话模型。
1、下载数据集


这里我们复制的内容是这样的:
modelscope download --dataset gongjy/minimind_dataset README.md --local_dir ./dir
回到终端,按CTRL+C可以退出刚刚的web。将复制的内容粘贴到终端,将复制内容中的README.md替换为预训练数据集的名字(可直接复制粘贴,圈出的两个都可以,强烈建议用pretrain_t2t_mini.jsonl,否则后面还要改东西或者重新下,这里用了第一个pretrain_t2t.jsonl,数据量大些,会比较慢),然后修改保存路径,将./dir修改为../dataset/,也就是放在了与script同级的dataset目录下。
modelscope download --dataset gongjy/minimind_dataset pretrain_t2t_mini.jsonl --local_dir ../dataset/
modelscope download --dataset gongjy/minimind_dataset sft_t2t_mini.jsonl --local_dir ../dataset/



(四)、训练
1、添加断点情况(添加 --from_resume 1 参数后,即可自动检测并恢复训练进度)

输入下面内容(当前在/minimind/scripts下):
python ../trainer/train_pretrain.py --from_resume 1
python ../trainer/train_full_sft.py --from_resume 1
![]()
![]()
如果之前下载的是pretrain_t2t_mini.jsonl和sft_t2t_mini.jsonl,应该是没有问题的。
注意:我这里报错了,因为train_pretrain.py中默认的预训练数据集是pretrain_t2t_mini.jsonl,但我下的是pretrain_t2t.jsonl。改一下这个默认值或者重新下载数据集应该都可以,我重新下载了pretrain_t2t_mini.jsonl。然后输入python ../trainer/train_pretrain.py --from_resume 1进行预训练。


运行过程中,出现了以下异常:

2、预训练与指令微调(不添加)
cd trainer //先切换到trainer目录下,然后执行下面命令
python train_pretrain.py
python train_full_sft.py
![]()

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)