LLaMA- Adapter V2: Parameter-Efficient Visual Instruction Model
发表时间:28 Apr 2023
论文链接:https://arxiv.org/pdf/2304.15010
作者单位: Shanghai Artificial Intelligence Laboratory
Motivation:如何有效地将大型语言模型 (LLM) 转换为指令追随者最近是一个流行的研究方向,而训练 LLM 进行多模态推理仍有待探索。尽管最近的 LLAMA-Adapter 展示了使用 LLM 处理视觉输入的潜力,但它仍然不能很好地推广到开放式视觉指令并落后于 GPT-4。
解决方法:在本文中,我们提出了 LLAMA-Adapter V2,这是一种参数高效的视觉指令模型。相对于LLaMA- Adapter有以下四点改进:
-
我们首先通过解锁更多可学习的参数((e.g., norm, bias and scale)来增强 LLAMA-Adapter,这些参数除了adapters之外在整个 LLAMA 模型中分配指令跟随能力。

LLaMA-Adapter在冻结的LLaMA模型上采用可学习的适应提示和零初始化注意机制,从而可以有效地整合新知识。但是,参数更新受限于自适应提示和门控因子,没有修改LLMs的内部参数,这限制了它进行深度微调的能力。鉴于此,研究人员提出了一种偏差调整策略,除了适应提示和门控因素之外,进一步将指令提示融合到LLaMa中。具体来说,为了自适应地处理指令跟随数据的任务,研究人员首先解冻 LLaMA 中的所有规范化层。对于Transformer中的每个线性层,研究人员添加一个偏差和一个比例因子作为两个可学习的参数。值得注意的是,新增参数的数量仅占整个LLaMA的 0.04%(∼5M),表明 LLaMA-Adapter V2仍然是一种参数高效的方法。
-
其次,提出了一种早期融合策略,将视觉标记只输入到早期的LLM层中,有助于更好地结合视觉知识。同时防止输入视觉提示和适应提示之间的直接交互。

在LLaMA-Adapter中,输入的视觉提示由具有可学习视觉投影层的冻结视觉编码器顺序编码,然后在每个插入层添加到自适应提示。在LLaMA-Adapter V2中,研究人员将编码的视觉标记和自适应提示注入不同的Transformer层,而不将它们融合在一起,如上图3所示。
对于数据集共享的自适应提示,研究人员跟随LLaMA-Adapter,将它们插入到最后L层(比如,L=30)。
对于输入的视觉提示,研究人员直接将它们与单词标记连接起来,这是具有零初始化注意力的Transformer层,而不是将它们添加到自适应提示中。与提出的联合训练一起,这种简单的视觉标记早期融合策略可以有效地解决两类微调目标之间的冲突。这样就使得参数高效的LLaMA-Adapter V2具有良好的多模态推理能力。
-
第三,研究人员提出了LLaMA-Adapter V2的联合训练范例,以利用图像文本字幕数据和纯语言指令示例。由于500K图像文本对和50K指令数据之间的数据量差异,直接将它们组合起来进行优化会严重损害LLaMA-Adapter的指令跟随能力。因此,研究人员的联合训练策略优化了LLaMA-Adapter V2中不相交的参数组,分别用于图像文本对齐和指令跟随。 具体来说,只有视觉投影层和带门控的早期零初始化注意力针对图文字幕数据进行训练,而后期适应提示与零门控、未冻结范数、新添加的偏差和比例因子(或可选的低秩适应)被用于从指令跟随数据学习。 不相交的参数优化很好地解决了图文理解和指令跟随之间的干扰问题,这有助于 LLaMA-Adapter V2的视觉指令跟随能力。

-
最近的视觉指令模型,如MiniGPT4和LLaMA需要大规模的图像文本训练来连接视觉模型和LLM。相比之下,研究人员的LLaMA-Adapter V2对更小规模的常见图像字幕数据进行了微调,使其数据效率更高。然而,研究人员的方法的图像理解能力相对较弱,导致偶尔出现不准确或无关的响应。研究人员建议集成字幕、OCR和搜索引擎等专家系统,以补充LLaMA-Adapter V2额外的视觉推理能力,而不是收集更多的图像文本数据或采用更强大的多模态模块。 如下图所示,研究人员利用字幕、检测和OCR等专家系统来增强LLaMA-Adapter V2的视觉指令跟随能力。 在推理过程中,我们将额外的专家模型(例如字幕/OCR 系统)合并到 LLAMA-Adapter 中,以进一步增强其图像理解能力,而不会产生训练成本。与原始 LLAMA-Adapter 相比,我们的 LLAMA-Adapter V2 只需在 LLAMA 上引入 14M 参数就可以执行开放式多模态指令。新设计的框架也表现出更强的仅语言指令跟踪能力,甚至在聊天交互方面表现出色。

实现方式:对于具有 32 个 Transformer 层的 LLAMA-7B 模型,我们将静态适应提示插入到最后 31 层。此外,我们将动态视觉提示附加到第一层,提示长度设置为 20。归一化层中的所有参数、线性层偏差和尺度在训练期间都设置为更新,而 LLAMA 中的其余参数保持冻结。
实验:Stronger Language Instruction Model,Visual Instruction Model
结论:它在视觉理解能力方面仍然落后于 LLAVA,容易受到专家系统提供的不准确信息的影响。 未来,我们计划探索更多专家系统的集成,并使用多模态指令数据集或其他 PEFT 方法(例如 LoRA)微调 LLAMA-Adapter V2,以进一步提高其视觉指令跟踪能力。
相关文章:
LLaMA- Adapter V2: Parameter-Efficient Visual Instruction Model
发表时间:28 Apr 2023 论文链接:https://arxiv.org/pdf/2304.15010 作者单位: Shanghai Artificial Intelligence Laboratory Motivation:如何有效地将大型语言模型 (LLM) 转换为指令追随者最近是一个流行的研究方向࿰…...
【爬虫实战】利用代理爬取Temu电商数据
引言 在行业竞争激烈、市场变化快速的跨境电商领域,数据采集可以帮助企业深入了解客户需求和行为,分析市场趋势和竞争情况,从而优化产品和服务,提高客户满意度和忠诚度。同时,数据采集可以实时跟踪库存水平和销售情况&…...
【MATLAB源码-第244期】基于MATLAB的BP神经网络语音特征信号分类,输出原信号与预测信号对比图以及预测误差和正确率。
操作环境: MATLAB 2022a 1、算法描述 BP神经网络(Back Propagation Neural Network)是一种广泛应用于模式识别和分类问题的人工神经网络。在本次语音特征信号分类任务中,我们将详细描述如何通过BP神经网络实现对四类语音信号的…...
HarmonyOS 习题(二)
1、在类Web开发范式自定义组件创建后,加入到Page组件树时,会触发以下哪一项回调。 A)Onlnit B)OnAttached C)OnLayoutReady D)OnDetached 答案:B 分析: onlnit:自定义组件初始化生命周期回调&a…...
如何搭建一个圈子社区系统?开源社交陪玩交友圈子论坛帖子系统保姆级搭建教程!
整体部署流程如下: 1.获取源码/前后端分离,前端Uniapp vue2.0 后端thinkphp6(Gitee直达) 2.服务器安装宝塔(已有宝塔请安装环境,Nginx或者Apache/ php 7.3/ mysql 5.6 ) 3.进入宝塔添加网站&…...
Delphi5实现身份证检验(DLL版)
效果图 身份证行政区划分代码 识别归属地需要行政区划分,都在data.txt文档里面了。 最后一位校验码 根据上面的原理编写程序即可。 {这个函数计算最后一位检验码是否正确,ID是18位身份证号字符串,结果返回字符串} function IDcheck(ID:stri…...
linux下的C++程序
1.安装g编译环境(c)、gcc编译环境(c语言) sudo yum install gcc或者gcc-c //安装gcc/g编译(用管理员权限弄) 验证是否安装成功 gcc或者g --version //如果显示版本号,则表示安装成功 sudo yum remove g…...
selfAttention 中的dk到底是什么
在Self-Attention机制中,为什么需要对 Q K T QK^T QKT 的结果进行缩放,除以 d k \sqrt{d_k} dk 。以下是详细解释: 缩放的原因 除以 d k \sqrt{d_k} dk 的原因有两个: 防止输入过大:如果不缩放…...
安装MongoDB UI客户端工具:mongodb-compass-1.40.2-win32-x64.msi
文章目录 1、安装 mongodb-compass-1.40.2-win32-x64.msi2、安装后配置链接地址: 1、安装 mongodb-compass-1.40.2-win32-x64.msi 2、安装后配置链接地址:...
一行命令搞定内网穿透
一行命令搞定内网穿透 一款开源免费的内网穿透工具:localtunnel ,基于 nodejs 实现,无需修改 DNS 和防火墙设置,方便快捷的将内网服务暴露到外网,为开发人员、测试人员以及需要分享本地项目的人提供实时的公网访问方式…...
C语言——扫雷游戏
扫雷游戏通常是一个由方格组成的区域内进行的,其中随机分布着一定数量的地雷 。玩家的目标是通过点击方格来标记出所有地雷的位置,同时避免自己点到地雷而导致游戏失败。游戏开始时,玩家通常只能看到一部分方格,而其余的方格则需要…...
【LLM】-16-评估LLM-与标准答案的差距
目录 1、评估回答是否正确 1.1、util_zh 1.2、eval_zh 1.3、评估 2、评估生成答案与标准答案的差距 2.1、eval_zh2 2.2、评估 即使没有提供的理想答案,只要能制定一个评估标准,就可以使用一个 LLM 来评估另一个 LLM 的输出。 如果可以提供理想答…...
WeNet 2.0:更高效的端到端语音识别工具包
WeNet 2.0:更高效的端到端语音识别工具包 原文链接:[2203.15455] WeNet 2.0: More Productive End-to-End Speech Recognition Toolkit (arxiv.org) 1.摘要 WeNet是一个开源的端到端语音识别工具包,WeNet 2.0在此基础上进行了四项主要更新,…...
阿里大模型调用 = 》通义千问大语言模型
背景:简单的通过API或者SDK在线调用阿里云大模型(基于百炼平台),基于在线知识库 参考地址:安装阿里云百炼SDK_大模型服务平台百炼(Model Studio)-阿里云帮助中心 (aliyun.com) 1、获取API-KEY 当您通过API/SDK调用大模…...
idea使用free流程,2024idea免费使用
1.先到官网下载,这里选择win系统的,点击下图的.exe https://www.jetbrains.com/idea/download/?sectionwindows 2.下载好后基本上就是一直点击“下一步”到直到安装好,安装好后先打开软件后关闭退出 3.下载配配套资料 链接: https://pan.ba…...
算法_链表专题---持续更新
文章目录 前言两数相加题目要求题目解析代码如下 两两交换链表中的结点题目要求题目解析代码如下 重排链表题目要求题目解析代码如下 合并K个升序链表题目要求题目解析 K个一组翻转链表题目要求题目解析代码如下 前言 本文将记录leetcode链表算法题解,包含题目有&a…...
在Windows MFC\C++编程中,如何使用OnCopyData函数
在C中,OnCopyData 函数通常不是标准C库的一部分,而是与特定的图形用户界面(GUI)框架相关联,如Microsoft Foundation Classes (MFC) 或 Windows API 编程。在MFC应用程序中,OnCopyData 是用于处理来自其他应…...
【Qt】项目代码
main.cpp文件 argc:命令行参数个数。*argv[ ]:每一个命令行参数的内容。main的形参就是命令行参数。QApplication a(argc, argv) 编写一个Qt的图形化界面程序,一定需要QApplication对象。 widget w; 在创建项目的时候,勾选widg…...
MySQL中常用工具
MySQL自带的系统数据库 常用工具 MySQL mysqladmin mysqlbinlog mysqldump mysqlimport/source mysqlimport只能导入文本文件,不能导入sql文件...
关于儿童编程语言
青少年通常会通过Scratch或Python开始学习编程。在这两种语言中,代码的编写(或者在Scratch中是构建)方式类似于英语,这使得初学者更容易学习。Scratch的一个重要卖点是对视觉和运动感知学习者非常友好。这些代码块按颜色编码&…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
