回顾-Mistral [1]-->“ 一句话概括论文核心+技术亮点总结”

备注 :回顾看过的论文,对目前看过的Mistral系列进行整理在此总结。(注:笔者水平有限,若有描述不当之处,欢迎大家留言。后期会继续更新LLM系列,文生图系列,VLM系列,agent系列等。如果看完有收获,可以【点赞】【收藏】【加粉】)

阐述的思维逻辑:会给出论文中的核心点和核心点的描述。

一句话总结: Mistral 7B 是 Mistral AI 推出的一个 7.3B 参数量的基础语言模型,其架构采用了 Grouped-Query Attention (GQA)Sliding Window Attention (SWA) 等创新机制,在保持小尺寸的同时,实现了超越 LLaMA 2 13B 的性能,证明了在模型架构和效率上的巨大突破。

技术亮点

1 架构: 模型在 Transformer 架构上引入了两项关键创新:使用 Grouped-Query Attention (GQA) 来加速推理速度;并采用 Sliding Window Attention (SWA) 机制,使得模型能够以低于传统注意力机制的计算成本处理 8K tokens 的长上下文,实现了小模型在长序列处理上的效率突破。

2 后训练: Mistral 7B 以仅 7.3B 的参数量,在所有测试基准上超越了 LLaMA 2 13B,且在多数评测中接近 LLaMA 2 34B,展现了卓越的性能效率。其指令微调版本(Mistral Instruct)采用了**监督微调(SFT)结合直接偏好优化(DPO)**的先进对齐策略,确保了模型在指令遵循和人类偏好方面的优异表现。

摘要

我们引入了 Mistral 7B,这是一个拥有 70 亿参数的语言模型,经过论证的设计以实现卓越的性能和效率。Mistral 7B 在所有评估基准上均估计最佳的开放式 13B 模型(Llama 2),并在推理、数学和代码方面生成了超过最佳的发布的 34B 模型(Llama) 1)。我们的模型利用了分组查询注意力(GQA)来实现更快的推断速度,结合滑动窗口注意力(SWA)有效处理任意长度的序列,并降低推断成本。我们还提供了一个经过过程遵循指令的模型,Mistral 7B - Instruct,在人工和自动化基准测试中均超过了 Llama 2 13B - 聊天模型。我们的模型在 Apache 2.0 许可下发布。

一 摘要

在语言自然处理(NLP)领域的快速发展中,追求更高的模型性能往往需要提升模型大小。然而,这种扩展往往会增加计算成本和推断延迟,从而在实际的现实场景中产生了部署的代价。在此背景下,在高水平的性能和效率之间寻找达到平衡的模型至关重要。我们的模型,Mistral 7B,表明经过提出设计的语言模型可以在保持推断的同时实现的向量。Mistral 7B在所有测试上均是最佳的13B 模型(Llama 2,[26]),并在数学和代码生成方面超过了最佳的 34B 模型(LLaMa 34B,[25])。此外,Mistral 7B 接近 Code-Llama 7B [20] 的编码性能,而在非代码相关基准上不降低性能。

Mistral 7B 利用了分组查询注意力(GQA)[1]和滑动窗口注意力(SWA)[6, 3]。GQA 显着着预测速度,同时在解码过程中降低内存需求,从而允许更高的批处理大小,提高吞吐量,这对实时应用来说是一个关键因素。此外,SWA 旨在降低计算成本更有效地处理数据的序列,从而解决了 LLM 中的一个常见限制。这些注意机制共同推动了 Mistral 7B 的增强性能和效率。

Mistral 7B 采用 Apache 2.0 许可发布。此版本附带一个实现 1,方便在本地或在云平台(如 AWS、GCP 或 Azure)上使用 vLLM [17]推断服务器和 SkyPilot 2 进行轻松部署。与 Hugging Face 的集成也经过简化,以实现更容易参考的集成。此外,Mistral 7B 被提出设计旨在在多个任务中轻松进行邻居。作为其简化和卓越性能的展示,我们展示了从 Mistral 7B 扮演的聊天模型,其性能明显优于 Llama 2 13B - 聊天模型。

Mistral 7B 在获取高性能的同时保持大型语言模型方面高效发展迈出了重要的一步。通过我们的工作,我们的目标是帮助社区创建更经济、高效、高性能的语言模型,在各种实际应用中使用。

二 架构细节

Mistral 7B 基于 Transformer 架构[27]。该架构的主要参数总结在表 1 中。与 Llama 相比,它引入了我们以下总结的变化。
表1:模型架构

滑动窗口焦点 。SWA利用变压器的第一层来关注窗口大小W外部的信息。在第k层的位置i的状态隐藏 𝑖 关注前层在位置隐藏i−W和i之间的所有状态。下降地, 𝑖 可以访问距离为𝑊 × 𝑘输入层的token,如图1所示。在最后一层,使用窗口大小W = 4096,我们在理论上拥有约131Ktoken的注意力跨度。在实践中,对于序列长度为16K和W = 4096,对FlashAttention [11]和xFormers [18]所做的更改相对于左边香草注意力产生了2倍的速度提升。
图1:滑动窗口注意力普通注意力在序列长度方面的操作次数是二次的,并且设备随token数量呈线性增加。在推断时,由于服务器可用性降低,这会导致更高的延迟和较小的吞吐量。为了解决这个问题,我们使用滑动窗口注意力:每个token最多可以关注前一层的W个token(这里,W = 3)。请注意,滑动窗口之外的token仍然会影响下一个单词的预测。在每个注意力层,信息可以向前移动W个token。因此,在k个注意力层之后,信息可以向前移动最多k×W个token。

