Home
开源技术本页大模型LLM
minimind
「大模型」3小时完全从0训练26M的小参数GPT,个人显卡即可推理训练!
标签:
artificial-intelligence
large-language-model
minimind基本信息
开源许可:
Apache License 2.0
点赞数:2817stars
库分叉数:347forks
库观察者数:34watching最近更新时间:2024/11/10, 20:41
最新版本:ModelScope-MiniMind-V1
minimind介绍
MiniMind 是一个轻量级的开源语言模型,旨在降低大语言模型(LLM)的使用门槛,使个人用户能够在普通设备上快速训练和推理。本文将详细介绍 MiniMind 的训练流程、使用示例、成果展示以及训练条件。
MiniMind 概述
MiniMind 于 2024 年 8 月发布,最小版本仅需 26M 的参数量,约为 GPT-3 的 1/7000。这使得用户可以在仅需 2GB 显存的显卡上进行推理和训练。该模型的设计目标是让用户能够从零开始,最快在 3 小时内完成模型的训练,适合个人设备使用。
特点
- 轻量化: MiniMind 的体积小,训练速度快,适合个人设备。
- 高效性: 尽管模型较小,但在对话能力上表现流畅。不同型号的评分从 50 到 60 不等。
- 兼容性: 支持多种流行框架,如
transformers
和accelerate
,便于集成和扩展。
训练条件
硬件要求
- 显卡: 至少需要一块支持 CUDA 的显卡(如 RTX 3090)。
- 显存: 最低要求为 2GB 显存。
软件要求
- 操作系统: Ubuntu 20.04
- Python: 3.9
- PyTorch: 2.1.2
- CUDA: 12.2
数据集
- 预训练数据: 使用 Seq-Monkey 通用文本数据集(约 10B tokens)或 SkyPile-150B 数据集的可公开部分。
- SFT 数据集: 包含 12M 条数据,其中包括 10M 条中文和 2M 条英文数据。
训练流程
MiniMind 的训练流程分为以下几个主要步骤:
-
环境配置:
- 设置 Python 环境,安装必要的库。
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-
数据准备:
- 下载并预处理训练所需的文本数据,将其放置于
./dataset
目录下。
- 下载并预处理训练所需的文本数据,将其放置于
-
模型配置:
- 在
./model/LMConfig.py
中调整模型的参数配置,如模型大小和训练参数等。
- 在
-
模型训练:
- 使用提供的训练脚本开始训练。根据计算资源,可以调整批量大小和学习率等参数。
python 1-pretrain.py python 3-full_sft.py
-
模型评估与推理:
- 在 Ceval 数据集上进行模型测试,以评估其性能表现,并使用推理脚本进行测试。
streamlit run fast_inference.py
使用示例
以下是一个简单的使用示例,展示如何加载 MiniMind 模型并进行推理:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和tokenizer
model_name = "minimind-v1-small"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 输入文本
input_text = "你好,MiniMind!"
inputs = tokenizer(input_text, return_tensors="pt")
# 推理
outputs = model.generate(**inputs)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)
成果展示
MiniMind 已经成功训练出多个型号的模型,包括:
模型名称 | 参数量 | Tokenizer长度 | 推理占用 | 发布日期 | 主观评分(/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 |
尽管模型体积小,但在对话能力上表现流畅,适合用于开发聊天机器人、教育工具等应用场景。MiniMind 不仅是一个开源项目,还提供了完整的训练流程和代码示例,适合初学者和研究者进行定制和扩展。
总结
MiniMind 是一个创新的项目,通过提供一个轻量级的语言模型,使得大语言模型技术变得更加可及。它不仅降低了使用门槛,还为开发者和研究者提供了丰富的资源和支持,推动了 LLM 技术的发展。
免责声明:本站大资源来自网络收集整理,小部分资源来自原创,如有侵权等,请联系处理。
AI 奇想空间是一个汇聚人工智能工具、资源和教程的导航网站。
在这里,你可以发现最新的AI技术、工具和应用,学习如何使用各种 AI 平台和框架,获取丰富的 AI 资源。
欢迎广大 AI 爱好者加入我们的社区,开启你的AI之旅!
Copyright © 2024 AI奇想空间.微信