【1.3K star!】从0开始训练26M大模型只需3小时,MiniMind重磅开源

本文目录

MiniMind项目介绍

项目开源的内容

目前MiniMind5个型号模型介绍

MiniMind模型结构介绍

基于常规LLAMA系列的大模型

基于MOE结构的大模型

快速上手体验

克隆项目代码

进行模型训练

模型推理测试

参考链接

MiniMind项目介绍

大语言模型(LLM)领域,如 GPT、LLaMA、GLM 等,虽然它们效果惊艳, 但动辄10 Bilion庞大的模型参数个人设备显存远不够训练,甚至推理困难。几乎所有人都不会只满足于用Lora等方案fine-tuing大模型学会一些新的指令, 这约等于在教牛顿玩21世纪的智能手机,然而,这远远脱离了学习物理本身的奥妙。此外,卖课付费订阅的营销号漏洞百出的一知半解讲解AI的教程遍地, 让理解LLM的优质内容雪上加霜,严重阻碍了学习者。

IMG_256

项目开源的内容

github社区大佬jingyaogong开源MiniMind项目;把上手LLM的门槛无限降低, 直接从0开始训练一个极其轻量的语言模型。项目包含:

  • 公开MiniMind模型代码(包含Dense和MoE模型)、Pretrain、SFT指令微调、LoRA微调、DPO偏好优化的全过程代码、数据集和来源。
  • 兼容transformers、accelerate、trl、peft等流行框架。
  • 训练支持单机单卡、单机多卡训练。训练过程中支持在任意位置停止,及在任意位置继续训练。
  • 在Ceval数据集上进行模型测试的代码。
  • 实现Openai-Api基本的chat接口,便于集成到第三方ChatUI使用(FastGPT、Open-WebUI等)。希望此开源项目可以帮助LLM初学者快速入门!

目前MiniMind5个型号模型介绍

IMG_257
对应模型的参数信息如下:
IMG_258

MiniMind模型结构介绍

基于常规LLAMA系列的大模型

MiniMind的整体结构一致,只是在RoPE计算、推理函数和FFN层的代码上做了一些小调整;
IMG_259

基于MOE结构的大模型

IMG_260

快速上手体验

克隆项目代码

git clone https://github.com/jingyaogong/minimind.git

进行模型训练

* 下载数据集下载地址放到./dataset目录下

*  python data_process.py处理数据集,例如pretrain数据提前进行token-encoder、sft数据集抽离qa到csv文件。

*  在./model/LMConfig.py 中调整model的参数配置。

*  python 1-pretrain.py 执行预训练。

*  python 3-full_sft.py 执行指令微调。

*  python 4-lora_sft.py 执行lora微调(非必须)。

*  python 5-dpo_train.py 执行DPO人类偏好强化学习对齐(非必须)。

模型推理测试

【训练完成的模型权重】下载权重到./out/目录下

out

├── multi_chat

│   ├── full_sft_1024.pth

│   ├── full_sft_512.pth

│   ├── full_sft_640_moe.pth

│   └── full_sft_640.pth

├── single_chat

│   ├── full_sft_1024.pth

│   ├── full_sft_512.pth

│   ├── full_sft_640_moe.pth

│   └── full_sft_640.pth

├── full_sft_1024.pth

├── full_sft_512.pth

├── full_sft_640_moe.pth

├── full_sft_640.pth

├── pretrain_1024.pth

├── pretrain_640_moe.pth

├── pretrain_640.pth

python 0-eval_pretrain.py测试预训练模型的接龙效果

python 2-eval.py测试模型的对话效果

这是测试模型的对话效果展示:
IMG_261

#【Tip】预训练和全参微调pretrain和full_sft均支持DDP多卡加速

# 单机N卡启动训练

torchrun –nproc_per_node N 1-pretrain.py

torchrun –nproc_per_node N 3-full_sft.py

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容