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进行各种领域下的应用,如内部功能开发或自研大模型等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Pixelmator Pro:专业级图像编辑,触手可及mac/win版

Pixelmator Pro是一款功能强大的图像编辑软件,专为Mac操作系统设计。它拥有直观的界面和丰富的工具,能够满足用户各种图像处理需求。 Pixelmator Pro软件获取 首先,Pixelmator Pro支持多种文件格式,包括JPEG、PNG、GIF、BMP、TIF…

投稿指南【NO.12_9】【极易投中】核心期刊投稿(现代电子技术)

近期有不少同学咨询投稿期刊的问题,大部分院校的研究生都有发学术论文的要求,少部分要求高的甚至需要SCI或者多篇核心期刊论文才可以毕业,但是核心期刊要求论文质量高且审稿周期长,所以本博客梳理一些计算机特别是人工智能相关的期…

算法第三十八天-故障键盘

故障键盘 题目要求 解题思路 提示:把反转看成是往字符串的头部添加字符。 具体来说: 如果当前处于「往字符串尾部添加字符」的状态,那么遇到 i 后,改成「往字符串头部添加字符」的状态。 如果当前处于「往字符串头部添加字符」…

基于8086贪吃蛇游戏系统方恨设计

**单片机设计介绍,基于8086贪吃蛇游戏系统方恨设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086的贪吃蛇游戏系统设计是一个结合了微处理器控制、游戏逻辑以及图形显示技术的综合性项目。该系统旨在通过8086微处理器…

n2.堆栈

1.堆栈的介绍 表达式求值 因为不同的符号优先级不同,所以计算起来相对困难一些 后缀表达式 这里后缀表达式就用到了堆栈。它先从左向右进行扫描,碰到运算数就记住,碰到运算符就将离着这个运算符最近的两个运算数进行运算… 堆栈是一种储存方…

六、从零实战企业级K8S本地部署ThingsBoard专业版集群

1、从 docker hub 拉取 ThingsBoard PE 映像(所有节点) 1.1、查看k8s信息(主节点) kubectl cluster-info #查看k8s集群信息 kubectl get node #查看节点信息 kubectl get pod -A #查看内部组件1.2、从 d…

Docker:探索容器化技术,重塑云计算时代应用交付与管理

一,引言 在云计算时代,随着开发者逐步将应用迁移至云端以减轻硬件管理负担,软件配置与环境一致性问题日益凸显。Docker的横空出世,恰好为软件开发者带来了全新的解决方案,它革新了软件的打包、分发和管理方式&#xff…

【C++第二阶段】继承多态电脑组装实例

你好你好! 以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 继承继承语法继承方式继承中的对象模型继承中构造和析构顺序同名成员处理同名静态成员处理多继承语法菱形继承问题 多态多态基本概念重写&重载 多态原理多…

中仕公考:不同省事业编考试内容一样吗?

在各省份的事业单位公开招聘过程中,考试内容是不一样的。虽然每一年都有很多省份参加事业编联考,且这些联考的考试日期相同,但是考试内容并不一样。各省将依据当地的特定情况来设计考试题目,其中会涉及到与本省的地理、经济、文化…

文章分享:《呼吸道传染病标本采集及检测专家共识》

【摘要】呼吸道传染病临床特点多表现为发热和(或)呼吸道症状,病原学组成复杂,标本类型选择多样,如何从发热伴呼吸道症候群患者中早期正确识别出潜在呼吸道传染病患者是防控的关键环节。增强医务人员对呼吸道传染病临床…

【现代C++】Lambda表达式

在现代C中,Lambda表达式提供了定义匿名函数对象的能力,这在很多场合,如STL算法、线程构造函数、事件处理等,都非常有用。Lambda表达式使得函数定义更加灵活和简洁。 1. 基本语法 Lambda表达式的基本形式包括一个捕获列表、参数列…

【微信小程序】流量主-激励视频(激励广告)下发策略,每天三次免费体验,然后再次点击触发激励视频,当日不再触发。

如题: 允许用户有三次体验效果,然后弹出激励视频弹窗,之后当日不再弹出。 体验小程序: /*** 判断当前项目当天是否点击超过3次,触发广告效果。* 若,当天低于三次,则新增,若高于…

未来电商怎么走,是腾讯视频号,还是抖音小店?你更看好谁?

大家好,我是电商花花。 现在想做一些项目,做些生意基本上就离不开电商,网络这么发达,直播短视频这么火,未来的发展依然是直播电商。 现在线下很多实体店都被电商所冲击,而且不少实体店也都在网上开店卖货…

Spring 整合 Log4j2日志框架

1. Log4j2日志概述 在项目开发中,日志十分的重要,不管是记录运行情况还是定位线上问题,都离不开对日志的分析。日志记录了系统行为的时间、地点、状态等相关信息,能够帮助我们了解并监控系统状态,在发生错误或者接近某…

【面试HOT200】数组篇

系列综述: 💞目的:本系列是个人整理为了秋招面试coding部分的,整理期间苛求每个算法题目,平衡可读性与代码性能(leetcode运行复杂度均打败80%以上)。 🥰来源:材料主要源于…

linux删除 buff/cache缓存

1.查看当前内存占用 free -h如图,缓存占用了将近9G,接下来进行清理 释放页缓存 echo 1 > /proc/sys/vm/drop_caches释放dentries和inodes echo 2 > /proc/sys/vm/drop_caches释放所有缓存 echo 3 > /proc/sys/vm/drop_caches再次查看&#…

MQ

目录 MQ优点 异步 解耦 削峰填谷 mq的缺点 MQ常见的几种模式 Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别 MQ优点 mq是一种常见的中间件,在项目中经常用到,它具有异步、解耦、削峰填谷的作用。 异步 比如下单流程,A服务—>B服务&a…

为什么称FreeRTOS为轻量级OS,和Linux相比,有哪些具体的区别?

要理解它们,就要看这些最终的概念是怎么来的,其实这些都是在不同资源(硬件)上处理不同场景问题所得的结果。 FreeRTOS一般跑在几十Mhz,几十KB的硬件上,比如Cortex-M系列MCU上,资源很有限&#…

论文精读--GPT4

现有的所有模型都无法做到在线学习,能力有限,而让大模型拥有一个tools工具库,则可以使大模型变成一个交互式的工具去协调调用API完成任务,同时GPT4还联网了,可以不断地更新自己的知识库 多模态模型,接受文…

面经分享(Flask,轻量级Web框架)

1. Flask的核心特点 a. 轻量级:核心简洁,只提供了基本的功能,其他高级功能可以通过插件或扩展来添加。 b. 灵活性:允许开发者选择适合自己项目的组件和工具,没有强制的项目结构和设计模式。 c. 易于扩展:提…