推测性解码:加速多模态大型语言模型的推理

news2024/7/6 18:59:01

大模型(LLMs)以其卓越的性能在多个应用场景中大放异彩。然而,随着应用的深入,这些模型的推理速度问题逐渐凸显。为了解决这一挑战,推测性解码(Speculative Decoding, SPD)技术应运而生。本文深入探讨了SPD在多模态大型语言模型(MLLMs)中的应用,尤其是针对LLaVA 7B模型的优化。MLLMs通过融合视觉和文本数据,极大地丰富了模型与用户的互动,但同时也面临着自回归生成和内存带宽的瓶颈。SPD技术通过小型草稿模型预测未来标记,并由目标LLM进行快速验证,有效提升了推理效率。实验结果更是令人振奋:即便不依赖图像信息,仅利用文本数据的草稿模型也能实现与使用图像特征的模型相媲美的加速效果。这一发现不仅为MLLMs的高效推理提供了新思路,也为未来在更广泛的应用场景中利用SPD技术奠定了基础。

推测性解码(SPD)

推测性解码是一种创新的解码技术,旨在加速大型语言模型(LLMs)的推理过程。在传统的自回归生成中,模型在生成每个新词时都必须等待前一个词的完成,这限制了生成速度。SPD通过使用一个小型的草稿模型来预测一系列未来的词,然后由目标大型语言模型(LLM)并行验证这些预测,从而显著提高了效率。这种方法允许模型在单个调用中评估多个候选词,而不是逐个生成,从而减少了整体的推理时间。

使用多模态大型语言模型(MLLM)作为目标模型的推测性解码(SPD)的流程图。该图包括三个主要组件:视觉编码器、图像投影器和目标语言模型,以及一个较小的草稿语言模型。

MLLMs通过整合视觉编码器、适配器和语言模型后端,能够处理和理解图像信息,并将这些信息转换为语言模型能够理解的嵌入空间。这种模型能够接收图像和文本的输入,通过内部的融合机制,生成更加丰富和准确的输出。例如,给定一张图片和相关的文本查询,MLLMs能够生成描述图片内容的文本,或者回答与图片相关的复杂问题。

视觉编码器首先将输入图像转换成一系列的图像编码,适配器随后将这些编码转换为与语言模型兼容的嵌入向量。这些图像嵌入与文本标记一起被送入语言模型,模型根据这些信息生成响应。MLLMs的设计允许它们在多种任务中表现出色,包括图像描述、视觉问答和多模态推理等。

然而,MLLMs在处理大量数据时仍然面临内存带宽限制和生成速度的挑战。SPD技术的应用为解决这些问题提供了新的可能性,通过减少对内存的依赖和加速生成过程,SPD有助于提升MLLMs的整体性能和应用范围。接下来的章节将详细介绍SPD在MLLMs中的应用,并通过实验验证其效果。

SPD在MLLMs中的应用

为了充分利用SPD的优势,关键在于设计一个与目标模型(如LLaVA-7B)显著较小但高度一致的草稿模型。在以往的研究中,草稿模型通常是目标模型同系列的小型预训练模型,或者具有相同架构的小型模型。由于LLaVA家族中没有公开可用的小型模型,研究者们不得不从头开始训练一个草稿模型。

草稿模型的设计遵循LLaVA的架构,包括一个适配器和一个语言模型后端,但参数数量远少于LLaVA 7B。研究者们采用了两种草稿模型:

  1. 小型LLaVA草稿模型:包含一个较小的图像适配器和一个草稿语言模型。
  2. 文本草稿模型:仅依赖于输入文本标记生成草稿标记,不涉及图像信息。程

草稿模型的生成过程是一个预测性的任务,它在多模态大型语言模型(MLLMs)中起着至关重要的作用。这个过程开始于输入数据的准备,包括一张图像和相关的文本信息。图像首先被一个视觉编码器处理,转换成一系列的嵌入向量,这些向量捕捉了图像的主要内容和特征。与此同时,文本信息也被转换成一系列标记的嵌入向量,这些向量代表了文本的语义信息。

