ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

MiniMind快速实战:2小时3元从零训出64M小模型

MiniMind快速实战:2小时3元从零训出64M小模型 MiniMind快速实战2小时3元从零训出64M小模型【免费下载链接】minimind Train a 64M-parameter LLM from scratch in just 2h!项目地址: https://gitcode.com/GitHub_Trending/min/minimindMiniMind 是一个从零开始的迷你大模型训练项目覆盖预训练、SFT监督微调教模型听话地对话、LoRA低秩适配只训练一小撮参数、强化学习的全链路代码。单张 3090 跑通轻量数据组合约需 2.3 小时、成本约 3 元产出一个 64M 参数的对话模型。一、先说结论能做什么从 0 训练 64M 对话模型或给现成模型挂医疗、自我认知等垂域 LoRA花多少代价3090 租卡约 1.3 元/小时完整 Zero 训练路径约 2.31 小时、3.0 元README 实测值硬件门槛单张消费级显卡LoRA 阶段 CPU 也能较快完成适合谁想逐行看懂 LLM 训练链路的人、想低成本做垂域适配的应用开发者二、为什么是它64M 参数约为 GPT-3 的 1/2700minimind-3 采用 8 层、768 维的 Transformer Decoder-Only 结构对齐 Qwen3 生态词表仅 6400核心算法全部用 PyTorch 原生实现不套 transformers/peft 的封装。体量小意味着单卡跑完全程原生实现意味着每一行都能改。结构参数定义在 model/model_minimind.py改层数、维度都在这一个文件里。三、最短路径跑通10分钟对话 2小时从零训练1. 克隆仓库并安装依赖1分钟git clone https://gitcode.com/GitHub_Trending/min/minimind cd minimind pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple完成标志pip 输出 Successfully installed无红色报错。2. 下载官方权重并进入对话10分钟modelscope download --model gongjy/minimind-3 --local_dir ./minimind-3完成标志./minimind-3/下出现 config.json 和 .safetensors 权重文件。python eval_llm.py --load_from ./minimind-3输入 0自动测试会依次回答 8 道测试题并打印 decode 速度输入 1 进入手动问答。回答连贯、身份自洽即算跑通。想开网页界面把模型文件夹复制进scripts/后执行cd scripts streamlit run web_demo.py。3.可选2 小时从零训练出对话模型先下载轻量数据pretrain_t2t_mini.jsonl1.2GB与sft_t2t_mini.jsonl1.6GB放入./dataset/然后按阶段执行cd trainer python train_pretrain.py完成标志out/pretrain_768.pth生成loss 从 8 左右降到 3 附近并持续下降。python train_full_sft.py完成标志out/full_sft_768.pth生成。用python eval_llm.py --weight full_sft即可对话回答应明显优于预训练阶段的接龙式输出。训练中断后加--from_resume 1可从checkpoints/目录自动续训。四、数据与配置jsonl 一行一个样本所有数据统一为 jsonl放进./dataset/。SFT/LoRA 用多轮对话格式一行一个样本{conversations: [{role: user, content: 颈椎病的人枕头多高最好}, {role: assistant, content: 应根据颈椎曲度选择……}]}快速复现组合pretrain_t2t_mini.jsonlsft_t2t_mini.jsonl合计约 2.8GB完整主线pretrain_t2t.jsonl10GBsft_t2t.jsonl14GB格式与长度换算中文约 1.5~1.7 字符/token的规范说明见 dataset/dataset.md垂域 LoRA按同样格式自拟问答存为dataset/lora_medical.jsonl等trainer/train_lora.py 的--data_path默认就指向该路径基于已 SFT 的权重执行cd trainer python train_lora.py --epochs 3即可数据格式与垂域样例 README 中有现成示例五、进阶调优免训练加长上下文 思考开关RoPE 4 倍外推在推理参数加--inference_rope_scaling基于 YaRN 算法把上下文从训练长度外推到 2048 以上处理长医疗报告、长文档时不用重训。自适应思考加--open_thinking 1模型先输出 思考过程再给答案同一个权重按需切换直答/思考两种模式。六、部署与成本一张表看懂场景硬件要求参考指标适用对话部署单卡 GPU 或纯 CPU64M 参数fp16 权重约 130MB推理走eval_llm.py --show_speed查看 tokens/s个人、边缘设备LoRA 垂域微调CPU 可跑GPU 更快只训练低秩分支权重文件仅几 MB 级医疗等领域适配完整 Zero 训练单卡 309024GBpretrainSFT 约 2.31h复现、教学按 3090 租卡 1.3 元/小时计算完整 Zero 训练约 3.0 元LoRA 适配在 CPU 上完成几乎不产生额外算力费用。七、常见问题3 个新手坑现象train_lora.py报数据文件不存在。原因仓库不含lora_medical.jsonl默认数据路径指向它。处理按 README 示例在./dataset/下自拟数据或用--data_path指定已有文件。现象serve_openai_api.py带--lora_weight时加载失败。原因服务端脚本固定从out/lora/子目录读取 LoRA 权重。处理把训练产物out/lora_medical_768.pth复制到out/lora/再启动。现象回答长文本时英文崩坏、超长输入被截断。原因训练默认max_seq_len仅 340~768 token。处理推理加--inference_rope_scaling外推至 2048需更长则训练时调大该参数。结尾MiniMind 把 LLM 完整训练链路压缩到一个下午能跑完的量级2.3 小时、3 元、64M 参数想改结构、换数据都从这一个仓库开始。觉得有用记得给仓库点个 Star遇到 bug 或想扩展功能直接提 Issue / PR。⚠️ 若将 LoRA 适配用于医疗、金融等垂域模型输出仅作辅助参考不能直接用于诊断或投资决策请先确认相关行业的合规要求。【免费下载链接】minimind Train a 64M-parameter LLM from scratch in just 2h!项目地址: https://gitcode.com/GitHub_Trending/min/minimind创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表