读《Mixtral of Experts》

摘要

稀疏混合专家(SMoE) 语言模型Mixtral 8x7B(那大概可以理解成他是一个缝合怪,把所有的任务模型缝合到一起,然后有一个类似打分投票的路由机制来针对输入问题选择任务子模型从而得到针对性的结果。)。Mixtral具有与Mistral 7B相同的架构,不同之处在于每层由8个前馈块(即专家)组成。对于每一个令牌,在每一层,路由器网络都会选择两名专家来处理当前状态并组合他们的输出。尽管每个令牌只能看到两个专家,但在每个时间步长选择的专家可能不同。结果,每个令牌都可以访问47B参数,但在推理期间仅使用13B活动参数。Mixtral是用32k个令牌的上下文大小进行训练的,在所有评估的基准中,它都优于或匹配Llama 2 70B和GPT-3.5。特别是,Mixtral在数学、代码生成和多语言基准测试方面大大优于Llama 2 70B。我们还提供了一个根据说明进行微调的模型,Mixtral 8x7B–Instruction,它在人类基准测试上超过了GPT-3.5 Turbo、Claude-2.1、Gemini Pro和Llama 2 70B–聊天模型。基本模型和指令模型都是在Apache 2.0许可证下发布的。

引言

由于Mixtral只对每个令牌使用其参数的子集,因此在低批量时可以实现更快的推理速度,在大批量时可以获得更高的吞吐量。Mixtral是一个稀疏的专家混合网络。它是一个仅解码器的模型(那就意味着它更多地在意输出,所以和bert是相反的极端,bert更侧重于完型理解,Mixtral侧重于生成),其中前馈块从一组8个不同的参数中选取。在每一层,对于每一个令牌,路由器网络选择其中两个组(“专家”)来处理令牌,并将其输出相加。这项技术增加了模型的参数数量,同时控制了成本和延迟,因为模型每个令牌只使用总参数集的一小部分。

使用32k令牌的上下文大小使用多语言数据进行预训练的

混合专家层。每个输入矢量由路由器分配给8个专家中的2个。该层的输出是两个选定专家的输出的加权和。在Mixtral中,专家是一个标准的前馈块,就像在vanilla transformer架构中一样。
在这里插入图片描述

Mixtral在数学、代码生成和需要多语言理解的任务方面表现出卓越的能力,在这些领域显著优于Llama 2 70B。实验表明,无论序列长度和信息在序列中的位置如何,Mixtral都能够成功地从其32k个令牌的上下文窗口中检索信息。我们还介绍了Mixtral 8x7B–Instruction,这是一种使用监督微调和直接偏好优化进行微调以遵循指令的聊天模型[25]。在人类评估基准上,它的性能显著超过了GPT-3.5 Turbo、Claude-2.1、Gemini Pro和Llama 2 70B聊天模型。Mixtral–Instruction还展示了减少的偏见,以及在BBQ和BOLD等基准中更平衡的情绪。

那总结一下就是:
总参数可以增多,因为实际每token利用参数少,节省复杂度成本
在数学、代码生成和多语言领域出色
Mixtral 8x7B–Instruction聊天更客观沉稳

架构细节

提到专家层的稀疏性,我的理解是这个专家门控遇到稀疏的张量会使得大部分的专家权重为0,从而避免计算这些多余的内容,从而达到门控、路由等等达到有选择有针对的效果。

至于这个专家权重的得到,

  1. 输入x会与门控网络的权重Wg相乘,得到logits。
  2. Top-K 操作会从这些 logits 中选择 K 个最大的值。这意味着只有部分专家(即得分最高的 K 个)会被选中来处理当前的 token(也就是x)
  3. 然后通过 Softmax函数将这些 Top-K 的 logits 转化为概率分布,即权重 G(x)。
  4. 接下来,模型计算每个专家网络 Ei(x)的输出,并将这些输出乘以对应的权重 G(x)i。由于大多数权重为零(即那些没有被选中的专家),模型实际上不会计算这些专家的输出,从而节省了计算资源。(所以实际利用的参数量只和k有关)
  5. 最后,模型将所有被选中的专家的加权输出相加,形成最终的输出

可以单/多GPU处理,但是多GPU分布式时需要注意均匀分配工作负载