接下来,草稿模型利用这些嵌入向量作为输入,开始生成一系列草稿标记。这个过程是自回归的,意味着每个新生成的标记都依赖于之前生成的所有标记。草稿模型会逐个生成标记,每个新标记都是在已经生成的标记序列的基础上进行预测的。这个过程不需要考虑图像的视觉信息,因为它完全依赖于文本标记来生成草稿标记。

草稿模型会考虑输入的文本标记序列,并基于这些信息,通过其内部的语言模型机制,预测下一个可能出现的标记。然后,这个预测的标记被添加到序列的末尾,成为新的上下文,为下一个标记的生成提供参考。这个过程会一直持续,直到生成了预定数量的标记,形成了一个完整的草稿序列。

这个生成过程的目的是快速产出一个候选的标记序列,这个序列将作为草稿提交给目标模型进行进一步的验证和筛选。草稿模型的生成过程是高效且自主的,它通过预测文本序列的延续,为后续的精确生成打下基础。尽管草稿模型生成的标记可能并不完全准确,但它们为推测性解码提供了必要的原材料,使得目标模型能够在此基础上进行快速且精确的迭代优化。

目标模型的验证过程:一旦草稿模型生成了一系列预测标记,目标LLaVA模型将对这些标记进行评估。目标模型在评估时会考虑图像的嵌入向量和文本标记嵌入,以计算每个草稿标记被接受的概率。如果一个草稿标记与目标模型的预测高度一致,即草稿模型和目标模型对这个标记的预测非常接近,那么这个草稿标记就很可能被接受。如果草稿标记与目标模型的预测不一致,即草稿模型的预测与目标模型相差较远,那么这个标记将被拒绝,并从残差分布中重新采样一个新的标记。残差分布是一种调整后的概率分布,它基于目标模型和草稿模型的概率差异来生成新的标记。

通过这种方式,SPD技术能够有效地利用草稿模型快速生成一系列预测标记,并通过目标模型进行验证,以确保生成的标记符合目标模型的预期输出。这个过程不仅提高了生成速度,还保持了生成质量,使得MLLMs能够更高效地处理复杂的多模态任务。

使用文本草稿模型相较于具有LLaVA架构的草稿模型更为高效,因为它不需要额外的适配器,也不需要适配器的训练。此外,实验结果表明,即使不使用图像信息,仅使用文本的草稿模型也能实现显著的加速效果,这为MLLMs的推理提供了新的思路。

通过上述方法,研究者们能够显著提高MLLMs的推理效率,同时保持了模型性能。接下来的章节将展示具体的实验设置和结果,进一步验证SPD在MLLMs中的有效性。

实验

实验采用了LLaVA-7B模型作为目标模型,它是基于LLaMA-7B语言模型后端构建的。为了探索SPD的性能,研究者训练了一系列规模较小的草稿模型,这些模型的参数量固定为115M。草稿模型经过了不同阶段的训练和微调,包括基础的LLaMA模型、经过指令微调的聊天LLaMA模型,以及进一步在特定数据集上微调的LLaVA模型。

目标模型(7B)和草稿模型(115M)的配置细节,包括层数、注意力头、中间维度、隐藏维度和激活函数

评估任务涵盖了图像问答、图像描述和科学问题回答等多个视觉指令任务,这些任务要求模型生成大量文本,从而充分发挥SPD的优势。研究者使用了LLaVA Instruct 150K数据集、COCO数据集和ScienceQA数据集进行评估,这些数据集不仅提供了丰富的图像和文本信息,也为评估模型的多模态理解能力提供了良好的平台。

在评估指标方面,研究者关注了块效率、内存限制加速和标记率这三个关键指标。块效率反映了每个目标模型运行生成的平均标记数,而内存限制加速则基于块效率和模型参数比值来估计加速效果。标记率则是衡量SPD生成速度的直接指标,即每秒生成的标记数。

