自然语言处理: 第二十六章大模型基底之Mistral 8x7B

文章地址: 2401.04088.pdf (arxiv.org)

项目地址: mistralai/mistral-src: Reference implementation of Mistral AI 7B v0.1 model

前言:

本文意在一文深度剖析Mistral 8X7B的关键改进点。



Mistral AI是一个由DeepMind和Meta的三位前员工在巴黎共同创立的AI公司。其在23年9.月推出的第一个基座大模型Mistral 7B一经推出就吊打当时同参数量的任何开源7B模型,甚至在当时所有评估基准中均胜过了最好的13B参数模型-Llama 2 - 13B,并在推理、数学和代码生成方面超越了Llama 34B。更令人激动人心的是,同年12月份Mistral AI 就迅速推出了混合专家模型Mistral 8x7b (一直有传言GPT4也是8个专家模型组合,Mistral8x7b模型的推出提供了一种接近GPT-4性能的可能),其在所有评估的基准测试中胜过或与Llama 2 70B和GPT-3.5相当。除此之外 ,今年2月,Mistral 又继续推出了他们家Mistral - large - 2402 ,性能如图1.可以看到其能力已经十分逼近GPT-4 且已经超过GPT-3.5和其他同等模型了。但是由于其具体的技术论文还暂未公布,所以就不作为本文的重点了。

在这里插入图片描述




性能对比

在这里插入图片描述

上是Mixtral-8x7B的参数表,对比图2的Mistral 7B的参数,可以发现多了两个参数num_experts以及top_k_experts。这也从而揭开了Mixtral-8x7B的神秘面纱,其核心就是将8个Mistral 7B组合而成一个MoE专家网络(misture of experts),针对不同的任务或者说每个token通过一个路由器router去选择最合适的2个专家去解决不同的任务。有关于MOE网络的细节我会在下文详细介绍。

在这里插入图片描述

作者将Mixtral-8x7B与 Llama 2 系列和 GPT-3.5 基础模型进行比较。Mixtral 在大多数基准测试中均匹配或优于 Llama 2-70B 以及 GPT-3.5。



MOE架构

MoE(Mixture-of-Experts) 最早在1991年就已经被Michael Jordan 和 Geoffrey Hinton两位大神在Adaptive mixtures of local experts一文中提出 , 其核心就是一个网络模型结构有多条分支,每条分支代表一个Expert(专家),每个Expert都有其擅长的领域,当具体任务来临时,可以通过一个门空位Gate或者路由router来具体选择采用哪一个或者哪几个Experts进行计算,这样的好处就是让每个Expert更专注特定领域,降低了不同领域数据对权重学习的干扰。有没有点集成学习的影子,将多个模型的的输出加权叠加就从而获得最后的输出。

在这里插入图片描述


不同于LLaMA中的transformer架构,Mixtral-8x7B中架构如上图所示,其直接将FFN架构替换成MOEFFN架构。经过Normlayer的tensor通过一个Gate或者router(其实就是一个linear层)去决定这8个专家的权重,为了节约计算资源我们可以主动的添加权重的稀疏性,简单来说就是将一些小权重的专家g≈0就不需要计算其输出了,只需要计算权重大的几个专家

比如说作者采用了通过对线性层的Top-K (Mixtral-8x7B中k=2)logits进行softmax,如果使用较低的k值(比如一到两个),我们可以比激活许多专家时更快地进行训练和推理。为什么不只选择最顶尖的专家呢?最初的假设是,为了让门控学习如何路由到不同的专家,需要路由到一个以上的专家,因此至少需要选择两个专家。最后将输出与权重相乘后再相加后得到最后的MOEFNN的输出y。其公式为:

在这里插入图片描述

不仅仅如此,因为在标准的多专家系统训练中,门控网络倾向于主要激活相同的几位专家。这会形成自我加强的循环,因为得到优先训练的专家会被更频繁地选择。Shazeer为了避免上述MOE架构在训练的过程中有偏好的只选择极少数性能强大的专家,从而导致的训练效率低下的问题,引入了一种辅助损失来鼓励平等对待所有专家。这种损失确保所有专家获得大致相同数量的训练样本。噪声具体公式如下:

