Home
Login

轻量级GPT训练框架,2小时完全从0训练26M参数的小型语言模型

Apache-2.0Python 22.6kjingyaogongminimind Last Updated: 2025-04-30

MiniMind - 超轻量级GPT训练框架

项目概述

MiniMind是一个极其轻量化的大语言模型训练框架,最小版本仅为GPT-3的1/7000大小,可以在普通个人GPU上快速训练。该项目能够在2小时内完全从0训练26M参数的小参数GPT模型。

核心特性

🚀 超轻量化设计

  • 极小参数量: 最小模型仅需26M(0.02B)参数即可实现流畅的对话能力
  • 高效训练: 支持在单张3090显卡上2小时内完成训练
  • 资源友好: 可在普通个人GPU上运行,大大降低了训练门槛

🧠 完整的训练生态

项目开源了大模型的极简结构,包含以下核心功能:

  1. 预训练 (Pretraining) - 从零开始训练基础语言模型
  2. 监督微调 (SFT) - 有监督的指令微调
  3. LoRA微调 - 低秩适配微调技术
  4. DPO算法 - 直接偏好优化算法
  5. 模型蒸馏 - 知识蒸馏算法
  6. MoE扩展 - 混合专家模型支持

🎯 技术架构

框架支持

  • PyTorch原生: 基于PyTorch原生框架构建,支持多GPU加速
  • 兼容性强: 兼容transformers、accelerate、trl、peft等主流框架
  • 灵活部署: 支持单GPU和多GPU训练设置(DDP、DeepSpeed)

训练特性

  • 断点续训: 训练过程支持随时停止和恢复
  • 多卡训练: 支持DDP分布式训练,可扩展到多机多卡集群
  • 监控集成: 支持wandb训练过程记录和可视化

🌟 多模态扩展

MiniMind-V 视觉多模态版本

  • 视觉理解: 扩展到视觉多模态VLM:MiniMind-V
  • 统一架构: 基于MiniMind语言模型作为基础,添加视觉编码能力

📊 模型能力

MiniMind能够执行多种任务,包括文本生成、对话交互和知识检索。它可以基于给定的提示或上下文生成文本,进行对话交互,并检索各种主题的知识。

主要功能

  • 文本生成: 基于提示生成连贯的文本内容
  • 对话交互: 支持多轮对话和问答
  • 知识检索: 具备一定的知识问答能力
  • 代码理解: 支持基础的代码生成和理解

🎓 教育价值

该项目的目标是降低LLM的学习门槛,让每个人都能从理解每一行代码开始,训练一个非常小的语言模型。项目采用了"积木搭飞机"的理念,让用户能够深入了解LLM的底层实现,而不是被高级封装所隔离。

💻 使用方法

环境要求

  • PyTorch 2.1.2+
  • CUDA 12.2+
  • Flash Attention 2
  • RTX 3090或更高性能GPU(推荐)

快速开始

# 克隆项目
git clone https://github.com/jingyaogong/minimind.git
cd minimind

# 安装依赖
pip install -r requirements.txt

# 单GPU训练
python train.py

# 多GPU训练 (N>1)
torchrun --nproc_per_node N train.py

训练配置

# 启用wandb监控
wandb login
python train.py --use_wandb

# 指定项目名称
python train.py --wandb_project "my_minimind" --wandb_run_name "experiment_1"

🔄 训练流程

  1. 数据准备: 数据集清洗和预处理
  2. 预训练: 在大规模文本数据上进行无监督训练
  3. 指令微调: 使用指令数据进行监督微调
  4. 偏好优化: 通过DPO算法优化模型输出偏好
  5. 模型评估: 在Ceval等基准数据集上测试性能

📈 性能表现

  • 训练速度: 在RTX 3090 GPU上,使用Torch 2.1.2、CUDA 12.2和Flash Attention 2进行测试
  • 对话质量: 26M参数即可实现流畅对话
  • 资源消耗: 显存占用低,适合个人开发者

🌍 社区生态

  • 开源免费: 完全开源,所有核心算法代码公开
  • 文档完善: 提供详细的中英文文档
  • 持续更新: 活跃的开发社区,持续功能迭代
  • 教育友好: 适合学习和教学使用

🔗 相关项目

总结

MiniMind是一个突破性的轻量级LLM训练框架,它证明了在有限的计算资源下也能训练出具备实用对话能力的语言模型。该项目不仅提供了完整的训练工具链,更重要的是为AI学习者和研究者提供了一个理解LLM内部机制的绝佳平台。通过"从零开始,理解每一行代码"的理念,MiniMind正在democratizing人工智能技术,让更多人能够参与到大模型的开发和研究中来。

Star History Chart