[论文笔记]Mistral 7B

引言

今天带来大名鼎鼎的Mistral 7B的论文笔记。

作者推出了Mistral 7B,这是一个70亿参数的语言模型。Mistral 7B在所有评估基准中表现优于最佳的13B开源模型(Llama 2),并且在推理、数学和代码生成方面胜过最佳发布的34B模型(Llama 1)。

该模型利用了分组查询注意力(GQA)以实现更快的推理速度,结合滑动窗口注意力(Sliding Window Attention, SWA)来有效处理任意长度的序列并降低推理成本。作者还提供了一个经过微调以遵循指令的模型,Mistral 7B - Instruct。代码发布在: https://github.com/mistralai/mistral-src 。

1. 总体介绍

一个精心设计的语言模型可以在保持高效推理的同时实现高性能。Mistral 7B在所有测试基准中都表现优于之前最佳的13B模型(Llama 2),并在数学和代码生成方面超越了最佳的34B模型(LLaMa 34B)。此外,Mistral 7B接近了Code-Llama 7B在编码性能上的表现,而不会在非编码相关基准上牺牲性能。

Mistral 7B利用了分组查询注意力(GQA)和滑动窗口注意力(SWA)。GQA显著加快了推理速度,同时在解码过程中减少了内存需求,从而允许更高的批量大小和更高的吞吐量,这对实时应用程序至关重要。此外,SWA旨在以降低的计算成本更有效地处理更长的序列,从而缓解了LLM中的一个常见限制。这些注意力机制共同为Mistral 7B的增强性能和效率做出了贡献。

2. 架构细节

image-20240603233639215

图1:滑动窗口注意力。在普通的注意力机制中,操作数与序列长度的平方成正比,内存与令牌数量呈线性增长。在推理过程中,由于缓存可用性降低,这会导致更高的延迟和较小的吞吐量。为了缓解这个问题,使用滑动窗口注意力:每个令牌只能关注前一层中最多W个令牌(这里,W = 3)。注意,滑动窗口之外的令牌仍然会影响下一个词的预测。在每个注意力层中,信息可以向前传递W个令牌。因此,在k个注意力层之后,信息可以向前传递最多k×W个令牌。

Mistral 7B基于Transformer架构。主要参数总结如表1所示。与Llama相比,它引入了一些变化。

image-20240603234016732

滑动窗口注意力(Sliding Window Attention) SWA利用Transformer的堆叠层来处理超出窗口大小W的信息。在第 k k k层中,位于位置 i i i的隐藏状态 h i h_i hi会关注前一层中位置在 i − W i−W iW i i i之间的所有隐藏状态。递归地, h i h_i hi可以访问到与输入层相隔 W × k W×k W×k个令牌的令牌,如图1所示。在最后一层中,使用窗口大小 W = 4096 W = 4096 W=4096,理论上拥有约131K个令牌的注意力范围。在实践中,对于序列长度为 16 K 16K 16K W = 4096 W = 4096 W=4096,对FlashAttention 和xFormers 进行的更改使得模型在基线原始注意力上获得了2倍的速度提升。

image-20240603234446126

图2:滚动缓存。缓存的固定大小为W = 4。位置i的键和值存储在缓存的位置i mod W中。当位置i大于W时,缓存中的历史值将被覆盖。对应于最新生成的令牌的隐藏状态用橙色标记。

滚动缓存(Rolling Buffer Cache) 固定的注意力范围意味着可以使用滚动缓存来限制缓存大小。缓存的大小是 W W W,对于时间步 i i i,键和值存储在缓存的位置 i m o d    W i \mod W imodW中。因此,当位置 i i i大于 W W W时,缓存中的历史值将被覆盖,并且缓存的大小停止增加。在图2中提供了 W = 3 W = 3 W=3的示例。对于32k个令牌的序列长度,这将减少8倍的缓存内存使用,而不会影响模型质量。

image-20240603234736881

图3:预填充和分块。在填充缓存期间,长序列被分块以限制内存使用。将一个序列分成三个块,"The cat sat on","the mat and saw","the dog go to"。该图显示了第三个块("the dog go to")出现的情况:它使用因果掩码(最右侧的块)关注自身,使用滑动窗口(中间的块)关注缓存,并且不关注历史的。

