迷你世界hg怎么下载(DeepSeek 671B用不起不妨从0开始)

迷你世界hg怎么下载(DeepSeek 671B用不起不妨从0开始)

admin 2025-09-25 资讯 1 次浏览 0个评论

学习研究大模型的最佳实践就是要亲身体验和不断的折腾,我本地环境MacMini M4(24G)跑DeepSeek-R1的8B模型很轻松,14B也基本勉强,再往上就没戏了,更别说满血版的671B。不过既然想学习模型的训练,可以根据自己的实际硬件情况,不妨先从小模型开始。

本文将重点介绍一款开源项目minimind,带大家亲身体验从0到1构建一个语言模型的全过程。看了项目介绍感觉国人在人工智能这一块还是相当可以的,所以这么厉害的模型那必须得拿来玩玩,接下来可以跟我一起感受创造的乐趣!

实验环境:

MacMini M4(24G)(如果没有GPU也问题不大,只是训练时间会更长)

项目地址:jingyaogong/minimind

MiniMind系列极其轻量,最小版本体积是 GPT-3 的 1/7000,力求做到最普通的个人GPU也可快速训练。

MiniMind系列已完成多个型号模型的预训练,最小仅需25.8M(0.02B),哈哈,之前看Qwen的0.5B蒸馏模型(不到300M的模型)已经很小了,这家伙居然才是个0.02B!

下面正式开始:

既然是Python项目,那还是使用Conda环境,Mac下的安装和配置可以参考之前的文章:

新建一个虚拟环境minimind,并激活

conda activate minimind

github上下载代码

git clone jingyaogong/minimind.git

下载模型:

cd minimind

hf上下载:jingyaogong/MiniMind2

先试试启动WebUI

streamlit run web_demo.py

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

有报错,根据错误信息进行修复,看样子是git需要lfs支持

brew install git-lfsgit lfs installgit lfs pullDeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

再次启动WebUI,体验下效果!

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

以上是使用了项目中提供训练好的模型,下面我们开始自己的数据,从0开始!

训练数据集:

https://www.modelscope.cn/datasets/gongjy/minimind_dataset/files

推荐下载pretrain_hq.jsonl + sft_mini_512.jsonl最快速度复现Zero聊天模型。

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

看看这个预训练数据集的样子

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

我还下载lora_medical医疗相关的数据集

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

数据文件可自由选择,下文提供了多种搭配方案,可根据自己手头的训练需求和GPU资源进行适当组合,当然也可以使用自己的数据集。

conda下安装依赖:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

开始训练:

预训练(学知识)

python train_pretrain.py

模式使用了pretrain_hq.jsonl的数据集

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

然后跑起来就把我吓傻眼了,居然需要7900分钟!!!我这Mac的内存也是狂飙

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

于是我把数据集截取了前10000行,完整数据是140w+行。

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

复制train_pretrain.py到train_pretrain_1.py,修改训练数据为10000行的小数据集合,继续跑看看,这下提示只需要28分钟,还好,可以忍受,等着吧。

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

跑完了,训练后的模型结果保存在out目录,预训练结果输出的文件名是:pretrain_512.pth

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

训练过程默认每隔100步保存1次参数到文件./out/***.pth(每次会覆盖掉旧权重文件)。

项目提供了验证脚本,可以看看效果:

python eval_model.py --model_mode 0

# 默认为0:测试pretrain模型效果,设置为1:测试full_sft模型效果

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

哈哈哈,胡言乱语,一塌糊涂!

怀疑是是不是数据集太少,只有1w条数据,也可能是训练的模式不对,那就继续,后面还有一个full的训练:

监督微调(学对话方式)

python train_full_sft.py

继续训练full,默认数据集:sft_mini_512.jsonl,这个数据集跟前面的预训练大小差不多(120w),自然我也是没敢用,这次我使用了lora_medical.jsonl的数据集(只有25276条记录),跑着看看吧:

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

哇,74分钟,行吧,我等。。

然后在测试依旧效果不好。

没法办,使用大数据量时间太久了,官方也建议使用他们提供的训练好的结果:

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

使用官方训练结果,再次验证:

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

感觉还可以哈,这么小的一个模型还要啥自行车?

关于数据集的一些说明:

Tokenizer(分词器)

Token是使用Tokenizer(翻译为分词器)分词后的结果,那么Tokenizer又是什么呢?Tokenizer是将文本分割成token的工具。

在大模型中,Tokenizer有三种常见的分词方式:word level,char level,subword level。

minimind提供了自己的tokenizer,一共6400条,

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

看上去像是Subword级别的。

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

下面是一下比较出名的三方开源大模型分词器:

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

官方提供的数据集简介

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

基于官方数据集以及推荐的训练方案,有感兴许的可以仔细看看这些Python代码,数据集及几种不同的训练模式等

DeepSeek 671B用不起?不妨从0开始,训练出自己的0.02B小模型

其实,LLMs的训练涉及到很多方面,如数据集的整理,分词器的选择,预训练,部署与推理,微调,量化,效果评估等等,上文介绍止步在数据集与预训练这块,有感兴趣的同学可以找相关资料进行研究和学习,如:github上 https://github.com/luhengshiwo/LLMForEverybody

作为普通用户,即AI的使用者,如果不想自己训练模型,完全可以使用已经训练好的模型以及各种“满血版”API等,重点可以放在如何给AI“喂”数据(提示词|prompt),可以去找找清华的两篇pdf,学会提问,会总结,让AI发挥出应有的状态!

(全文完)

转载请注明来自Nkqfj,本文标题:《迷你世界hg怎么下载(DeepSeek 671B用不起不妨从0开始)》

每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,1人围观)参与讨论

还没有评论,来说两句吧...