DBRX
DBRX 是由 Databricks 训练的大型语言模型,并以开放许可证发布。此代码库包含运行推理的最小代码和示例,以及使用 DBRX 的资源和链接集合。
- 创始人博客,DBRX 技术博客
- Hugging Face: https://huggingface.co/collections/databricks/
- LLM Foundry: https://github.com/mosaicml/llm-foundry
参考模型代码可以在此代码库的 modeling_dbrx.py 文件中找到。
注意: 此模型代码仅供参考,请查看 Hugging Face 代码库获取官方支持版本。
模型详情
DBRX 是一个包含 1320 亿总参数和 360 亿活跃参数的专家混合(MoE)模型。我们使用了 16 个专家,其中 4 个在训练或推理时处于激活状态。DBRX 预训练了 12 万亿个文本标记。DBRX 的上下文长度为 32K 个标记。
以下模型已开源:
模型 | 描述 |
---|---|
DBRX Base | 预训练基础模型 |
DBRX Instruct | 针对指令跟随进行了微调的模型 |
该模型使用了我们开源库的优化版本进行训练,包括 Composer,LLM Foundry,MegaBlocks 和 Streaming。
对于 Instruct 模型,我们使用了 ChatML 格式。更多信息请参见 DBRX Instruct 模型卡。
快速开始
要下载权重和分词器,请首先访问 DBRX 的 Hugging Face 页面并接受许可证。注意:访问 Base 模型需要手动批准。
我们建议至少拥有 320GB 的内存来运行该模型。
然后运行:
pip install -r requirements.txt # 或使用 requirements-gpu.txt 在 GPU 上使用 flash attention
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 库中:待合并的 PR
合并后,构建和运行 DBRX TensorRT 引擎的说明将会在此找到:README
vLLM
有关如何使用 vLLM 引擎运行 DBRX 的说明,请参见 vLLM 文档。
MLX
如果您拥有一台具有足够强大 M 系列芯片的苹果笔记本,您可以使用 MLX 运行量化版本的 DBRX。有关在 MLX 上运行 DBRX 的说明,请参见 此处。
LLama.cpp
如果您有一台至少有 64GB 内存的苹果 M 系列芯片笔记本电脑,您可以使用 llama.cpp 运行量化版本的 DBRX。
- 编译 llama.cpp
- 下载一个量化的 ggml 版本的 dbrx-instruct,例如 dranger003/dbrx-instruct-iMat.GGUF
- 在 llama.cpp 文件夹中运行:
./main -ngl 41 -m ./models/ggml-dbrx-instruct-16x12b-iq1_s.gguf -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt
微调
要使用我们的开源库 LLM Foundry 对 DBRX 进行微调,请参见我们的训练脚本中的说明(这里)。
我们支持以下微调方式:
- 全参数微调,参见 yaml 配置 dbrx-full-ft.yaml
- LoRA 微调,参见 yaml 配置 dbrx-lora-ft.yaml
注意:LoRA 目前无法微调专家,因为专家是融合的。请继续关注更多更新。
模型卡
模型卡可以在以下位置找到:
集成
DBRX 可通过以下方式在 Databricks 平台上使用:
其他提供商最近也已添加对 DBRX 的支持:
用于训练高质量 MoE 模型(如 DBRX)的相同工具也可供 Databricks 客户使用。如果您有兴趣预训练、微调或部署自己的 DBRX 模型,请通过 https://www.databricks.com/company/contact 与我们联系!
问题
对于模型输出的问题或社区讨论,请使用 Hugging Face 社区论坛(instruct,base)。
对于 LLM Foundry 或任何底层训练库的问题,请在相关的 GitHub 仓库中提交问题。
许可证
我们的模型权重和代码均适用于研究人员和商业实体。 Databricks 开源许可证 可以在 LICENSE 中找到,我们的可接受使用政策可在 这里 找到。