基于 RWKV 的视觉语言模型 VisualRWKV 被 COLING 2025 接收!

news2025/2/23 11:11:57

基于 RWKV 的视觉语言模型 VisualRWKV 被 COLING 2025 接收!

COLING,国际计算语言学会议(International Conference on Computational Linguistics),是自然语言处理和计算语言学领域的顶级国际会议(CCF 推荐 B 类国际会议)。COLING 2025 将于 2025 年 1 月 19 日至 24 日在阿联酋阿布扎比召开。VisualRWKV 论文已被 COLING 2025 主会接收

  • 论文标题:VisualRWKV: Exploring Recurrent Neural Networks for Visual Language Models
  • 作者:Haowen Hou, Peigen Zeng, Fei Ma, Fei Richard Yu。
  • 论文:https://arxiv.org/abs/2406.13362
  • 代码:https://github.com/howard-hou/VisualRWKV

摘要

视觉语言模型(VLMs)随着大型语言模型的成功迅速发展。然而,将高效的线性循环神经网络(RNNs)架构整合到 VLMs 中的尝试还相对较少。在这项研究中,我们提出了 VisualRWKV,这是线性 RNN 模型首次应用于多模态学习任务,利用了预训练的 RWKV 语言模型。

我们提出了数据依赖的递归和三明治提示词来增强我们的建模能力,以及一个 2D 图像扫描机制来丰富视觉序列的处理。广泛的实验表明,VisualRWKV 在各种基准测试上达到了与基于 Transformer 的模型如 LLaVA-1.5 相竞争的性能,如图 1所示。同时,当上下文长度达到 24K 时,推理速度比 LLaVA-1.5 快3.98 倍,GPU 显存占用少 54%。

图 1:VisualRWKV 与 LLaVA-1.5 在不同 benchmark 上的精度,推理速度和 GPU 内存占用对比。

研究背景

  • 视觉语言模型发展:大型语言模型在自然语言处理中表现出色,视觉语言模型(VLMs)通过整合视觉和文本信息,在解决视觉问题和推进视觉 - 语言任务方面潜力巨大,但现有模型因 Transformer 架构自注意力机制存在计算和内存复杂度高的问题,限制了其在边缘设备的应用。
  • 线性 RNN 模型优势:RWKV 模型作为新型递归神经网络架构,在大规模数据性能上超越 Transformers,具有线性可扩展性,为长序列建模瓶颈提供解决方案,但在多模态任务应用方面的研究较少

VisualRWKV 模型设计

VisualRWKV 的整体模型结构如图 2所示,其中红字是 VisualRWKV 核心创新点。分别是数据依赖循环(Data-dependent Recurrence),三明治提示词(Sandwich Prompt)和双向扫描(Bidirectional Scanning)。

VisualRWKV-arch

图 2 VisualRWKV 架构概述和三种提示词策略。图像在前提示:将图像标特征于文本向量之前;图像在后提示:将图像特征置于文本向量之后;三明治提示:将图像特征置于文本向量之间。红色文字表示主要贡献。

三明治提示词

如图 2 所示,设计了图像在前提示、图像在后提示和三明治提示三种方法,实验表明三明治提示效果最佳,能让模型在处理图像前回顾指令,更有针对性提取信息,减轻因图像标记减少导致的信息丢失。

数据依赖循环

Data-dependent Recurrence 可以有效增强 RWKV 模型的能力和容量,如图 3所示。

h-Time Mixing and RNN Cell

图 3 Data-dependent Recurrence 示意图,左边:时间混合模块的示意图,右边:时间混合模块的 RNN 视角。虚线箭头表示数据依赖的连接。

Data-dependent Recurrence 主要包括如下 2 点设计:

  • 数据依赖的 Token Shift:通过定义低秩适应(lora)和数据依赖线性插值(ddlerp),动态分配新数据与现有数据比例,拓宽模型容量。
  • 数据依赖的时间混合:将时间衰减向量从固定参数变为动态,使模型能更灵活适应输入数据,提升性能

如下表所示,VisualRWKV 引入 Data-dependent Recurrence 后,在 VQA 测试集上效果上涨了接近 15 个点,非常让人印象深刻。

表 1 模型的扩展结果。

我们选择在视觉问答 VQA-v2(VQA)、科学问答 ScienceQA(SQA)、文本视觉问答 TextVQA(TQA)和通用视觉问答 GQA 上进行实验,以检验模型的能力。

图像扫描机制

如图 4所示,我们探索了单向块、双向块和多向块三种变体,实验显示单向扫描不适合处理 2D 视觉信息,双向扫描在处理多模态学习任务的 2D 视觉信息方面表现较好。因为仅仅是调整不同层的扫描方向,也不并会增加模型总体的计算量。

VisualRWKV-image scaning

图 4 展示了 3种不同的多模态 RWKV 块:单向块(左),双向块(中),以及多向块(右)。顶部还描绘了四种扫描模式。

实验结果

性能比较