在不同数据集(LLaVA-eval、COCO-Caption和SQA)上使用SPD时的内存限制加速(MBSU)、块效率和标记速率的比较。图中比较了不同的草稿模型,包括基础的LLaMA、经过指令微调的LLaMA、仅文本的LLaVA草稿模型和包含图像适配器的LLaVA草稿模型

实验结果显示,SPD技术显著提升了LLaVA 7B目标模型的输出生成速度。特别是在不使用图像信息的情况下,仅依靠文本的草稿模型也能达到与使用图像特征的草稿模型相当的加速效果。在不同的任务中,经过微调的LLaVA文本模型和LLaVA模型均展现出了优异的性能,这证明了SPD技术在加速MLLMs推理中的潜力。

通过定性分析,研究者观察到草稿模型能够准确预测常见的词汇、短语,甚至是单词的一部分。例如,在COCO图像描述任务中,草稿模型能够基于给定的上下文预测出完整的单词。这种能力在开放的文本生成任务中尤为重要,因为许多标记由常见词汇、短语和单词补全组成,而这些并不依赖于图像信息。

在使用草稿模型进行图像描述任务时的输出生成过程。这些示例显示了输入提示、助手的输出生成,以及图像内容的详细描述。

综合实验结果,研究者得出结论,SPD是一种有效的技术,能够显著提高MLLMs的推理速度。文本草稿模型在没有图像信息的情况下也能达到显著的加速效果,这些发现对于推动人工智能领域的发展具有重要意义。它们不仅证明了SPD技术在提高MLLMs效率方面的实际应用价值,而且也为未来在更广泛的任务和应用场景中利用SPD技术提供了坚实的基础。随着技术的不断进步和优化,SPD有望成为加速大型语言模型推理的重要工具,进一步拓展人工智能在各个领域的应用边界。

研究者们的工作也启发了对未来研究方向的思考。例如,如何进一步优化草稿模型的结构,以实现更高的块效率和内存限制加速;如何将SPD技术应用于其他类型的多模态模型,以及如何结合最新的算法进展进一步提升SPD的性能。这些探索将继续推动MLLMs的发展,为构建更加智能和高效的人工智能系统铺平道路。

论文链接:https://arxiv.org/abs/2404.08856

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS geometry_msgs和sensor_msgs

ROS geometry_msgs和sensor_msgs geometry_msgs geometry_msgs 是 ROS(Robot Operating System)中用于几何计算和空间表示的一个核心消息包。它定义了一系列消息类型,用于表示位置、方向、速度等几何概念。以下是一些 geometry_msgs 中定义…

Tessy学习系列(三):单元测试——官方例程isValueInRange

一、工程创建 (1)新建工程 注意:工程名称以及路劲不能包含空格和中文 (2)新建测试集与单元测试模块 新建测试集 新建单元测试模块 设置测试模块为单元测试模块并选择GNU GCC编译器如果需要其他的编译器,…

SSM物流管理系统的设计与实现-计算机毕业设计源码44323

摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作…

vue-router全部搞定(附源码)

源码下载链接(先转存,后下载):https://pan.quark.cn/s/b0c6edd68c21 怎么用vue-cli搭建项目 我们固然可以用传统htmljs的方式来搭建vue项目,但是如果组件很多,就需要通过Vue.component的方式一个个去引入…

flask实现抽奖程序(一)

