项目介绍:DBRX
DBRX 是 Databricks 训练的大型语言模型,采用开放许可发布。这个项目提供了运行推理所需的基本代码和示例,同时也收集了一些使用 DBRX 的资源和链接。
模型详情
DBRX 是一个专家混合(Mixture-of-Experts, MoE)模型,总参数量为 1320 亿,其中 360 亿为活跃参数。其设计使用了 16 个专家模块,每次训练或推理时有 4 个活跃。该模型预训练了 12 万亿个文本标记,拥有 32K 的上下文长度。
目前开源的模型包括:
- DBRX Base:预训练基础模型
- DBRX Instruct:面向指令微调的模型
这些模型利用了开放源代码库中的优化版本进行训练,包括 Composer、LLM Foundry、MegaBlocks 和 Streaming。特别是 DBRX Instruct 模型,使用了 ChatML 格式进行训练。
快速开始
要下载权重和分词器,用户需先访问 DBRX 的 Hugging Face 页面并接受其许可。注意:访问基本模型需手动批准。
建议至少拥有 320GB 的内存来运行模型。以下为运行步骤:
pip install -r requirements.txt # 或 requirements-gpu.txt 以在 GPU 上使用快速注意力机制
huggingface-cli login # 添加您的 Hugging Face 令牌以访问模型
python generate.py # 参见 generate.py 更改提示和其他设置
有关更高级的用法,请参阅 LLM Foundry:
如果遇到包安装问题,推荐使用我们的 Docker 镜像:mosaicml/llm-foundry:2.2.1_cu121_flash2-latest
。
推理
DBRX 推理可通过 TensorRT-LLM 和 vLLM 实现优化。我们已经在 NVIDIA A100 和 H100 系统上测试过这两种库。在 16 位精度下运行推理至少需要一个 4 x 80GB 的多 GPU 系统。
TensorRT-LLM
DBRX 的支持正在添加到 TensorRT-LLM 库中。合并后,构建和运行 DBRX TensorRT 引擎的说明会在 README 中提供。
vLLM
请参阅 vLLM 文档 获取有关如何使用 vLLM 引擎运行 DBRX 的说明。
MLX 和 LLama.cpp
拥有 M 系列芯片的 Apple 笔记本,用户可以使用 MLX 和 LLama.cpp 运行 DBRX 的量化版本。具体指引可分别参阅:
微调
若需使用我们的开源库 LLM Foundry 微调 DBRX,请参阅 这里 的训练脚本。
支持的微调方法包括:
- 完全参数微调
- LoRA 微调(当前不能微调专家模块)
集成和问题反馈
DBRX 可以在 Databricks 平台通过 Mosaic AI Model Serving 和 Mosaic AI Playground 使用。
如有任何模型输出方面的问题或其他讨论,可使用 Hugging Face 社区论坛进行交流:instruct、base。
许可
DBRX 的模型权重和代码面向研究人员和商业实体开放。相关许可可在 Databricks 开源许可证 中找到,可接受使用政策见 此处。