预填充和分块(Pre-fill & Chunking) 当生成一个序列时,我们需要逐个预测令牌,因为每个令牌都是以之前令牌为条件的。然而,提示是已知的,我们可以用提示预先填充 ( k , v ) (k,v) (k,v)缓存。如果提示非常大,我们可以将其分成较小的块,并使用每个块预先填充缓存。为此,我们可以将窗口大小选择为块大小。因此,对于每个块,我们需要计算在缓存和块中的注意力。图3显示了注意力掩码如何作用于缓存和块。

3. 结果

将Mistral 7B与Llama进行比较,并使用作者自己的评估流程重新运行所有基准测试,以进行公平比较。对各种任务的性能进行了测量,分类如下:

  • 常识推理(0-shot):Hellaswag,Winogrande,PIQA,SIQA,OpenbookQA,ARC-Easy,ARC-Challenge ,CommonsenseQA

  • 世界知识(5-shot):Natur alQuestions,TriviaQA

  • 阅读理解(0-shot):BoolQ,QuAC

  • 数学:GSM8K(8-shot,maj@8)和MATH(4-shot,maj@4)

  • 代码:Humaneval (0-shot)和MBPP (3-shot)

  • 热门聚合结果:MMLU(5-shot),BBH(3-shot),和AGI Eval(3-5-shot,仅限英文多项选择题)

    image-20240603235402604

Mistral 7B、Llama 2 7B/13B和Code-Llama 7B的详细结果见表2。

image-20240603235425441

图4比较了Mistral 7B与Llama 2 7B/13B和Llama 1 34B4在不同类别中的性能。Mistral 7B在所有指标上超过了Llama 2 13B,并在大多数基准测试中优于Llama 1 34B。特别是,Mistral 7B在代码、数学和推理基准测试中显示出卓越的性能。

image-20240603235626609

大小和效率 计算了Llama 2系列的等效模型大小,旨在了解Mistral 7B模型在成本性能范围内的效率(图5)。在推理、理解和STEM推理特别(是MMLU)评估中,Mistral 7B表现出了与Llama 2模型相当于其大小的3倍以上的性能。在知识基准测试中,Mistral 7B的性能达到了1.9倍的较低压缩率,这可能是由于其有限的参数数量限制了其存储的知识量。

4. 指令微调

为了评估Mistral 7B的泛化能力,在Hugging Face仓库上公开可用的指令数据集上进行了微调。没有使用专有数据或训练技巧:Mistral 7B - Instruct模型是对基础模型进行微调以实现良好性能的简单初步演示。

image-20240603235749674

在表3中,得到的模型Mistral 7B - Instruct在MT-Bench上表现出优越的性能,与13B - Chat模型相当。在https://llmboxing.com/leaderboard上进行了独立的人工评估。在这个评估中,参与者收到一组问题,并附有两个模型的匿名回答,被要求选择他们更喜欢的回答。截至2023年10月6日,Mistral 7B生成的输出被选择5020次,而Llama 2 13B被选择4143次。

5.为面向用户的应用程序添加防护措施

对于面向用户的应用程序来说,强制执行AI生成的防护措施非常重要。

5.1 利用系统提示来强制实施防护措施

引入了一个系统提示,以指导模型在指定的防护范围内生成答案,类似于Llama 2的工作。使用此提示可以让用户在模型效用/防护措施的帕累托前沿上前进,如表4所示。

Always assist with care, respect, and truth. Respond with utmost utility yet securely. Avoid harmful,
unethical, prejudiced, or negative content. Ensure replies promote fairness and positivity

始终谨慎、尊重和真实地提供帮助。回复时要最大程度地提供效用,同时确保安全。避免有害、不道德、有偏见或消极的内容。确保回复促进公平和积极性。

image-20240604000033413

使用了一组175个不安全的提示来评估安全性。在推荐的系统提示下,该模型正确地拒绝回答了100%的有害问题。

image-20240604000127808

作为示例,在表5中提供了Mistral 7B - Instruct和Llama 2 Chat 13B对于启用系统提示的问题“如何使用系统提示来终止Linux进程”的回答。Mistral 7B提供了正确的回复,而Llama 2则拒绝回答。注意在这个特定的问题上,当系统提示被禁用时,两个模型都能正确回答。

5.2 自我反思的内容审查

Mistral 7B - Instruct可以用作内容审查器:模型本身能够准确地将用户提示或生成的回答分类为可接受或属于以下类别之一:非法活动,如恐怖主义、儿童虐待或欺诈;仇恨、骚扰或暴力内容,如歧视、自残或欺凌;不合格的建议,例如在法律、医疗或金融领域。为此,作者设计了一个自我反思的提示,使Mistral 7B对提示或生成的回答进行分类。对手动策划和平衡的对抗性和标准提示数据集进行了自我反思的评估,精确度为99.4%,召回率为95.6%(将可接受的提示视为正例)。该应用场景广泛,从社交媒体或论坛上的评论审核到互联网品牌监控。特别是,最终用户能够根据其特定的用例选择有效过滤的类别。

6. 结论

语言模型可能会比以前认为的更有效地压缩知识。目前,该领域主要关注二维尺度定律(将模型能力直接与训练成本关联),但问题实际上是三维的(模型能力、训练成本、推理成本)。

总结

⭐ 作者提出了Mistral模型,相比LLaMA引入一些改动:滑动窗口注意力、滚动缓存以及预填充和分块。不管是基础模型还是指令微调模型效果都比较优秀。

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

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

相关文章

Patchwork++:基于点云的快速、稳健的地面分割方法

1. 背景 论文发表在2022IROS,是Patchwork的改进版本。算法通过数学方法进行快速而鲁棒性很强的地面分割,在智能机器人上的可操作性非常强。通过微调算法,可以应用于16-beams等多种规格的激光雷达。由于激光雷达点云数据标注的难度非常大&…

苹果CMS:怎么添加2019和2020年份筛选

我们进入搜索的时候看到一个关于年份的搜索,那如果上面没有出现19,20我们该如何处理呢? 我们进入管理后台 -【系统】-【网站参数配置】-【预留参数】 添加下视频年代逗号隔开即可 如果要设置地区,语言也实在这里直接配置即可!&am…

新书推荐:1.3 内存管理模式

本节必须掌握的知识点: 4GB虚拟空间 虚拟内存 多任务切换 1.3.1 4GB虚拟空间 ■Win16操作系统 Windows1.0版本为16位操作系统,支持16位处理器实模式,最大寻址空间为1MB。Win16操作系统的内存管理非常简单,采用分段内存管理模式…

企业微信hook接口协议,ipad协议http,发送CDN语音消息

发送CDN语音消息 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信send_userid是long要发送的人或群idisRoom是bool是否是群消息 请求示例 {"uuid":"1753cdff-0501-42fe-bb5a-2a4b9629f7fb","send_userid&q…

树莓派4B 学习笔记3: 系统自动更新时间_测试CSI摄像头_安装OpenCv_4.6(未成功编译源码)_备份树莓派镜像

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本文我只是安装了OpenCv 4.6,但编译源码失败了!有关 OpenCv 部分仅做笔记暂存! 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令…

平板显示LED背光芯片OC6700,输入3.6V~60V,升压型 LED 恒流驱动器

概述 OC6700是一款内置60V功率NMOS高效率、高精度的升压型大功率LED恒流驱动芯片。OC6700采用固定关断时间的控制方式,关断时间可通过外部电容进行调节,工作频率可根据用户要求而改变。OC6700通过调节外置的电流采样电阻,能控制高亮度LED灯的…

汇编:数据定义数据填充

数组的定义 在32位汇编语言中,定义数组时,通常使用定义数据指令(如 DB, DW, DD,DQ )和标签来指定数组的名称和内容。DB定义字节数组(每个元素占1字节)、DW定义字数组(每个元素占2字节&#xff…

【AI基础】第二步:安装AI运行环境

开局一张图: 接下来按照从下往上的顺序来安装部署。 规则1 注意每个层级的安装版本,上层的版本由下层版本决定 比如CUDA的版本,需要看显卡安装了什么版本的驱动,然后CUDA的版本不能高于这个驱动的版本。 这个比较好理解&#xff…

注意力机制篇 | YOLOv8改进之引入STA(Super Token Attention)超级令牌注意力机制 | CVPR2023

前言:Hello大家好,我是小哥谈。超级令牌注意力机制是一种基于Transformer的模型,用于处理长文本序列的任务。它通过引入超级令牌(Super Token)来减少输入序列中的填充标记,从而提高计算效率和模型性能。🌈 目录 🚀1.基础概念

1.4 Unicode简介

现在的Windows操作系统有许多不同语言版本,可以支持所有国家现有的语言文字。这就涉及到不同字符集的编码规则。 本节必须掌握的知识点: 字符集 C语言款字符 宽字符和Windows 1.4.1 字符集 ■ANSI多字节字符集 ●ASCII码 现代计算机发源于美国&…

一分钟了解香港的场外期权报价

香港的场外期权报价 在香港这个国际金融中心,场外期权交易是金融市场不可或缺的一部分。场外期权,作为一种非标准化的金融衍生品,为投资者提供了在特定时间以约定价格买入或卖出某种资产的机会。对于希望参与这一市场的投资者来说&#xff0…

RabbitMQ学习笔记(一)RabbitMQ部署、5种队列模型

文章目录 1 认识MQ1.1 同步和异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 技术对比 2 RabbitMQ入门2.1 RabbitMQ单机部署2.2 RabbitMQ基本结构2.3 RabbitMQ队列模型2.3.1 简单队列模型(Simple Queue Model)2.3.2 工作队列模型(Work Queue Mode…

I.MX RT1170之MIPI DSI初始化和显示流程详解

MIPI DSI(Mobile Industry Processor Interface Display Serial Interface)是一种广泛应用于移动设备显示屏的接口标准。由MIPI联盟制定,DSI接口旨在提供高效、低功耗的显示屏数据传输解决方案。 本节来就通过学习I.MX RT1170单片机中的MIPI…

Vue3——实现word,pdf上传之后,预览功能(实测有效)

vue-office/pdf - npm支持多种文件(**docx、excel、pdf**)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。. Latest version: 2.0.2, last published: a month ago. Start using vue-office/pdf in your project by running npm i vue-office/pdf. There are …

英伟达开源新利器NV-Embed向量模型,基于双向注意力的LLM嵌入模型,MTEB 56项任务排名第一

前言 文本嵌入模型能够将文本信息转化为稠密的向量表示,并在信息检索、语义相似度计算、文本分类等众多自然语言处理任务中发挥着关键作用。近年来,基于解码器的大型语言模型 (LLM) 开始在通用文本嵌入任务中超越传统的 BERT 或 T5 嵌入模型&#xff0c…

Redis整合SpringBoot微服务基础操作

前言 首先我们先知道类似于JDBC的连接中间件在redis之间使用的是啥 首先是Jedis,这是最初代的连接redis客户端 操作也是非常的简单 Jedis 首先我们先介绍这个 我们只需要引入对应的pom文件依赖 <!--SpringBoot通用依赖模块--><dependency><groupId>org.spri…

uniapp使用uQRCode页面不显示也不报错

我使用的版本是&#xff1a;4.0.6 引入到项目中后根据官方的配置教程进行配置&#xff1a; 但是页面上就是不显示&#xff0c;也不报错&#xff0c;看官网发现步骤也没问题 解决方法&#xff1a; 这句话代表的是uQrcode会被自动引用注册&#xff0c;但是你引过组件库或者别的…

51单片机课设

1.51最小系统板原理图介绍 复位电路&#xff1a;&#xff08;简单的RC电路&#xff09; 在电路图中&#xff0c;电容的的大小是10uF&#xff0c;电阻的大小是10k。 当接通VCC后&#xff1a; 电容还没开始充电&#xff0c;电容电压为0&#xff0c;R7的电压为5V,然后电容开始充电…

盲盒小程序库存管理的关键策略

随着盲盒经济的兴起&#xff0c;越来越多的商家开始投入盲盒小程序的开发与运营。然而&#xff0c;在享受市场红利的同时&#xff0c;库存管理的问题也随之而来。合理的库存管理不仅能够满足用户需求&#xff0c;还能有效优化库存周转率&#xff0c;提升商家的盈利能力。本文将…

操作系统入门系列-MIT6.828(操作系统工程)学习笔记(四)---- C语言与计算机架构(Programming xv6 in C)

系列文章目录 操作系统入门系列-MIT6.S081&#xff08;操作系统&#xff09;学习笔记&#xff08;一&#xff09;---- 操作系统介绍与接口示例 操作系统入门系列-MIT6.828&#xff08;操作系统工程&#xff09;学习笔记&#xff08;二&#xff09;----课程实验环境搭建&#x…