MiniMind:3小时完全从0训练一个仅有26M的小参数GPT,最低仅需2G显卡即可推理训练!
📌 概述
MiniMind是一个开源的微型语言模型,它的设计目标是让个人GPU用户也能够快速推理甚至训练语言模型。它的体积仅为26M,大约是GPT3的1/7000,非常适合快速部署和实验。
[!TIP] (截至2024-9-17)minimind训练了3个型号模型,最小仅需26M(0.02B),即可具备流畅的对话能力!
模型 (大小) | tokenizer长度 | 推理占用 | release | 主观评分(/100) |
---|---|---|---|---|
minimind-v1-small (26M) | 6400 | 0.5 GB | 2024.08.28 | 50' |
minimind-v1-moe (4×26M) | 6400 | 1.0 GB | 2024.09.17 | 55' |
minimind-v1 (108M) | 6400 | 1.0 GB | 2024.09.01 | 60' |
该分析在一个带有Torch 2.1.2、CUDA 12.2和Flash Attention 2的RTX 3090 GPU上运行。
📌 关键特性
- 轻量级设计:模型大小仅为26M,易于在个人设备上运行。
- 快速推理:由于模型小巧,推理速度非常快。
- 开源模型:包含完整的数据处理、预训练、微调的代码和数据集。
- 混合专家模型:包含MoE(Mixture of Experts)模型,提高模型的效率和效果。
📌 项目包含
- 公开MiniMind模型代码(包含Dense和MoE模型)、Pretrain、SFT指令微调、LoRA微调、DPO偏好优化的全过程代码、数据集和来源。
- 兼容
transformers
、accelerate
、trl
、peft
等流行框架。 - 训练支持单机单卡、单机多卡(DDP、DeepSpeed)训练。训练过程中支持在任意位置停止,及在任意位置继续训练。
- 在Ceval数据集上进行模型测试的代码。
- 实现Openai-Api基本的chat接口,便于集成到第三方ChatUI使用(FastGPT、Open-WebUI等)。
📌 安装和使用
在开始之前,请确保您的环境满足以下要求:
- Ubuntu == 20.04
- Python == 3.9
- Pytorch == 2.1.2
- CUDA == 12.2
- requirements.txt
📌 项目体验
-
项目已部署至ModelScope创空间,可以在此网站上体验:
贡献和支持
MiniMind是一个活跃的开源项目,我们欢迎任何形式的贡献。如果您有兴趣参与项目的开发,请访问我们的GitHub仓库了解更多信息: