LLMs之DBRX:DBRX的简介、安装和使用方法、案例应用之详细攻略

LLMs之DBRX:DBRX的简介、安装和使用方法、案例应用之详细攻略

导读:2024年3月27日(美国时间),DBRX是Databricks推出的一款新型开源大语言模型,主要特征和优势总结如下:
>> 表现优异:DBRX在各类自然语言处理benchmark上的表现超越现有主流开源模型,如Mixtral、LLaMA等。特别是在编程领域和数学计算领域表现显著优于同类型模型。
>> 模型规模:总参数量132B,活跃参数量36B。
>> 预训练数据量:12T个字符 token,最大上下文长度32K个token。DBRX能够处理上下文长度为32K个标记,在长文解答任务和RAG任务上表现好于GPT-3.5。
>> 网络结构:采用精细粒度混合专家(MoE)结构,每个专家包含的参数数量小于Dense结构。DBRX包含16个专家,每次选择4个专家,提供比Mixtral和Grok-1更多的65倍可能结合方式。
>> 训练效率:与dense结构相比,MoE结构可以提高训练效率2倍以上。DBRX家族模型DBRX MoE-B采用MoE结构,训练FLOPs较LLaMA2-13B少1.7倍就达到相近质量。DBRX可以用4分之1的计算资源达到之前模型的水平。
>> 推理性能:与总参数量132B对应的dense模型相比,DBRX的推理吞吐率快2-3倍。在Databricks优化的serving环境下,单个用户每秒支持的 token数达150个。
>> 参数利用率:相比总参数量,DBRX在每个输入下仅利用约36B或27%的参数。这使其在给定模型质量下推理更高效。
>> 开放性好:DBRX模型及训练序列全部开源共享,Databricks也发布了相应工具供用户重复训练和应用DBRX。
>> 商业可行:Databricks提供DBRX在线API服务和定制训练服务,满足企业实时查询和专属模型训练需求。
总体来说,DBRX继承并提升了Databricks在开放LLM研发和应用方面的先进经验,在模型性能、效率和可商业应用性方面都达到新水平,为企业提供了一款强大且开放的通用语言模型工具。

目录

DBRX的简介

1、模型详情

2、模型性能

图1:DBRX在语言理解(MMLU)、编程(HumanEval)和数学(GSM8K)等方面优于已建立的开源模型

表1显示了DBRX Instruct和领先的已建立的开源模型的质量。DBRX Instruct在复合基准、编程和数学基准以及MMLU方面是领先的模型。它超越了所有标准基准上的聊天或指导微调模型。

表2显示了DBRX Instruct和领先的封闭模型的质量。根据每个模型创建者报告的得分,DBRX Instruct超越了GPT-3.5(如GPT-4论文中所述),并且与Gemini 1.0 Pro和Mistral Medium竞争。

表3.模型在KV-Pairs和HotpotQAXL基准上的平均性能。 粗体是最高分。 下划线是除了GPT-4 Turbo之外的最高分。 GPT-3.5 Turbo支持的最大上下文长度为16K,因此我们无法在32K上评估它。 * GPT-3.5 Turbo的开始、中间和结尾的平均值仅包括最多16K的上下文。

表4.模型在给定来自使用bge-large-en-v1.5的维基百科语料库中的前10个段落时的性能。 精度是通过与模型答案匹配来衡量。 粗体是最高分。 下划线是除了GPT-4 Turbo之外的最高分。

表5.我们用来验证DBRX MoE架构和端到端训练流程的训练效率的几个测试文章的详细信息

图2显示了使用NVIDIA TensorRT-LLM和我们的优化服务基础设施以及16位精度为DBRX和类似模型提供端到端推理效率。 我们的目标是使此基准尽可能地反映现实世界的使用情况,包括多个用户同时击中相同的推理服务器。 我们每秒生成一个新用户,每个用户请求包含大约2000个标记提示,并且每个响应包含256个标记。

3、模型特点

DBRX的安装和使用方法