对于Transformer结构来说,不论是在自然语言处理(NLP)还是计算机视觉(CV)领域,它都是以一次处理整个序列的方式运行的。即使是在处理图像的时候,所有的patches(tokens)也是作为序列的一部分一起处理的。
当论文中提到“MoE layer is applied independently per token”时,并不是指物理上独立地单个处理每个token。而是指在计算过程中,每个token都会通过MoE层,并且每个token都可以独立地选择它的“专家”或参数集合。这个过程在模型的内部是并行化的,并且是由深度学习框架在后台处理的。模型并不是逐个序列化地处理每个token,而是在整个批次的tokens上并行地应用MoE层。
所以,虽然处理是“独立”于每个token的,但这并不意味着在硬件上每个token是单独处理的。在硬件上,这些操作仍然是在一个批次的数据上高度并行化的,以利用现代GPU的并行处理能力。这样的设计旨在保持Transformer模型在处理大规模数据时的高效率,同时通过MoE层引入更多的模型容量和灵活性。

结果

与llama打擂台
•常识推理(0-shot): Hellaswag [32], Winogrande [26], PIQA [3], SIQA [27], OpenbookQA [22], ARC-Easy, ARC-Challenge [8], CommonsenseQA[30]
•世界知识(5-shot): NaturalQuestions [20], TriviaQA[19]
•阅读理解(0-shot): BoolQ [7], QuAC[5]
•数学:GSM8K [9] (8-shot) with maj@8和Math [17] (4-shot) with maj@4
•代码:Humaneval [4] (0-shot)和MBPP [1] (3-shot)
•大众综合结果:MMLU16、BBH29和AGI Eval34

路由分析

专家模型的选择并没有显示出强烈的针对特定领域问题的倾向性。这意味着专家子模型并不是专门为解决某个特定领域的问题而训练的。专家并没有在某个具体问题上表现出专业化的行为,所以它们不太可能被单独摘出来单独作为针对特定问题的模型。

这样的结果可能意味着Mixtral模型的路由器在分配任务给专家时,侧重于更细粒度的特征而非整体的领域或主题。

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

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

相关文章

PHP短链接url还原成长链接

在开发过程中,碰到了需要校验用户回填的短链接是不是系统所需要的,于是就需要还原找出短链接所对应的长链接。 长链接转短链接 在百度上搜索程序员,跳转页面后的url就是一个长链接。当然你可以从任何地方复制一个长链接过来。 长链接 http…

高效降压控制器FP7132XR:为高亮度LED提供稳定可靠的电源

目录 一. FP7132概述 二. 驱动电路:FP7132 三. FP7132应用 高亮度LED作为新一代照明技术的代表,已经广泛应用于各种领域。然而,高亮度LED的工作电压较低,需要一个高效降压控制器来为其提供稳定可靠的电源。在众多降压控制器…

ubuntu20.04 扩大交换空间swap

检查当前swap情况 free -msudo swapon --show关闭现有的swap sudo swapoff -a创建一个新的swap文件 sudo fallocate -l 32G /swapfile设定正确的权限 sudo chmod 600 /swapfile下面这个指令会把我们的空间变成可用的swap空间 sudo mkswap /swapfile启用swap文件 sudo swa…

电源模块常见温升测试方法分享 -纳米软件

温升测试是电器产品安规测试项目之一,是为了检测电器产品及部件的温度变化情况,判断是否符合要求。在设备运行过程中会释放一定的热量,如果内部温度过高会影响产品的性能和稳定性,导致绝缘性能下降,因此温升测试是确保…

【LangChain学习之旅】—(4) 模型I/O:输入提示、调用模型、解析输出

【LangChain学习之旅】—(4) 模型I/O:输入提示、调用模型、解析输出 Model I/OLangChain 中提示模板的构建语言模型为什么选择langchain输出解析总结 Reference:LangChain 实战课 Model I/O 我们可以把对模型的使用过程拆解成三块…

iPad Pro如何使用SSH远程连接服务器云端编程开发【内网穿透】

文章目录 1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 …

GSEQ行为序列分析软件学习汇总

0、问题描述: 1、GSEQ软件是做什么的?2、GSEQ软件如何使用?2、GSEQ软件前期需要在“记事本”中编写“程式码”需要将所有行为数据编码之后,将编码行为序列粘贴到GSEQ软件中去,如果数据量很大,这个过程就非…

基于ssm物流配送人员车辆调度管理系统的设计与实现+vue论文

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统物流配送人员车辆调度信息管理难度大,容错率低…

华为端口安全常用3种方法配置案例

安全动态mac地址学习功能 [Huawei]int g0/0/01 interface GigabitEthernet0/0/1 port-security enable //开启安全 port-security max-mac-num 2 //最多为2个mac地址学习 port-security protect-action restrict //丢包带警告 port-security aging-time 1 //mac地址的老化时间…

OpenAI 正式上线 GPT 商店

ChatGPT 商店上线,OpenAI 正式推出 GPT Store 北京时间 1 月 11 日,在经历了一个月的推迟后,OpenAI 在周三正式推出了 GPT Store。借助这一在线商店,OpenAI 用户可以分享定制版 ChatGPT 聊天机器人。 OpenAI 称,GPT …

uniapp回到上一页

回到上一页代码uniapp中代码 <template><view class"my_footer"><view class"m_goBack" click.stop"handlergoBack()"></view><view class"m_index" click.stop"handlergoIndex()"></v…

微信小程序的生命周期函数有哪些?

面试官&#xff1a;说说微信小程序的生命周期函数有哪些&#xff1f; 一、是什么 跟vue、react框架一样&#xff0c;微信小程序框架也存在生命周期&#xff0c;实质也是一堆会在特定时期执行的函数 小程序中&#xff0c;生命周期主要分成了三部分&#xff1a; 应用的生命周期…

如何在IntelliJ IDEA中配置SSH服务器开发环境并实现固定地址远程连接

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境&#xff0c;并结合Cpolar内网穿透工具实现无公网远程连接&#xf…

C++_vector类

目录 一、vector的模拟实现 1、vector的组成结构 2、vector尾插数据 2.1 析构函数 3、迭代器实现 4、resize 5、删除数据 5.1 迭代器失效 6、指定位置插入数据 6.1 迭代器失效 7、迭代器构造和resize构造 8、深浅拷贝 结语&#xff1a; 前言&#xff1a; vect…

计算机二级WPS Office考试须知、如何备考、备考建议

本文从计算机二级考试须知、如何备考、备考建议以及考试的注意事项等方面进行讲述&#xff0c;认认真真看&#xff0c;对你受益匪浅。 一、计算机二级考试须知 2021年3月27日至29日将举办第60次全国计算机等级考试&#xff08;NCRE&#xff09;&#xff0c;从今年起&#xff0…

加速你的数据库:公司中SQL优化的八大绝招

前言 SQL优化这个问题也是老生常谈了&#xff0c;很多都还是在八股文中了解到&#xff0c;那么公司里的SQL都是咋优化的呢&#xff1f;和八股文一样吗&#xff1f;下面&#xff0c;我将与大家分享我在公司里学到的SQL优化知识。SQL优化是提高数据库性能和减少资源消耗的重要一环…

设计模式之空对象模式

目录 1.简介 2.结构图 3.实例 4.优缺点 1.简介 空对象模式也是我们平时编程用的比较多的一种行为型设计模式&#xff0c;它的宗旨在解决空对象引起的异常报错问题&#xff1b;在空对象模式&#xff08;Null Object Pattern&#xff09;中&#xff0c;一个空对象取代 NULL 对…

【一文详解】知识分享:(MySQL关系型数据库快速入门)

mysql基础 数据类型 整型 类型名称取值范围大小TINYINT-128〜1271个字节SMALLINT-32768〜327672个宇节MEDIUMINT-8388608〜83886073个字节INT (INTEGHR)-2147483648〜21474836474个字节BIGINT-9223372036854775808〜92233720368547758078个字节 注: 无符号在数据类型后加 un…

免费申请SSL证书

首先&#xff0c;让我们了解一下SSL证书的作用。SSL&#xff08;Secure Sockets Layer&#xff09;证书是一种数字证书&#xff0c;它可以加密网站与用户之间的通信数据&#xff0c;防止信息在传输过程中被窃取或篡改&#xff0c;同时也可以验证网站的真实身份&#xff0c;避免…

electron+vue编辑Office Word?

Electron 桌面应用是基于 Chromium 内核的&#xff0c;而谷歌Chrome取消了对PPAPI插件支持后&#xff0c;在线Office方案纷纷失效&#xff0c;只能更换国产浏览器在低版本浏览器苟延残喘&#xff0c;不能用于electronvue项目。 经过小编不断的寻找&#xff0c;终于找到一款至今…