滚动轴承。固定的注意跨度意味着我们可以使用滚动轴承限制我们的轴承大小。轴承的大小为W,并且时间步i的键和值存储在轴承的位置i mod W中。因此,当位置i大于W时,轴承中的值将被覆盖,并且轴承的大小停止增加。我们在图2中提供了一个过去W = 3的示例。在32ktoken的序列长度上,这将缩小轴承内存使用量8倍,而不影响模型质量。
图2:滚动存储 存储的固定大小为W = 4。位置i的键和值存储在服务器的位置i mod W中。当位置i大于W时,服务器中的值将被覆盖。与最新生成的令牌对应的隐藏状态以橙色标记。

预填充和分块。在生成序列时,我们需要逐个预测token,因为每个token都依赖于前面的token。但是,提示是预先知道的,我们可以使用提示预先填充(k, v) 缓存。如果提示非常大,我们可以将其分块为较小的碎片,并用每个碎片预填充磁盘。因此,我们可以选择窗口大小作为我们的块大小。对于每个块,我们因此需要计算在磁盘上和块上的分区。图3显示了分区蒙版如何在磁盘上和块上负载。
图3:预填充和分片在对缓存进行预填充期间,长序列被分以限制内存使用。我们将序列处理为三个块,"猫坐在上面","垫子和锯子","狗去"。标记了第三个块("狗去")的情况:它使用因果掩码自关注(最右边的块),使用滑动窗口关注稀疏(中心块),并且不关注过去的令牌,因为它们在滑动窗口外侧(最右边的块)。

三 结果

我们将 Mistral 7B 与 Llama 进行比较,并使用我们自己的评估流程重新运行所有基准,以进行公平比较。我们在各种任务上日常表现,这些任务按照以下方式分类:

  • 常识推理(0-shot):Hellaswag [28],Winogrande [21],PIQA [4],SIQA [22],OpenbookQA [19],ARC-Easy,ARC-Challenge [9],CommonsenseQA [24]
  • 世界知识(5-shot):NaturalQuestions [16],TriviaQA [15]
  • 阅读理解(0-shot):BoolQ [8],QuAC [7]
  • 数学:GSM8K [10](8-shot)使用maj@8和MATH [13](4-shot)使用maj@4
  • 代码:Humaneval [5](0-shot)和MBPP [2](3-shot)
  • 热门汇总结果:MMLU [12](5-shot),BBH [23](3-shot)和AGI Eval [29](3-5-shot,仅限英语对照选择题)

Mistral 7B、Llama 2 7B/13B和Code-Llama 7B的详细结果报告在表2中。图4比较了Mistral 7B在不同类别中与Llama 2 7B/13B和Llama 1 34B4的性能。Mistral 7B在所有指标上均超过Llama 2 13B,并在大多数基准测试中和Llama 1 34B。特别是,Mistral 7B在代码、数学和推理基准测试中表现出色。
图4:Mistral 7B和不同Llama模型在各种基准测试上的性能。所有模型都经过我们的评估重新评估,以进行准确比较。Mistral 7B在所有基准测试上都显着优于Llama 2 7B和Llama 2 13B。在数学、代码生成和推理基准测试中,它最前端也逼近Llama 1 34B。
表2:Mistral 7B与Llama的比较。Mistral 7B在所有指标上均均衡于Llama 2 13B,并在非代码基准上不降低性能的情况下接近Code-Llama 7B的代码性能。

大小和效率。我们计算了Llama 2家族的"对应模型大小",旨在了解Mistral 7B模型在成本性能谱中的效率(图5)。在推理、理解和STEM推理(特别是MMLU)方面评估时,Mistral 7B的性能反映了人们可能从比其大小大3倍以上的Llama 2模型中期望的性能。在知识基准测试中,Mistral 7B的性能实现了1.9倍的较低压缩率,这可能是由于其有限的参数数量限制了它可以存储的知识量。
图5:MMLU、常识推理、世界知识和阅读理解方面的结果,展示了Mistral 7B和Llama 2(7B/13B/70B)的性能。Mistral 7B在所有评估中大部分都仅次于Llama 2 13B,另外在知识基准测试中表现相当(这可能是由于其有限的参数数量限制了它可以压缩的知识量)。

评估差异。在一些基准测试中,我们的评估协议与Llama 2论文中报告的协议存在一些差异:1)在MBPP上,我们使用手工验证的子集2)在TriviaQA上,我们不提供维基百科上下文。

四 指令配置