后端代码E:\LearningProject\lottery\app.py from flask import Flask, render_template import randomapp Flask(__name__)employees [赵一, 钱二, 孙三, 李四, 周五, 吴六, 郑七, 王八]app.route(/) def hello_world():return render_template(index.html, employeesemplo…

14.《C语言》——【牛客网BC116—BC123题目讲解】

亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优…

【语音告警】Zabbix语音播报-报警媒介部分配置-语音报警灯|声光报警器|网络信号灯

阅读说明 本文为博灵语音通知终端与Zabbix报警媒介的配置,对接完成后可以实现Zabbix的声光语音告警,播报效果可以参考 Modbus-博灵语音通知终端与PLC联动告警介绍 对接前需配置好通知终端的IP地址,设备参数参见 其他完整的Zabbix语音播报报…

重邮计算机网络803-(2)物理层

一.物理层 1.介绍 物理层的主要任务描述为确定与传输媒体的接口的一些特性,即: ①机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 ②电气特性 指明在接口电缆的各条线上出现的电压的范围。 ③功能特性 指明某条线上…

Long-Context LLM综述

目录 前言1. Preliminary2. 方法分类3. 长度外推3.1 位置外推和插值位置外推插值 3.2 上下文窗口分割与滑动3.3 提示压缩 4. 注意力近似4.1 低秩分解4.2 稀疏注意力4.3 Softmax-free Attention 5. Attention-free Transformers5.1 状态空间模型(State Space Model, SSM)5.2 位置…

Redis实战——创建账户及连接数据库

一、创建一个新账户 要创建一个带有免费数据库的新账户,请按照以下步骤操作: 前往 Redis Cloud 的注册页面。有两种开始使用 Redis Cloud 的选项: 在表单中输入您的信息,然后选择“Get Started”(开始使用&#xff…

PR如何让音频淡入淡出

PR如何让音频淡入淡出 方法一:效果控件关键帧方法二:音频轨道关键帧 以淡入为例,介绍如何设置淡入的两种方法,推荐使用第二种。淡出效果类似。 方法一:效果控件关键帧 选中音频,点击效果控件 在淡入结束的…

差动放大器

差动器的出现是为了解决直接耦合电路存在的零点漂移问题,另外,差动放大器还有灵活的输入,输出方式。 一,基本差动放大器 差动放大器在电路结构上具有对称性,三极管VT1,VT2同型号,R1R2,R3R4,R5…

Web学习_SQL注入_布尔盲注

盲注就是在SQL注入过程中,SQL语句执行后,查询到的数据不能 回显到前端页面。此时,我们需要利用一些方法进行判断或者尝 试,这个过程称之为盲注。而布尔盲注就是SQL语句执行后,页面 不返回具体数据,数据库只…

SQL(一)基本语法

文章目录 一、Sql 语言基本特点二、数据查询(按执行顺序排列)1. From & Join2. Where3. Group by4. Having5. Select6. Distinct7. Order by8. Limit/ Offset 三、功能公式1. 字符处理2. 时间处理3. 统计计算 一、Sql 语言基本特点 不区分大小写分号…

平面设计神器CorelDRAW2021精简版,你值得拥有!

亲爱的设计师小伙伴们,今天我要为大家种草一款神奇的软件——CorelDRAW平面设计软件2021精简版!🤩✨作为一名专业的图形设计师,我深知一个好工具对于我们的工作有多么重要。而这款软件简直就是我们设计师的救星!&#…

新技术前沿-2024-构建个人知识库和小语言模型

OllamaWebUIAnythingLLM,构建安全可靠的个人/企业知识库 1 技术路线一 1.1 搭建本地大模型Ollama 1.2 搭建用户界面open WebUI 使用Docker Desktop Open-webui。它可以快速基于Ollama构筑本地UI。 如果没有科学上网,很可能会拉不动,可以试…

牛客热题:不同的路径数目(一)

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:不同的路径数目(一)题目链接方法…

1909java内部知识管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java内部知识管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开 发环境为TOMCAT7.0,Myeclipse8.5开发&…

二分#背包#快排#LCS详解

二分#背包#快排#LCS详解 文章目录 二分#背包#快排#LCS详解1. 二分搜索2. 01背包问题3. 快速排序4. 最长公共子序列 1. 二分搜索 在处理大规模数据集时,查找操作的效率显得尤为重要。二分搜索是一种在有序数组中查找目标值的高效算法,其时间复杂度为O(lo…

Leetcode 力扣113. 路径总和 II (抖音号:708231408)

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…