Home
开源技术本页
大模型LLM
author_avatarminimind

「大模型」3小时完全从0训练26M的小参数GPT,个人显卡即可推理训练!

标签:
artificial-intelligence
large-language-model
点击访问jingyaogong/minimind
minimind

minimind基本信息

Apache License 2.0
2593stars
316forks
27watching
最近更新时间:2024/11/06, 17:48
最新版本:ModelScope-MiniMind-V1

minimind介绍

MiniMind 是一个轻量级的开源语言模型,旨在降低大语言模型(LLM)的使用门槛,使个人用户能够在普通设备上快速训练和推理。本文将详细介绍 MiniMind 的训练流程、使用示例、成果展示以及训练条件。

MiniMind 概述

MiniMind 于 2024 年 8 月发布,最小版本仅需 26M 的参数量,约为 GPT-3 的 1/7000。这使得用户可以在仅需 2GB 显存的显卡上进行推理和训练。该模型的设计目标是让用户能够从零开始,最快在 3 小时内完成模型的训练,适合个人设备使用。

特点

  • 轻量化: MiniMind 的体积小,训练速度快,适合个人设备。
  • 高效性: 尽管模型较小,但在对话能力上表现流畅。不同型号的评分从 50 到 60 不等。
  • 兼容性: 支持多种流行框架,如 transformersaccelerate,便于集成和扩展。

训练条件

硬件要求

  • 显卡: 至少需要一块支持 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 的训练流程分为以下几个主要步骤:

  1. 环境配置:

    • 设置 Python 环境,安装必要的库。
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  2. 数据准备:

    • 下载并预处理训练所需的文本数据,将其放置于 ./dataset 目录下。
  3. 模型配置:

    • ./model/LMConfig.py 中调整模型的参数配置,如模型大小和训练参数等。
  4. 模型训练:

    • 使用提供的训练脚本开始训练。根据计算资源,可以调整批量大小和学习率等参数。
    python 1-pretrain.py
    python 3-full_sft.py
    
  5. 模型评估与推理:

    • 在 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-small26M64000.5 GB2024.08.2850
minimind-v1-moe4×26M64001.0 GB2024.09.1755
minimind-v1108M64001.0 GB2024.09.0160

尽管模型体积小,但在对话能力上表现流畅,适合用于开发聊天机器人、教育工具等应用场景。MiniMind 不仅是一个开源项目,还提供了完整的训练流程和代码示例,适合初学者和研究者进行定制和扩展。

总结

MiniMind 是一个创新的项目,通过提供一个轻量级的语言模型,使得大语言模型技术变得更加可及。它不仅降低了使用门槛,还为开发者和研究者提供了丰富的资源和支持,推动了 LLM 技术的发展。

免责声明:本站大资源来自网络收集整理,小部分资源来自原创,如有侵权等,请联系处理。
AI奇想空间
AI奇想空间
https://aimazing.site
AI惊奇站是一个汇聚人工智能工具、资源和教程的导航网站。 在这里,你可以发现最新的AI技术、工具和应用,学习如何使用各种AI平台和框架,获取丰富的AI资源。 欢迎广大AI爱好者加入我们的社区,开启你的AI之旅!
AI交流群
Copyright © 2024 AI奇想空间.微信