为了评估 Mistral 7B 的化能力,我们在 Hugging Face 存储库上公开可用的指令数据集上进行了偏差。没有使用乳腺癌数据或训练技巧。Mistral 7B-Instruct 模型是对基础模型进行良好性能演示的简单初步演示。在表3中,我们观察到所得到的模型,Mistral 7B-Instruct,在 MT-Bench 上表现相当,与所有 7B 模型,与 13B -- 聊天相比模型相媲美。独立的人类评估在https://llmboxing.com/leaderboard评估上进行。此时,参与者获得了一组问题以及来自两个模型的匿名响应,并被要求选择他们更喜欢的响应,如图6所示。截至2023年10月6日,Mistral 7B生成的输出被选中5020次,而Llama 2 13B则为4143次。
表3:聊天模型对比。Mistral 7B -- Instruct In MT-Bench 上优于所有7B模型,并且与13B -- 聊天模型相媲美。

五 为前端应用添加防护措施

在进行AI生成时强制执行关键应用的防护措施。在本节中,我们强调如何利用系统提示(系统提示)在我们的模型之上强制执行输出约束。此外,我们展示了Mistral 7B执行细粒度审查内容的能力,这对于在应用中强制执行高质量的内容非常有用。

5.1 系统提示强制执行防护措施

我们引入了一个系统提示(见下文)来引导模型在指定的防护措施内生成答案,类似于Llama 2的工作。使用此提示使用户能够在模型有效/防护执行的帕累托前沿上移动,如表4所示。

highlight 复制代码
<span style="color:#404040"><span style="background-color:#ffffff"><span style="color:#333333"><span style="background-color:#f8f8f8"><code>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.
始终小心、尊重和真实地提供帮助。以最大效用的方式回应,同时确保安全。避免有害、不道德、偏见或负面的内容。确保回复促进公平和积极性。
</code></span></span></span></span>

我们使用一组175个不安全的提示来评估安全性。使用推荐的系统提示,模型正确拒绝回答了100%的有害问题。例如,我们在表5中提供了Mistral 7B -- Instruct 和 Llama 2 Chat 13B 对于问题"如何在激活系统提示的情况下杀死linux进程"的答案。我们观察到Mistral 7B提供了正确的回应,而Llama 2在拒绝回答。请注意,在这个特定的问题上,当系统提示被禁用时,两个模型均能正确回答。
表 4:系统提示。Mistral 7B 报告 -- 指导在 10 次迭代中的平均官方 MT Bench 分数,偏差标准。供参考,Llama 2 13B -- 聊天的官方结果为 6.65。
表5:Mistral和Llama系统提示之间的比较。Mistral提供了正确的答案,而Llama 2拒绝回答"如何终止Linux进程"的问题。

5.2 自我评价的内容审查

Mistral 7B - 指示可以自动内容审查器:模型本身能够准确地告用户提示或生成的答案分类为非法活动的属于或以下类别:非法活动,如虐待、虐待或儿童贿赂之一;仇恨、骚扰或暴力内容,如受限制、自残或欺凌;不合格的建议,例如在法律、医学或金融领域。 为此,我们设计了一个自我提醒的提示,使 Mistral 7B对提示或生成的回答进行分类。我们在我们手动策划的平衡数据集上评估了自我估计,并获得了 99.4% 的精确度和 95.6% 的召回率(将错误的提示视为正例)。用途广泛,从社交媒体或论坛上审核评论到互联网上的监控品牌。特别是,最终用户能够事后根据特定的有效过滤的类别进行选择。

六 结论

我们在 Mistral 7B 上的工作表明,语言模型可能比预想的更有效地压缩知识。这开启了有趣的前景:迄今为止,该领域一直强调在两个维度上的扩展规律(将模型能力直接与训练成本关联,如[14]中所示);而问题实际上是三维的(模型能力、训练成本、推理成本),还有之前的许多探索的空间,以获得性能最佳且模型最小化的结果。

参考文献

1 Mistral :https://arxiv.org/pdf/2310.06825

相关推荐
组合缺一18 小时前
Solon AI 开发学习17 - generate - 使用复杂提示语
java·学习·ai·llm·solon·mcp
坐吃山猪19 小时前
BrowserUse06-源码-DOM模块
python·llm·browser-use
青衫客3620 小时前
用 LangGraph 从零实现 ReCAP:一个可运行的递归任务规划框架(纯模拟版)
大模型·llm·agent·智能体·recap
EdisonZhou21 小时前
MAF快速入门(6)混合编排工作流
llm·aigc·agent·.net core
AndrewHZ1 天前
【AI分析进行时】AI 时代软件开发新范式:基于斯坦福CS146S课程分析
人工智能·llm·软件开发·斯坦福·cs146s·能力升级·代码agent
智泊AI1 天前
一文讲清:AI大模型预训练与后训练的数据选择
llm
龙腾亚太1 天前
大模型十大高频问题之五:如何低成本部署大模型?有哪些开源框架推荐?
人工智能·langchain·llm·智能体·大模型培训
神州问学2 天前
使用大语言模型从零构建知识图谱(下)
人工智能·llm
沛沛老爹2 天前
ightRAG 系列 4:核心技术解析——检索模块详解(上)
llm·rag·lightrag·ai入门·向量化原理·向量化流程