Lightpanda
编程开发为动态网页提取和 AI 自动化设计的独立无头浏览器,支持 CDP、MCP 与脚本重放。
用小模型学习语言模型训练,从预训练、SFT 到工具调用。
MiniMind 是一个面向语言模型学习与复现的开源项目。它公开模型结构、分词器、数据处理、预训练和微调代码,让读者可以在较小模型上追踪完整的训练过程。适合已有 Python 和深度学习基础、希望理解训练实现的人。
当前主线 MiniMind-3 Dense 约 6400 万参数,MoE 约 1.98 亿总参数、约 6400 万激活参数。历史的 MiniMind2-small 为 2600 万参数。2026 年 4 月的主线更新调整了模型结构、分词器、训练数据与推理接口,旧教程与新权重需要留意兼容性。
入门可先加载已发布模型,确认对话推理正常,再用两份 mini 数据完成预训练和 SFT。之后再逐项研究 LoRA、偏好优化或工具调用训练。代码无需购买套餐,硬件与云资源费用由使用者承担;模型知识、复杂推理和长文本表现仍受规模与数据限制。
学习 LLM 训练:适合已经接触 Python、张量运算和基础深度学习的人。把一个样本经过的数据读取、前向计算、损失与权重更新串起来,之后再阅读更大模型的训练代码。
比较数据与微调方式:固定模型、评估样本与训练预算,替换一份 SFT 数据或比较 LoRA 与全参数微调。记录每次实验的版本、参数、数据量、耗时和错误回答。
研究 Dense 与 MoE:观察专家路由、辅助损失和资源占用。应分别记录总参数、激活参数、权重大小及实际训练显存,避免仅用单个参数数字比较两类结构。
搭建可检查的小型对话实验:先使用已发布权重完成推理,再替换为自己的训练结果。固定一组中英文问题和生成参数,对比不同检查点的回答与速度。
官方图片,可点击放大查看。
--from_resume 1 可恢复已有检查点。用于继续训练的检查点,与单独用于推理的权重文件作用不同。准备独立环境:克隆仓库,安装 requirements.txt,再为设备安装匹配的 PyTorch。README 参考配置为 Python 3.10.16、Ubuntu 20.04、CUDA 12.2;依赖清单中的 PyTorch 行被注释,不能假设它已经安装。
确认 GPU 与记录版本:计划使用 CUDA 时确认 torch.cuda.is_available() 返回 True。记录仓库提交版本、显卡型号、可用显存和生成参数。作者的八卡工作站是参考设备,项目也支持单卡流程。
先加载现成模型:在仓库根目录下载 Transformers 格式的 minimind-3,然后运行 python eval_llm.py --load_from ./minimind-3。这个步骤主要确认模型、分词器与推理流程能够衔接。
准备两份 mini 数据:把 pretrain_t2t_mini.jsonl 与 sft_t2t_mini.jsonl 放到 dataset 目录。预训练文本和 SFT 对话字段不同,先检查几条样本,再决定是否加入自己的数据。
完成预训练:进入 trainer 目录执行 python train_pretrain.py。默认隐藏维度为 768,默认两轮;权重输出到仓库的 out 目录。观察损失、学习率、耗时和可用显存,再考虑更大数据。
衔接 SFT:仍在 trainer 目录执行 python train_full_sft.py。默认加载 pretrain 权重,模型结构必须与前一步匹配。训练中断时,在原命令后加入 --from_resume 1 恢复现有检查点。
评估自己的权重:回到仓库根目录运行 python eval_llm.py --load_from ./model --weight full_sft。保持评估样本与采样参数固定,检查回答内容、错误类型和生成速度。训练数据中的问题不适合作为唯一评估集。
再选择界面或进阶训练:使用 WebUI 时先把 Transformers 模型目录放入 scripts,再运行 streamlit run web_demo.py。之后可以单独增加 LoRA、DPO 或 Agentic RL,并保存每次实验的数据、日志与权重。
克隆仓库,安装 requirements.txt,再为设备安装匹配的 PyTorch。README 参考配置为 Python 3.10.16、Ubuntu 20.04、CUDA 12.2;依赖清单中的 PyTorch 行被注释,不能假设它已经安装。
计划使用 CUDA 时确认 torch.cuda.is_available() 返回 True。记录仓库提交版本、显卡型号、可用显存和生成参数。作者的八卡工作站是参考设备,项目也支持单卡流程。
在仓库根目录下载 Transformers 格式的 minimind-3,然后运行 python eval_llm.py --load_from ./minimind-3。这个步骤主要确认模型、分词器与推理流程能够衔接。
把 pretrain_t2t_mini.jsonl 与 sft_t2t_mini.jsonl 放到 dataset 目录。预训练文本和 SFT 对话字段不同,先检查几条样本,再决定是否加入自己的数据。
进入 trainer 目录执行 python train_pretrain.py。默认隐藏维度为 768,默认两轮;权重输出到仓库的 out 目录。观察损失、学习率、耗时和可用显存,再考虑更大数据。
仍在 trainer 目录执行 python train_full_sft.py。默认加载 pretrain 权重,模型结构必须与前一步匹配。训练中断时,在原命令后加入 --from_resume 1 恢复现有检查点。
回到仓库根目录运行 python eval_llm.py --load_from ./model --weight full_sft。保持评估样本与采样参数固定,检查回答内容、错误类型和生成速度。训练数据中的问题不适合作为唯一评估集。
使用 WebUI 时先把 Transformers 模型目录放入 scripts,再运行 streamlit run web_demo.py。之后可以单独增加 LoRA、DPO 或 Agentic RL,并保存每次实验的数据、日志与权重。
无订阅套餐;GPU、存储与云服务费用自行承担。
代码采用 Apache 2.0,无需购买会员或套餐。使用自己的硬件时承担电力与存储开销;租用 GPU 时按供应商价格、设备和占用时长付费。数据清理、下载、调试与后续强化学习都会增加时间。
不包含。README 写的是单张 RTX 3090 上一轮 SFT 的实测时间和对应 GPU 租费。当前预训练和 SFT 脚本默认各两轮,环境配置、数据下载和其它训练阶段也另需时间。
它主要是开放代码、模型、数据与教程的训练项目,也提供命令行、WebUI 和在线演示入口。在线演示与自己训练是不同使用方式;下载仓库后,需要自行准备环境、模型或训练数据。
当前 MiniMind-3 Dense 主线约 6400 万参数。2600 万参数对应旧的 MiniMind2-small 等版本。旧教程、模型配置与新权重可能不匹配,复现时应记录同一代代码和模型。
MoE 模型总参数约 1.98 亿,每个 token 激活参数约 6400 万。完整模型仍需保存全部专家权重;不能把激活参数当作权重文件大小,也不能据此直接推断训练显存。
预训练阶段可以从新初始化的模型开始学习文本;SFT 通常继续使用预训练权重学习对话。LoRA 是另一种参数更新方式。下载现成 MiniMind-3 做推理,不属于自己完成了训练。
不包含。README 写的是单张 RTX 3090 上一轮 SFT 的实测时间和对应 GPU 租费。当前预训练和 SFT 脚本默认各两轮,环境配置、数据下载和其它训练阶段也另需时间。
不是。八卡是作者列出的参考工作站,项目提供单卡与多卡训练方式。具体设备能否跑下某个配置,还受批大小、序列长度、模型结构、精度和可用显存影响。
文档说明可以选择 CPU 或 MPS,但速度和兼容性差异明显;参考环境主要是 Linux 与 CUDA。Windows 还可能遇到依赖、路径和数据加载差异。先跑通已发布模型推理,再安排训练比较稳妥。
requirements.txt 中 PyTorch 行被注释掉。需要检查实际安装的 PyTorch 是否支持当前 CUDA,同时确认驱动、设备权限与环境。torch.cuda.is_available() 可作为第一项检查。
不可以直接互换。预训练主要读取文本,SFT 读取对话结构。文件名和后缀相似,不代表字段、模板或训练目标相同。自定义数据要先检查读取类、样本字段及长度截断。
out 中的权重文件主要用于推理或下一训练阶段。checkpoints 下的续训文件还保存优化器、进度等状态。恢复训练使用 --from_resume 1;加载对话模型则使用相应权重名称。
web_demo.py 扫描 scripts 下含权重文件的模型子目录。Transformers 格式模型如果只放在仓库根目录,就需要先复制到 scripts。单个 .pth 文件不能当作完整 Transformers 模型目录使用。
不能。图中展示了工具名称、参数、返回值与回答布局,是作者提供的示例。工具参数可能选错,返回值也需要检查;应另外测试错误输入、工具失败和结果核对。
它说明模型更贴合当前训练目标,但不能直接说明事实准确、推理正确或更安全。预训练与 SFT 的曲线也不是同一目标。应留出未用于训练的问题,记录错误与重复运行结果。
代码采用 Apache 2.0,通常允许商业使用,并有保留许可证和声明等义务。训练数据、下载权重、教师模型及第三方服务可能有各自条款;这些条件需要分别检查,不能只看代码许可证。
本地训练和推理可以使用本机文件,但启用 SwanLab 等实验记录、下载托管数据或调用外部工具时会发生相应网络访问。日志可能包含实验配置或文本。处理私有数据前,应检查实际脚本、记录选项与工具配置。
MiniMind-V 与 MiniMind-O 是关联项目;dLM 与线性注意力方向通过项目讨论等入口提供实验拓展。它们不应与 MiniMind-3 文本主线的默认能力混在一起介绍。
平台、输入输出、开源许可和使用条件,完整保留在这里。
MiniMind-3:64M Dense,2026-04-01 发布。MiniMind-3-MoE:198M-A64M,同日发布。MiniMind2-small:26M;MiniMind2:104M;MiniMind2-MoE:145M,2025-04-26 发布。
以下命令分为现成模型推理和预训练 / SFT;默认训练各两轮,开始训练前先准备数据并安装匹配的 PyTorch。
git clone --depth 1 https://github.com/jingyaogong/minimind
cd minimind
pip install -r requirements.txt
modelscope download --model gongjy/minimind-3 --local_dir ./minimind-3
python eval_llm.py --load_from ./minimind-3
cd trainer
python train_pretrain.py
python train_full_sft.py
cd ..
python eval_llm.py --load_from ./model --weight full_sft
本地训练和推理可以使用本机文件,但启用 SwanLab 等实验记录、下载托管数据或调用外部工具时会发生相应网络访问。日志可能包含实验配置或文本。处理私有数据前,应检查实际脚本、记录选项与工具配置。
代码采用 Apache 2.0,通常允许商业使用,并有保留许可证和声明等义务。训练数据、下载权重、教师模型及第三方服务可能有各自条款;这些条件需要分别检查,不能只看代码许可证。
正在加载使用体验…
收藏仅自己可见。评论通过审核后公开,修改后会重新审核;评论数量包含获准公开的评论和回复。每人一份评分,新评分自动批准,撤回、未获批准或失效的评分不计入总分。请分享真实体验,避免垃圾信息、私人信息或人身攻击。
审核申诉或数据处理问题: support@findgoodai.com

从 MiniMind-3 的已发布权重开始,梳理环境、数据目录、训练顺序、检查点和评估方法,并配上项目结构图、训练曲线与聊天演示。
带上一个真实任务,看看它是否适合你的工作方式。
使用体验