LLaMA- Adapter V2: Parameter-Efficient Visual Instruction Model

news2024/11/23 20:03:02

发表时间: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有以下四点改进:

  1. 我们首先通过解锁更多可学习的参数((e.g., norm, bias and scale)来增强 LLAMA-Adapter,这些参数除了adapters之外在整个 LLAMA 模型中分配指令跟随能力。

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

  1. 其次,提出了一种早期融合策略,将视觉标记只输入到早期的LLM层中,有助于更好地结合视觉知识。同时防止输入视觉提示和适应提示之间的直接交互

在LLaMA-Adapter中,输入的视觉提示由具有可学习视觉投影层的冻结视觉编码器顺序编码,然后在每个插入层添加到自适应提示。在LLaMA-Adapter V2中,研究人员将编码的视觉标记和自适应提示注入不同的Transformer层,而不将它们融合在一起,如上图3所示。

对于数据集共享的自适应提示,研究人员跟随LLaMA-Adapter,将它们插入到最后L层(比如,L=30)。

对于输入的视觉提示,研究人员直接将它们与单词标记连接起来,这是具有零初始化注意力的Transformer层,而不是将它们添加到自适应提示中。与提出的联合训练一起,这种简单的视觉标记早期融合策略可以有效地解决两类微调目标之间的冲突。这样就使得参数高效的LLaMA-Adapter V2具有良好的多模态推理能力。

  1. 第三,研究人员提出了LLaMA-Adapter V2的联合训练范例,以利用图像文本字幕数据和纯语言指令示例。由于500K图像文本对和50K指令数据之间的数据量差异,直接将它们组合起来进行优化会严重损害LLaMA-Adapter的指令跟随能力。因此,研究人员的联合训练策略优化了LLaMA-Adapter V2中不相交的参数组,分别用于图像文本对齐和指令跟随。 具体来说,只有视觉投影层和带门控的早期零初始化注意力针对图文字幕数据进行训练,而后期适应提示与零门控、未冻结范数、新添加的偏差和比例因子(或可选的低秩适应)被用于从指令跟随数据学习。 不相交的参数优化很好地解决了图文理解和指令跟随之间的干扰问题,这有助于 LLaMA-Adapter V2的视觉指令跟随能力。

  1. 最近的视觉指令模型,如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,以进一步提高其视觉指令跟踪能力。

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

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

相关文章

MyBatisPlus简介及入门案例

MyBatisPlus简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响&…

【知识跨境电商API接口丨python数分实战】国际电商平台用户成交转化分析

今天这篇文章将给大家介绍国际电商平台用户成交转化分析案例。 01 初步思路 问题已经明确 GMV的下降,可能出在用户下单成交环节。 这里需要明确GMV下降是今年与去年相比吗?明确GMV下降到底如何判断出来的?对比的对象是什么?如…

2024免费文案生成器,一键生成原创文案

在自媒体时代的今天,文案创作需求日益增长,无论是营销推广、社交媒体运营,还是品牌宣传、内容创作,优质的文案都起着至关重要的作用。对于文案创作者来说,如何在有限的时间内创作出吸引人、有价值且独特的文案&#xf…

【Linux】成功解决“appropriate BINARY mode and that you have compiled UnZip properly”

【Linux】成功解决“appropriate BINARY mode and that you have compiled UnZip properly” 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓…

xss漏洞(五,xss-labs靶场搭建及简单讲解)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 前言: 本文基于github上的xss-labs靶场以及PHP study进行操作。 一,靶场环境搭建。 1, 下载并解压到phpstudy的www目录下。 同前文一致,将文件…

分数化小数(Fractions As Decimals)

题目描述 给定一个以十进制表示的分数 a/b,保证 a<b,请将它化成一个二进制的小数。 若存在循环节,用圆括号表示循环节。例如: ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ …

【Qt】状态栏

目录 一.状态栏 1.简述状态栏 二.QStatusBar 1.概念 2.QStatusBar的属性 3.QStatusBar常用成员函数 三.代码创建状态栏 1.创建状态栏 2.在状态栏上显示实时信息 3.在状态栏上显示永久信息&#xff08;通过label&#xff09; 4.在状态栏中创建进度条 一.状态栏 1.简…

用OpenCV与MFC写一个简单易用的图像处理程序

工厂里做SOP及测试报告以及员工资格鉴定等常需用到简单的图像处理&#xff0c;PS等软件正版费用不菲&#xff0c;学习起来成本也高。Windows自带的图像处理软件&#xff0c;用起来也不是那么得心应手。因此我用OpenCV与MFC写了一个简单易用的图像处理程序。 程序界面 基于简单…

书生大模型学习笔记1 - 连接云端开发机

申请InternStudio开发机&#xff1a; 这里进去报名参加实战营即可获取 书生大模型实战营 InternStudio平台 创建开发机 SSH连接开发机&#xff1a; SSH免密码登录 本地创建SSH密钥 ssh-keygen -t rsa打开以下文件获取公钥 ~/.ssh/id_rsa.pub去InternStudio添加公钥 …

【iOS】—— autoreleasePool以及总结

autoreleasePool以及总结 1. 什么是autoreleasePool2. autoreleasePoolPageobjc_autoreleasePoolPush方法&#xff1a;objc_autoreleasePoolPop方法&#xff1a;tokenkill()方法 3. 总结3.1 autoreleasePool的原理3.2 autoreleasePool的问题3.2.1 autoreleasepool的嵌套操作3.2…

进程学习

今天开始了进程的学习&#xff0c;主要讲了进程的一些命令以及进程的创建、进程的调度、进程相关的函数接口和进程消亡。在函数接口中要注意子进程和父进程的关系以及回收顺序&#xff0c;避免出现僵尸进程。

C基础练习(学生管理系统)

1.系统运行&#xff0c;打开如下界面。列出系统帮助菜单&#xff08;即命令菜单&#xff09;&#xff0c;提示输入命令 2.开始时还没有录入成绩&#xff0c;所以输入命令 L 也无法列出成绩。应提示“成绩表为空&#xff01;请先使用命令 T 录入学生成绩。” 同理&#xff0c;当…

【为什么不要买运营商的机顶盒?解锁智能电视新体验,从一台刷机机顶盒开始】

【置顶:机顶盒刷机步骤请跳转此链接】 在这个数字化飞速发展的时代&#xff0c;电视早已不再是单一的播放工具&#xff0c;它正逐步演变成为家庭娱乐与信息获取的综合中心。然而&#xff0c;许多家庭在选择机顶盒时&#xff0c;往往会因为惯性或便利而直接选择运营商提供的机顶…

基于Tasking编译器AURIX TC3xxDemo工程创建

1、示例代码获取 1.1 英飞凌AURIX系列示例代码路径 Infineon/AURIX_code_examples: This repository contains code example projects for the AURIX™ Development Studio. (github.com) 1.2 代码获取 源代码获取有两种方式&#xff0c;一种通过git拉到本地仓库&#xff0…

修改微信(3.9.10.19版本)系统托盘图标(傻瓜教程)

微信版本&#xff1a; 进行以下操作先退出微信 1.iconfont Logo下载一个图标png&#xff0c;大小为256像素&#xff0c;前面颜色自己看着弄 2.png转ico,转化链接&#xff08;转化的网站很多不一定非要是这个&#xff09; 3.下载后续所需程序&#xff08;ResHacker和IconWo…

【动态规划】力扣918. 环形子数组的最大和

给定一个长度为 n 的环形整数数组 nums &#xff0c;返回 nums 的非空 子数组 的最大可能和 。 环形数组 意味着数组的末端将会与开头相连呈环状。形式上&#xff0c; nums[i] 的下一个元素是 nums[(i 1) % n] &#xff0c; nums[i] 的前一个元素是 nums[(i - 1 n) % n] 。 …

Jmeter性能压测4000并发

性能测试的底层逻辑 程序为什么会有性能问题 用户操作 客户端&#xff08;web/app/小程序&#xff09;触发网络请求&#xff0c;服务器处理大量网络请求代码运行需要大量服务器资源&#xff08;CPU、内存、网络、磁盘等等&#xff09; 资源不是无限&#xff0c;硬件配置不是随…

python-分享篇-英文短文自动分词写入文本文件

文章目录 准备代码效果 准备 代码 import string f open(./data/split.txt) sf.read() str1s.title() print(str1) print("".join([s for s in str1.splitlines(True) if s.strip()])) list1 str1.split() # 采用默认分隔符进行分割 #字符串列表去重 l1list(set(l…

lvs的dr模式综合实践

目录 ​编辑虚拟机准备工作 ​编辑​编辑​编辑 配置过程 配置client主机 配置router主机 配置lvs主机&#xff08;vip使用环回来创建&#xff09; 配置server1主机&#xff08;vip使用环回来创建&#xff09; 配置server2主机&#xff08;vip使用环回来创建&#xff0…

SpringBoot+Mybatis 分页

无论多数据源,还是单数据源,分页都一样,刚开始出了点错,是因为PageHelper的版本问题 这里用的SpringBoot3 SpringBoot2应该是没有问题的 相关代码 dynamic-datasourceMybatis多数据源使用-CSDN博客 依赖 <?xml version"1.0" encoding"UTF-8"?&g…