下一代轻量级多模态混合专家模型,支持文本、图像、音频和文档理解
下一代轻量级多模态混合专家模型,支持文本、图像、音频和文档理解。专为研究和实际应用设计,可在单个RTX 4090上运行,并通过高级内存优化扩展至70B参数。
特性- 多模态: 统一支持文本、图像、音频和文档输入
- MoE架构: 高效的混合专家模型,参数从0.5B到70B可扩展
- 轻量级: 0.5B基础模型可在消费级GPU(24GB VRAM)上运行
- 现代Transformer: RMSNorm、RoPE、分组查询注意力等
- 极致适应性: QLoRA、4位量化、LoRA适配器、梯度累积
- 一键式工作流: 所有管理通过python manage.py完成(见下文)
安装与环境- Python: 推荐3.9–3.11
- CUDA: 11.8+ (用于GPU训练/推理)
- 依赖项: 所有必需的包都列在requirements.txt中
快速设置
这将自动创建虚拟环境并安装所有依赖项。
命令行使用所有命令通过python manage.py <command>管理。如需帮助: 主要命令[td]命令 | 描述 | setup | 环境设置和依赖安装 | train | 训练模型(支持--distributed分布式训练) | infer | 使用训练好的模型进行推理 | check | 检查GPU和依赖项 | monitor | 系统监控(GPU/CPU/内存) | download | 下载训练数据集 | arrow | Arrow/JSON数据集转换 | quantize | 将模型量化为4/8位以提高效率 | benchmark | 运行性能基准测试 | help | 显示帮助信息 |
示例
- python manage.py download
- python manage.py train
- python manage.py infer --ckpt ckpt/model.pt --prompt "你好!"
复制代码 模型架构与配置[td]模型大小 | 层数 | 隐藏层大小 | 注意力头数 | MoE专家数 | 参数规模 | 上下文长度( tokens) | 0.5B | 12 | 1024 | 8 | 4 | ~0.5B | 10M | 1.5B | 24 | 3072 | 32 | 16 | ~1.5B | 10M | 7B | 32 | 4096 | 32 | 32 | ~7B | 10M | 32B | 48 | 6656 | 52 | 64 | ~32B | 10M | 64/70B | 80 | 8192 | 64 | 128 | ~70B | 10M |
- 多模态集成: CLIP ViT-L/14(视觉)、AST Base(音频)、LayoutLMv3(文档),具有统一的嵌入空间
- MoE: Top-2路由,高效专家加载
数据集会自动下载并缓存。支持以下数据集: 数学与推理- NuminaMath-CoT (AI-ModelScope/NuminaMath-CoT): 带思维链的数学推理数据集
中文语言- Llama3-Chinese-Dataset (zhuangxialie/Llama3-Chinese-Dataset): 中文语料库
- Chinese-DeepSeek-R1 (liucong/Chinese-DeepSeek-R1-Distill-data-110k-SFT): 中文指令微调数据
网络与通用知识- OpenWeb888K (prithivMLmods/OpenWeb888K): 网络爬取数据
图像理解- ShareGPT-4o-Image (FreedomIntelligence/ShareGPT-4o-Image): 图像对话对
- coco_captions_small_slice (modelscope/coco_captions_small_slice): COCO图像标题
- LAION-SG (AI-ModelScope/LAION-SG): 语义图数据集
音频处理- AudioSetCaps_350k (lmms-lab/AudioSetCaps_350k_converted): 音频标题生成
- Libri2Mix_8k (modelscope/Libri2Mix_8k): 音频混合数据集
- Clotho (OmniData/Clotho): 音频标题生成
代码与编程- ultrachat_200k (HuggingFaceH4/ultrachat_200k): 基于对话的指令微调
- CodeAlpaca_20K (HuggingFaceH4/CodeAlpaca_20K): 代码指令微调
- codeparrot_github-code (jablonkagroup/codeparrot_github-code-chemistry-python): Python代码语料库
文档理解- DocVQA (swift/DocVQA): 文档视觉问答
- PubLayNet (OpenDataLab/PubLayNet): 文档布局分析
- VQAv2 (swift/VQAv2): 视觉问答
通过以下命令自动下载和缓存数据集: - python manage.py download
复制代码 在24GB GPU上训练70B模型[Beta]支持在单个24GB GPU上训练/微调70B模型,使用QLoRA、4位量化、LoRA适配器和梯度累积技术。 70B QLoRA训练示例单GPU
- python manage.py train \
- --model_size 70B \
- --force_quant \
- --force_lora \
- --batch_size 1 \
- --accum 32 \
- --seq_len 512
复制代码
多GPU分布式训练
- python -m torch.distributed.launch --nproc_per_node=4 tools/train.py \
- --model_size 70B \
- --distributed \
- --force_quant \
- --force_lora \
- --batch_size 1 \
- --accum 8
复制代码- python manage.py train \
- --model_size 70B \
- --force_quant \
- --force_lora \
- --batch_size 1 \
- --accum 32 \
- --seq_len 512
复制代码- 4位量化:显著减少内存占用(QLoRA论文)
- LoRA适配器:高效参数微调
- 梯度累积:模拟大批次训练
- 混合精度:进一步节省内存
- 无精度损失:QLoRA+LoRA达到接近全精度的结果(QLoRA深度解析)

链接:https://pan.quark.cn/s/4f7bc3c7b3bb
提取码下载 :
|