VisualRWKV 在 8 个基准测试中的 3 个取得最佳性能,在 SQA 基准测试中排名第二,与 LLaVA-1.5 相比,在多个基准测试中表现更优,尤其在 MMB-cn 中文测试集上领先明显,表明 RWKV 语言模型多语言能力更强。表 2展示了我们提出的 VisualRWKV 模型与一些最先进的多模态大型语言模型的比较。VisualRWKV 在8 个基准测试中的 3个中取得了最佳性能,在 SQA 基准测试中排名第二。与规模参数相似且多模态训练数据量相同的 LLaVA-1.5 7B 相比,我们的模型(VisualRWKV-7B)在 4个基准测试中表现更好:SQA(68.2%对 66.8%)、GQA(64.3%对 62.0%)、MMB(65.8%对 64.3%)和 MMB-cn(63.7%对 30.5%)。值得注意的是,VisualRWKV 和LLaVA-1.5 使用了完全相同的训练数据。然而,在 MMB-cn 中文测试集上,VisualRWKV 显示出了显著的领先优势。这可能表明 RWKV 语言模型具有更强的多语言能力。这些有希望的结果不仅证实了 VisualRWKV 模型的有效性,还突显了线性 RNN 模型在多模态学习任务中的重要潜力。

表 2 在 8个基准测试上与最先进方法的比较。

由于空间限制,基准测试名称被缩写。VQA;GQA;SQA:ScienceQA-IMG;TQA:TextVQA;POPE;MME;MMB:MMBench;MMB-cn:MMBench-CN。PT 和IT 分别表示预训练和指令调优阶段涉及的样本数量。"Res."代表“分辨率”。

消融实验

表 3展示了在三种提示方法中,我们提出的三明治提示表现最佳,传统的先图像后提示排在第二位,而先图像后提示的效果最差。三明治提示增强效果的原因如下:通过让模型在处理图像之前先回顾指令,三明治提示有助于更有针对性地从图像中提取信息,从而加强图像信息检索过程中的条件方面。然而,仅仅将指令放在图像之前是不够的。我们观察到,图像后提示的效果明显较差。仅仅将指令放在图像前面是不充分的;我们发现图像后提示的效果明显较差。这是因为线性 RNN 模型在处理图像后往往会忘记指令信息,需要重复指令以获得更好的结果。此外,我们的研究表明,三明治提示能够有效减轻由于图像标记减少导致信息丢失的问题,即使只有少量的图像标记也能保持好的结果。

表 3 三种 prompt 方法的对比结果

我们比较了三种图像扫描机制:单向扫描(UniDir)、双向扫描(BiDir)和多向扫描(MultiDir)。如表 4所示,UniDir 的表现最差,因为它天生不适合处理 2D 视觉信息。BiDir 和MultiDir 在各种基准测试评估中显示出相似的结果,但 BiDir 在大多数情况下表现更好,突显了它在处理多模态学习任务中的 2D 视觉信息方面的优势。

表 4 三种扫描方法的对比结果

效率分析与文本能力

与 LLaVA-1.5 相比,在 24K 上下文时,VisualRWKV 推理速度快 3.98 倍,GPU 内存消耗降低 54%。此外,VisualRWKV 在文本能力上未出现退化,在多语言文本能力上与文本专用的 RWKV 基本一致,得益于多语言 ShareGPT4 数据的整合。

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

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

相关文章

如何加强游戏安全,防止定制外挂影响游戏公平性

在现如今的游戏环境中,外挂始终是一个困扰玩家和开发者的问题。尤其是定制挂(Customized Cheats),它不仅复杂且隐蔽,更能针对性地绕过传统的反作弊系统,对游戏安全带来极大威胁。定制挂通常是根据玩家的需求…

斯坦福李飞飞《AI Agent:多模态交互前沿调查》论文

多模态AI系统很可能会在我们的日常生活中无处不在。将这些系统具身化为物理和虚拟环境中的代理是一种有前途的方式,以使其更加互动化。目前,这些系统利用现有的基础模型作为构建具身代理的基本构件。将代理嵌入这样的环境中,有助于模型处理和…

Lua面向对象实现

Lua中的面向对象是通过表(table)来模拟类实现的,通过setmetatable(table,metatable)方法,将一个表设置为当前表的元表,之后在调用当前表没有的方法或者键时,会再查询元表中的方法和键,以此来实现…

flex布局容易忽略的角色作用

目录 清除浮动 作用于行内元素 flex-basis宽度 案例一: 案例二: 案例三: flex-grow设置权重 案例一: 案例二: 简写flex-grow:1 0 auto; flex作为一维布局,行和列的使用,忽略的小角色,大…

Arduino IDE for mac 无法加载界面

打开软件后,无法加载界面的问题 1.手动删除“~/Library/Arduino15”文件夹 2.终端中输入sudo nano /etc/hosts,在里面添加“127.0.0.1 localhost”

【短视频SEO矩阵源码开发技术解析——框架应用分享】

为了部署短视频SEO矩阵系统,需要遵循以下核心步骤:首先,需掌握一系列关键技术和知识,涵盖但不限于相关领域的专业技能。 为了确保短视频SEO矩阵系统源代码能够顺利部署,首先需要构建一个适宜的服务器环境。您可以选择…

探索前端世界的无限可能:玩转Excel文件

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

本地运行打包好的dist

首先输入打包命令 每个人设置不一样 一般人 是npm run build如果不知道可以去package.json里去看。 打包好文件如下 命令行输入 :npm i -g http-server 进入到dist目录下输入 命令cmd 输入 http-server 成功

鸿蒙 DevEco Studio 设置状态栏,调用setWindowSystemBarProperties不生效

参考文章:设置状态栏,调用setWindowSystemBarProperties不生效 我使用 setWindowSystemBarProperties 设置状态栏,不生效。 import window from ohos.window;export default {data: {title: World},setSystemBar() {var windowClass null;…

MacOS安装软件后无法启动报错:“已损坏,无法打开,你应该将它移到废纸篓“

目录 报错截图 解决方法 知识科普 报错截图 解决方法 1. 打开系统设置->安全性与隐私->选择任何来源 2. 如果打开没有看到"任何来源",如果不开启“任何来源”的选项,会直接影响到无法运行的第三方应用。开启“任何来源”的方法如下&a…

Linux-用户和权限

文章目录 一. 用户1. 用户分类① root用户(超级管理员)② 普通用户Ⅰ. 创建普通用户命令 ③ root用户与普通用户Ⅰ. 权限区别Ⅱ. 切换用户命令Ⅲ. sudo命令Ⅳ. 为普通用户配置sudo认证 2. 用户组① 用户,用户组② 创建用户组命令② 删除用户组命令② 用户管理命令③ getent 二.…

Flutter动画(二)内建隐式动画Widget

动画效果介绍中给出了选择动画的决策树: 使用动画框架不在我们讨论的话题内。flutter支持的动画包括隐式动画和显式动画。 隐式动画和显式动画 隐式动画和显示动画是两种不同的动画实现方式,它们的主要区别在于控制权和动画的重复性。 隐式动画&#…

【笔记2-5】ESP32:freertos消息队列

主要参考b站宸芯IOT老师的视频,记录自己的笔记,老师讲的主要是linux环境,但配置过程实在太多问题,就直接用windows环境了,老师也有讲一些windows的操作,只要代码会写,操作都还好,开发…

211高校的VMware迁移之路:迁至深信服云平台,更高效、更稳定

某211高校为国家 “双一流” 建设高校、省一流大学,在教育领域占据举足轻重的地位。其教学单位构成丰富多元,学科体系广泛而全面。然而,学校面临着VMware虚拟化平台维保到期、服务器老化等严峻挑战,严重干扰了教学、科研及管理工作…

【Matlab】将所有打开的图像批量保存为JPG格式

将Matlab中所有打开的图像批量保存为JPG格式 前言一、实现步骤1. 获取所有打开的图像句柄2. 遍历并保存图像 总结 前言 在使用Matlab进行数据分析或图像处理时,我们经常会生成多个图像以便观察和比较。有时,为了方便分享或存档,我们需要将这…

Linux实现地址转换和抓包

1.Linux实现地址转换 1.1 SNAT和DNAT NAT:地址转换SNAT:源地址转换DNAT:目的地址转换 内网——》外网:内网色的ip不能直接和公网ip通信,必须要把内网的地址转换成和公网ip通信的地址 外网——》内网:外网也不能直接和内网通信&#xff0c…

RocketMQ 过滤消息 基于tag过滤和SQL过滤

RocketMQ 过滤消息分为两种,一种tag过滤,另外一种是复杂的sql过滤。 tag过滤 首先创建producer然后启动,在这里创建了字符串的数组tags。字符串数组里面放置了多个字符串,然后去发送15条消息。 15条消息随着i的增长,…

[Redis#14] 持久化 | RDB | bgsave | check-rdb | 灾备

目录 0.概述 持久化的策略 1 RDB 1.1 触发机制 1.2 流程说明 1.3 RDB 的优缺点 0.概述 在学习 MySQL 数据库时,我们了解到事务的四个核心特性:原子性、一致性、持久性和隔离性。这些特性确保了数据库操作的安全性和可靠性。当我们转向 Redis 时&a…

AI大模型驱动数据分析:利用自然语言实现数据查询与可视化(1)

在当今AI驱动的时代,数据分析已成为各行各业不可或缺的能力。然而,传统的数据分析流程通常需要掌握SQL、数据处理和可视化等多项专业技能,这对非技术背景的业务人员来说是一个不小的挑战。 想象一下,当数据中心的负责人打开手机时…

Python_Flask03

这篇文章主要介绍的是数据库的增删改查操作,无多余好说的。 from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import text from flask_migrate import Migrateapp Flask(__name__)# 本地基础信息的主机名 HOSTNAME "127.0…