1、下载权重

2、快速开始

T1、直接运行

T2、采用LLM Foundry

T3、Docker镜像

3、推理

T1、TensorRT-LLM

T2、vLLM

4、微调

DBRX的案例应用


DBRX的简介

2024年3月27日(美国时间),DBRX是Databricks开发的一款开放源码的 Transformer 结构的大规模语言模型,它使用了混合专家(MoE) 架构,总参数量为132B,活跃参数为36B。DBRX经过12兆字训练数据预训练,相比先前开源大模型具有质量和效率双赢。DBRX是一款强大且高效的开放源码模型,Databricks也提供了完整的工具链和服务支持用户高效应用和研发。

这一最先进的质量带来了在训练和推理性能方面的显著改进。DBRX通过其细粒度的专家混合(MoE)架构在开放模型中推进了效率的最新水平。推理速度比LLaMA2-70B快了多达2倍,而且DBRX的大小约为Grok-1的40%,无论是在总参数数量还是活跃参数数量上。当部署在Mosaic AI Model Serving上时,DBRX可以以每个用户150个tok/s的速度生成文本。我们的客户将发现,相同质量的模型训练MoEs的效率也比训练密集模型高出约2倍。从端到端来看,我们对DBRX的整体配方(包括预训练数据、模型架构和优化策略)几乎可以用近4倍的计算量来匹配我们以前一代的MPT模型的质量。

官网:Introducing DBRX: A New State-of-the-Art Open LLM | Databricks

GitHub地址:GitHub - databricks/dbrx: Code examples and resources for DBRX, a large language model developed by Databricks

1、模型详情

DBRX是一个具有1320亿总参数和360亿实时参数的专家混合模型(MoE)。我们使用16个专家,其中4个在训练或推理期间处于活动状态。DBRX经过了12T文本标记的预训练。DBRX的上下文长度为32K个标记。

2、模型性能

DBRX在综合评测、编程和数学任务上优于目前开放源码模型,且与商业闭源模型如GPT-3.5水平相当。它在长文本场景和关联生成任务上也表现出色。

在一系列标准基准测试中,DBRX创造了新的开源LLM技术水平。此外,它为开放社区和构建自己LLM的企业提供了之前仅限于封闭模型API的功能;根据我们的测量,它超越了GPT-3.5,并且在与Gemini 1.0 Pro竞争中保持竞争力。作为一款特别强大的代码模型,它不仅在编程方面超越了像CodeLLaMA-70B这样的专业模型,而且在作为通用型LLM方面也很有优势。

图1:DBRX在语言理解(MMLU)、编程(HumanEval)和数学(GSM8K)等方面优于已建立的开源模型

表1显示了DBRX Instruct和领先的已建立的开源模型的质量。DBRX Instruct在复合基准、编程和数学基准以及MMLU方面是领先的模型。它超越了所有标准基准上的聊天或指导微调模型。

Model

DBRX Instruct

Mixtral Instruct

Mixtral Base

LLaMA2-70B Chat

LLaMA2-70B Base

Grok-11

Open LLM Leaderboard2

(Avg of next 6 rows)

74.5%

72.7%

68.4%

62.4%

67.9%

ARC-challenge 25-shot

68.9%

70.1%

66.4%

64.6%

67.3%

HellaSwag 10-shot

89.0%

87.6%

86.5%

85.9%

87.3%

MMLU 5-shot

73.7%

71.4%

71.9%

63.9%

69.8%

73.0%

Truthful QA 0-shot

66.9%

65.0%

46.8%

52.8%

44.9%

WinoGrande 5-shot

81.8%

81.1%

81.7%

80.5%

83.7%

GSM8k CoT 5-shot maj@13

66.9%

61.1%

57.6%

26.7%

54.1%

62.9% (8-shot)

Gauntlet v0.34

(Avg of 30+ diverse tasks)

66.8%

60.7%

56.8%

52.8%

56.4%

HumanEval5

0-Shot, pass@1

(Programming)

70.1%

54.8%

40.2%

32.2%

31.0%

63.2%

表2显示了DBRX Instruct和领先的封闭模型的质量。根据每个模型创建者报告的得分,DBRX Instruct超越了GPT-3.5(如GPT-4论文中所述),并且与Gemini 1.0 Pro和Mistral Medium竞争。

Model

DBRX
Instruct

GPT-3.57

GPT-48

Claude 3 Haiku

Claude 3 Sonnet

Claude 3 Opus

Gemini 1.0 Pro

Gemini 1.5 Pro

Mistral Medium

Mistral Large

MT Bench (Inflection corrected, n=5)

8.39 ± 0.08

8.41 ± 0.04 

8.54 ± 0.09

9.03 ± 0.06

8.23 ± 0.08

8.05 ± 0.12

8.90 ± 0.06

MMLU 5-shot

73.7%

70.0%

86.4%

75.2%

79.0%

86.8%

71.8%

81.9%

75.3%

81.2%

HellaSwag 10-shot

89.0%

85.5%

95.3%

85.9%

89.0%

95.4%

84.7%

92.5%

88.0%

89.2%

HumanEval 0-Shot
pass@1
(Programming)

70.1% 

temp=0, N=1

48.1%

67.0%

75.9%

73.0%

84.9%

67.7%

71.9%

38.4%

45.1%

GSM8k CoT maj@1

72.8% (5-shot)

57.1% (5-shot)

92.0% (5-shot)

88.9%

92.3%

95.0%

86.5%

(maj1@32)

91.7% (11-shot)

66.7% (5-shot)

81.0% (5-shot)

WinoGrande 5-shot

81.8%

81.6%

87.5%

88.0%

86.7%

表3.模型在KV-Pairs和HotpotQAXL基准上的平均性能。 粗体是最高分。 下划线是除了GPT-4 Turbo之外的最高分。 GPT-3.5 Turbo支持的最大上下文长度为16K,因此我们无法在32K上评估它。 * GPT-3.5 Turbo的开始、中间和结尾的平均值仅包括最多16K的上下文。

Model

DBRX Instruct

Mixtral Instruct

GPT-3.5 Turbo (API)

GPT-4 Turbo (API)

Answer in Beginning Third of Context

45.1%

41.3%

37.3%*

49.3%

Answer in Middle Third of Context

45.3%

42.7%

37.3%*

49.0%

Answer in Last Third of Context

48.0%

44.4%

37.0%*

50.9%

2K Context

59.1%

64.6%

36.3%

69.3%

4K Context

65.1%

59.9%

35.9%

63.5%

8K Context

59.5%

55.3%

45.0%

61.5%

16K Context

27.0%

20.1%

31.7%

26.0%

32K Context

19.9%

14.0%

28.5%

表4.模型在给定来自使用bge-large-en-v1.5的维基百科语料库中的前10个段落时的性能。 精度是通过与模型答案匹配来衡量。 粗体是最高分。 下划线是除了GPT-4 Turbo之外的最高分。

Model

DBRX Instruct

Mixtral Instruct

LLaMa2-70B Chat

GPT 3.5 Turbo (API)

GPT 4 Turbo (API)

Natural Questions

60.0%

59.1%

56.5%

57.7%

63.9%

HotPotQA

55.0%

54.2%

54.7%

53.0%

62.9%

表5.我们用来验证DBRX MoE架构和端到端训练流程的训练效率的几个测试文章的详细信息

Model

Total Params

Active Params

Gauntlet Score

Relative FLOPs

DBRX MoE-A

7.7B

2.2B

30.5%

1x

MPT-7B (1T tokens)

6.7B

30.9%

3.7x

DBRX Dense-A (1T tokens)

6.7B

39.0%

3.7x

DBRX Dense-A (500B tokens)

6.7B

32.1%

1.85x

DBRX MoE-B

23.5B

6.6B

45.5%

1x

LLaMA2-13B

13.0B

43.8%

1.7x