在这里插入图片描述

另外,还有一个点需要注意的是: 虽然Mixtral-8x7B 是一个由8位7B模型组成的专家网络,但是其参数不是8 * 7 = 56 B 而是 46.7B . 这是因为每个层中,仅仅只有MOE FNN是独立曾在的,其余部分比如说attention 则是各个专家共享的。所以参数大小只有46B而不是56B。



总结:

本篇文章主要介绍了MistralAI公司前期推出的两个基座大模型分别是:Mistral-7B以及Mistral-8x7B。其中Mistral-7B以LLaMA2为对标产品,在其基础之上加上了SWA(滑动窗口注意力)机制,从而在性能上与LLaMA2-13B不相上下。

除此之外,Mistral-8x7B作为首个开源性能可以与GPT-3.5以及LLaMA2-70B性能比肩的MoE模型,其已经发布就震惊四座,并且也为GPT-4是MoE架构的传言做了一笔”辅证”。
截至到笔者写这篇文章,MistralAI又继续推出了Mistral-Large-2402开源版本,更是逼近GPT-4。

最后,希望上述内容梳理能给深入浅出带领大家理解这两个大模型,同时也期待MistralAI能带来更好的开源大模型。

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

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

相关文章

tsconfig.json文件常用配置

最近在学ts,因为tsconfig的配置实在太多啦,所以写此文章用作记录,也作分享 作用? tsconfig.jsono是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译 初始化一个tsconfig文件 tsc -init配置参数解释 …

股票开户佣金最低多少?万一!A股开户多少钱合适?

开户佣金 通常情况下,股票开户佣金只要在达成交易的前提才收手续的费用,即买入和卖出的时候。目前,国规定收取最高佣金的比例为千分之三。 也就是说,最高为成交金额的3%,一般都会小于这个比例。最低交易佣金是5元起&a…

mac中的VirtualBox不能分配USB设备到虚拟电脑

mac中的VirtualBox不能分配USB设备到虚拟电脑 检查工具-> 扩展包是否安装 Oracle_VM_VirtualBox_Extension_Pack-7.0.14.vbox-extpack检查usb设备是否打开 检查权限 允许VirtualBox访问:在“安全性与隐私”窗口中,选择“隐私”标签。 在左侧的列表中…

微信过期文件怎么恢复?四个高招助你轻松解决(2024新版)

“微信的文件未下载的情况下过期了,平时微信也没有登录在电脑上,之前也没有进行过数据备份,如何找回这个文件啊!!感谢回答!” “急求,当时忘记点击下载,现在急用微信文件下载不了&a…

Go gin框架(详细版)

目录 0. 为什么会有Go 1. 环境搭建 2. 单-请求&&返回-样例 3. RESTful API 3.1 首先什么是RESTful API 3.2 Gin框架支持RESTful API的开发 4. 返回前端代码 go.main index.html 5. 添加静态文件 main.go 改动的地方 index.html 改动的地方 style.css 改动…

【Linux网络编程】TCP协议

TCP协议 1.TCP协议段格式4位首位长度序号和确认序号16位窗口大小6个标志位 2.确认应答机制3.超时重传机制4.连接管理机制如何理解连接如何理解三次握手如何理解四次挥手 5.流量控制6.滑动窗口7.拥塞控制8.延迟应答9.捎带应答10.面向字节流11.粘包问题12.TCP异常情况13.TCP小结1…

通讯录的实现(单链表版本)

我们首先要知道通讯录的实现是基于单链表的基础上的,所以我们首先要搞懂单链表。(注意:今天的代码量较多),但这不是阻挡我们前进的脚步,冲冲冲!!! 单链表的简要概述 我们…

剖析 SPI 在 Spring 中的应用

