jingyaogong/minimindPlease refer to the latest official releases for information GitHub Homepage
輕量級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上運行,大大降低了訓練門檻
🧠 完整的訓練生態
項目開源了大模型的極簡結構,包含以下核心功能:
- 預訓練 (Pretraining) - 從零開始訓練基礎語言模型
- 監督微調 (SFT) - 有監督的指令微調
- LoRA微調 - 低秩適配微調技術
- DPO算法 - 直接偏好優化算法
- 模型蒸餾 - 知識蒸餾算法
- 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"
🔄 訓練流程
- 數據準備: 數據集清洗和預處理
- 預訓練: 在大規模文本數據上進行無監督訓練
- 指令微調: 使用指令數據進行監督微調
- 偏好優化: 通過DPO算法優化模型輸出偏好
- 模型評估: 在Ceval等基準數據集上測試性能
📈 性能表現
- 訓練速度: 在RTX 3090 GPU上,使用Torch 2.1.2、CUDA 12.2和Flash Attention 2進行測試
- 對話質量: 26M參數即可實現流暢對話
- 資源消耗: 顯存佔用低,適合個人開發者
🌍 社區生態
- 開源免費: 完全開源,所有核心算法代碼公開
- 文檔完善: 提供詳細的中英文文檔
- 持續更新: 活躍的開發社區,持續功能迭代
- 教育友善: 適合學習和教學使用
🔗 相關項目
- 主項目: minimind
- 多模態版本: minimind-v
- MoE版本: minimind-v1-moe
總結
MiniMind是一個突破性的輕量級LLM訓練框架,它證明了在有限的計算資源下也能訓練出具備實用對話能力的語言模型。該項目不僅提供了完整的訓練工具鏈,更重要的是為AI學習者和研究者提供了一個理解LLM內部機制的絕佳平台。通過"從零開始,理解每一行代碼"的理念,MiniMind正在democratizing人工智能技術,讓更多人能夠參與到大模型的開發和研究中來。