图2显示了使用NVIDIA TensorRT-LLM和我们的优化服务基础设施以及16位精度为DBRX和类似模型提供端到端推理效率。 我们的目标是使此基准尽可能地反映现实世界的使用情况,包括多个用户同时击中相同的推理服务器。 我们每秒生成一个新用户,每个用户请求包含大约2000个标记提示,并且每个响应包含256个标记。

3、模型特点

使用细粒度MoE结构,训练和推理效率比 Dense 模型高2-3倍

相对于同类型模型参数数量下,DBRX推理吞吐更高

预训练数据和训练方法得到优化,使效率提升近4倍

DBRX的安装和使用方法

可以从Databricks Marketplace下载DBRX模型,并在Databricks Model Serving平台上部署使用。也可以通过Databricks提供的基金会模型API在线查询模型。对于生产场景,Databricks提供了吞吐保证版本。

DBRX基础模型(DBRX Base)和微调模型(DBRX Instruct)的权重可在Hugging Face上以开放许可证获取。从今天开始,DBRX可供Databricks的客户通过API使用,Databricks的客户可以从头开始预训练自己的DBRX类模型,或者使用我们用于构建它的相同工具和科学在我们的检查点之一上继续训练。DBRX已经被集成到我们的GenAI驱动产品中,其中-在诸如SQL之类的应用程序中-早期的推出已经超越了GPT-3.5 Turbo,并且正在挑战GPT-4 Turbo。它还是RAG任务中开放模型和GPT-3.5 Turbo的领先模型之一。

DBRX是由Databricks训练的大型语言模型,并在开放许可下提供。该存储库包含了运行推理所需的最小代码和示例,以及一系列用于使用DBRX的资源和链接。

HuggingFace:https://huggingface.co/collections/databricks/

LLM Foundry:https://github.com/mosaicml/llm-foundry 在modeling_dbrx.py中可以找到参考模型代码。

注意:此模型代码仅供参考,请参阅HuggingFace存储库获取官方支持的版本。

1、下载权重

该模型使用我们的开源库Composer、LLM Foundry、MegaBlocks和Streaming的优化版本进行训练。

对于instruct模型,我们使用了ChatML格式。有关此信息,请参阅DBRX Instruct模型卡。

2、快速开始

T1、直接运行

要下载权重和分词器,请首先访问DBRX HuggingFace页面并接受许可。注意:访问基础模型需要手动批准。建议至少拥有320GB的内存来运行模型。

pip install -r requirements.txt # Or requirements-gpu.txt to use flash attention on GPU(s)
huggingface-cli login           # Add your Hugging Face token in order to access the model
python generate.py              # See generate.py to change the prompt and other settings

T2、采用LLM Foundry

对于更高级的用法,请参阅LLM Foundry(聊天脚本、批量生成脚本)

地址:llm-foundry/scripts/inference/hf_chat.py at main · mosaicml/llm-foundry · GitHub

T3、Docker镜像

如果您遇到任何软件包安装问题,我们建议使用我们的Docker镜像:mosaicml/llm-foundry:2.2.1_cu121_flash2-latest

3、推理

DBRX可以使用TensorRT-LLM和vLLM来运行优化推理。我们已在NVIDIA A100和H100系统上测试了这两个库。要使用16位精度运行推理,需要至少4 x 80GB多GPU系统。

T1、TensorRT-LLM

DBRX支持正在添加到TensorRT-LLM库:待处理的PR

合并后,构建和运行DBRX TensorRT引擎的说明将在README中找到。

T2、vLLM

有关如何使用vLLM引擎运行DBRX的说明,请参阅vLLM文档。

地址:Welcome to vLLM! — vLLM

4、微调

在我们的开源库LLM Foundry中可以找到微调DBRX的示例脚本

地址:https://www.github.com/mosaicml/llm-foundry

DBRX的案例应用