一、概述 SPI(Service Provider Interface),是Java内置的一种服务提供发现机制,可以用来提高框架的扩展性,主要用于框架的开发中,比如Dubbo,不同框架中实现略有差异,但核心机制相同…

构建第一个ArkTS应用之stateStyles:多态样式

Styles和Extend仅仅应用于静态页面的样式复用,stateStyles可以依据组件的内部状态的不同,快速设置不同样式。这就是我们本章要介绍的内容stateStyles(又称为:多态样式)。 概述 stateStyles是属性方法,可以…

如何发布自己的Python库?

Python包发布 1、背景概述2、操作指南 1、背景概述 为什么我们要发布自己的Python库?如果你想让你的Python代码,通过pip install xxx的方式供所有人下载,那就需要将代码上传到PyPi上,这样才能让所有人使用 那么,如何发…

【最新整理】3ds Max 大佬都在用的10款爆火插件推荐!

在3D建模和渲染领域,熟悉使用各种插件已经成为了大佬们的标配,而3ds Max作为最受欢迎的三维建模软件之一,更是有着丰富的插件资源。今天,小编将为大家盘点一下最新整理的10款爆火插件,这些插件不仅能够提升你的工作效率…

集合体系java

Collection:单列集合:每个元素只包含一个值 Collection集合存储的是地址 Collection的三种遍历方法如下 //迭代器是用来遍历集合的专用方式(数组没有迭代器),在java中迭代器的代表是Iterator //boolean hasNext():询问当前位置…

10万字208道Java经典面试题总结(2024修订版)- SSM篇

🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 技术交流:定期更新…

(三)C++自制植物大战僵尸游戏项目结构说明

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/ErelL 一、项目结构 打开项目后,在解决方案管理器中有五个项目,分别是libbox2d、libcocos2d、librecast、libSpine、PlantsVsZombies五个项目,除PlantsVsZombies外,其他四个…

map与set

set使用 set在我们就是我们前面学习的k模型,它可以用来比对数据,增删查的时间复杂度都是O(logn)效率非常高,由于它底层的原因,它也可以实现排序,通过中序遍历可以输出我们的有序的数据&#xff…

#新版Onenet云平台使用(ESP8266 AT指令上报数据以及公网MQTT服务器连接测试)

1.上云方式:MQTT 参考: 新版ONENET物联网开放平台ATMQTT指令连接_at指令连接onenet的mqtt-CSDN博客https://blog.csdn.net/lilbye/article/details/131770196 ESP8266-01s入门:AT指令讲解、上云与MQTT通信教程-物联沃-IOTWORD物联网https:…

软考 系统架构设计师系列知识点之大数据设计理论与实践(5)

接前一篇文章:软考 系统架构设计师系列知识点之大数据设计理论与实践(4) 所属章节: 第19章. 大数据架构设计理论与实践 第3节 Lambda架构 19.3.1 Lambda架构对大数据处理系统的理解 Lambda架构由Storm的作者Nathan Marz提出&…

SpringCloud实用篇(四)——Nacos

Nacos nacos官方网站:https://nacos.io/ nacos是阿里巴巴的产品,现在是springcloud的一个组件,相比于eureka的功能更加丰富,在国内备受欢迎 nacos的安装 下载地址:https://github.com/alibaba/nacos/releases/ 启动…

vscode远程连接centos

文章目录 vacode连接linux1. 安装插件2. 查看配置3. 打开ssh4. 远程连接 vacode连接linux 1. 安装插件 在扩展栏搜索remote ,找到Remote Development插件,进行安装: 2. 查看配置 打开自己的linux终端,输入ifconfig,…

BackTrader 中文文档(九)

原文:www.backtrader.com/ 期货和现货补偿 原文:www.backtrader.com/docu/order-creation-execution/futurespot/future-vs-spot/ 发布1.9.32.116添加了对在社区中提出的一个有趣用例的支持。 通过未来开始交易,其中包括实物交割 让指标告诉…