1320亿参数,性能超LLaMA2、Grok-1!开源大模型DBRX

2024-03-28 17:20

本文主要是介绍1320亿参数,性能超LLaMA2、Grok-1!开源大模型DBRX,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3月28日,著名数据和AI平台Databricks在官网正式开源大模型——DBRX。

DBRX是一个专家混合模型(MoE)有1320亿参数,能生成文本/代码、数学推理等,有基础和微调两种模型。

根据DBRX在MMLU、HumanEval和 GSM8K公布的测试数据显示,不仅性能超过了LLaMA2-70B和马斯克最近开源的Grok-1,推理效率比LLaMA2-70B快2倍,总参数却只有Grok-1的三分之一,是一款功能强算力消耗低的大模型。

基础模型:https://huggingface.co/databricks/dbrx-base

微调模型:https://huggingface.co/databricks/dbrx-instruct

Github:https://github.com/databricks/dbrx

在线demo:https://huggingface.co/spaces/databricks/dbrx-instruct

图片

Databricks作为数据管理领域的超级独角兽,为了抓住生成式AI的风口,2023年6月26日曾以13亿美元的天价,收购了大模型开源平台MosaicML

MosaicML曾在2023年5月5日发布了类ChatGPT开源大语言模型MPT-7B。(开源地址:https://huggingface.co/mosaicml/mpt-7b)该项目具备可商业化、高性能、算力消耗低、1T训练数据等技术优势。

MPT-7B只进行了大约10天的训练,零人工干预,训练成本仅用了20万美元。性能却打败了LLaMA-7B、StablelM-7B 、Cerebras-13B等当时知名开源模型。

图片

截至目前,MPT-7B的下载量已超过300万次,而Databricks此次发布的DBRX在MPT-7B基础之上进行了大幅度优化并且将算力需求降低了4倍。

DBRX简单介绍

DBRX是一款基于Transformer的MoE架构大模型,1320亿参数中的360亿参数处于长期激活状态。

这与其它开源的MoE类型模型如Mixtral、Grok-1相比,DBRX使用了数量更多的小专家模型。DBRX有16个专家并选择4个,而Mixtral和Grok-1有8个专家并选择了2个

DBRX使用了12T的文本和代码数据(支持中文),支持 32k上下文窗口,并在3072 个 英伟达的 H100 上进行了3个月的预训练。

DBRX除了与开源模型进行了对比之外,还与OpenAI的GPT系列、谷歌的Gemini以及Anthropic最新发布的Claude 3系列进行了同台竞技。

图片

MMLU、HellaSwag、WinoGrande、HumanEval等综合测试结果显示,DBRX推理、数学解答、语言理解、代码等能力超过了GPT-3.5,性能与谷歌的Gemini 1.0 Pro 性能差不多。

什么是专家混合模型

MoE模型全称为Mixture of Experts,其核心原理是将一个庞大的神经网络分解为多个相对独立的小型子网络(即专家),每个专家负责处理输入数据的某些方面。

这种架构设计使得MoE模型能够高效利用计算资源,避免对所有参数进行无谓的计算。主要包括门控制机制、专家网络和聚合器三大模块

图片

门控机制:这是MoE模型的核心模块,负责决定每个输入应该由哪个或哪几个专家处理。

门控机制会根据输入数据的特征分配权重给不同的专家,这个过程是动态的,意味着不同的输入会根据其内容被分配给最合适的专家处理。例如,Grok-1模型中只有大约25%的参数被实际使用或“激活”。

专家网络:这些是模型中的子网络,每个都有自己特定的参数配置。在传统的MoE模型中,这些专家网络可以是结构相同但参数不同的多个神经网络。每个网络都专注于模型任务的一个方面或输入数据的一个子集。

聚合器:一旦各个专家给出了自己对于输入的处理结果,聚合器则负责将这些结果综合起来,形成最终的输出。聚合的方式可以是简单的加权和、投票机制或者更复杂的融合策略。

MoE是开发、训练超过千亿参数大模型常用的架构,例如,GPT-4、Palm 2等著名大模型使用的都是该架构。

关于Databricks

Databricks创立于2013年,总部位于美国旧金山,在全球多个国家、地区设有办事处。其企业客户超过10000家,包括众多财富500强企业。

Databricks主要提数据智能分析服务,帮助企业、个人用户快速挖掘数据的商业价值。

本文素材来源Databricks官网,如有侵权请联系删除

END

图片

图片

这篇关于1320亿参数,性能超LLaMA2、Grok-1!开源大模型DBRX的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/856225

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应