DBRX已广泛应用于Databricks提供的人工智能产品中,例如SQL引擎等就优于GPT-3.5。客户也可以基于DBRX进行各种领域下的应用,如内部功能开发或自研大模型等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589207.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3的mars3d点击右键出现置顶、向下、向上等选项

效果图 下载插件 imengyu/vue3-context-menu npm i imengyu/vue3-context-menu在要使用的页面中引入一下代码 import "imengyu/vue3-context-menu/lib/vue3-context-menu.css"; import ContextMenu from "imengyu/vue3-context-menu";如果是使用在树的…

课程设计项目2.2:心电信号中的QRS波监测

01.课程设计的主要内容 02.代码效果图 1.差分阈值法进行QRS波检测 2.QRS复波检测算法 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复:MATLAB课程设计本公众号致力于解决找代码难,写代码怵。各位…

填谷式无源PFC电路

目录: 1、概述 2、原理 1、概述 如果不采用PFC,那么典型开关模式电源的功率因数约为0.6,因而会有相当大的奇次谐波失真(第三谐波有时和基本谐波一样大)。令功率因数小于1以及来自峰值负载的谐波减少了运行设备可用的实际功率。为运行这些低…

SRC实战-cookie注入漏洞

谷歌语法-信息收集 1.查找带有ID传参的网站(可以查找sql注入漏洞) inurl:asp idxx 2.查找网站后台(多数有登陆框,可以查找弱口令,暴力破解等漏洞) site:http://xxxx.com “admin” site:http://xx.com int…

Nativefier - 将网页变为软件

Nativefier 是一款命令行工具,可以轻松地为任何网站创建 "桌面应用程序",而无需大费周章。应用程序由 Electron(内核使用 Chromium)封装成操作系统可执行文件(.app、.exe 等),可在 Wi…

同步检查继电器 JT-1/200 100V 面板嵌入式安装,板后接线

系列型号 JT-1同步检查继电器; DT-1同步检查继电器; JT-3同步检查继电器; DT-3同步检查继电器; 一、应用范围 JT(DT)系列同步检查继电器用于两端供电线路的自动重合闸线路中,以检查线路上电压的存在及线路上和变电站汇…

HTTP/1.1、HTTP/2、HTTP/3 演变(计算机网络)

HTTP/1.1 相比 HTTP/1.0 提高了什么性能? HTTP/1.1 相比 HTTP/1.0 性能上的改进: 使用长连接改善了短连接造成的性能开销。支持管道网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去&#xff0c…

使用 LLMLingua-2 压缩 GPT-4 和 Claude 提示

原文地址:Compress GPT-4 and Claude prompts with LLMLingua-2 2024 年 4 月 1 日 向大型语言模型(LLM)发送的提示长度越短,推理速度就会越快,成本也会越低。因此,提示压缩已经成为LLM研究的热门领域。 …

文献速递:深度学习胰腺癌诊断--螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变麦田医学

Title 题目 Combined Spiral Transformation and Model-Driven Multi-Modal Deep Learning Scheme for Automatic Prediction of TP53 Mutation in Pancreatic Cancer 螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变 01 文献速递介…

【Springboot整合系列】SpringBoot整合WebService

目录 Web服务介绍Web服务的两种类型Web服务架构Web服务的主要特点Web服务使用场景Web服务标准和技术 WebService介绍WebService的作用适用场景不适用场景 WebService的原理三个角色相关概念 WebService开发框架代码实现服务端1.引入依赖2.实体类3.业务层接口接口实现类 4.配置类…

Savitzky-Golay 滤波与Kalman滤波对比

分别使用SG滤波和Kalman滤波对比了平滑RTK解算的1s基线变化高斯坐标系XYH如下图: 从红框可以看出,SG滤波一定程度反应了波动情况,kalman滤波没有反映出来(PS:当然也可能和我设置参数有关,大家可以尝试&…

换到idf 5.0版本后报错 jsmn could not be found

原因: idf5.0去掉了部分组件,包括jsmn,工程中adf又用到了这个组件,所以会报错。 解决办法: 升级adf到新版本即可。