InternLM-XComposer2-4KHD开拓性的4K高清视觉-语言模型

 大型视觉-语言模型(LVLM)在图像字幕和视觉问答(VQA)等任务中表现出色。然而,受限于分辨率,这些模型在处理包含细微视觉内容的图像时面临挑战。

分辨率的限制严重阻碍了模型处理含有丰富细节的图像的能力。例如,在理解图表、表格和文档等类型的视觉内容时,细节的清晰度对于准确解读和生成语言描述至关重要。然而,当图像的分辨率不足时,这些细微的视觉信息可能会丢失,导致模型无法准确地捕捉和学习图像中的关键细节。

现有模型通常只能在一个预先设定的分辨率范围内工作,这限制了它们的适用性和灵活性。在现实世界的应用场景中,需要处理的图像分辨率千差万别,从低分辨率的缩略图到高分辨率的专业图像都有。如果模型不能适应不同分辨率的输入,就无法满足多样化的业务需求,也无法在更广泛的视觉任务中发挥作用。

固定分辨率的处理方式也意味着在面对超高清图像时,模型可能需要对输入图像进行压缩,从而丢失重要的视觉信息,或者在处理低分辨率图像时,模型的计算资源没有得到充分利用。

InternLM-XComposer2-4KHD模型正是在这样的背景下应运而生,它通过一系列创新的技术手段,显著提升了LVLM在高分辨率图像处理方面的能力。

方法

模型架构设计

InternLM-XComposer2-4KHD模型的架构设计是其高性能的关键因素之一。该模型的架构建立在InternLM-XComposer2的基础之上,进行了针对性的扩展和改进,以支持高达4K HD分辨率的图像处理。包括以下三个核心组成部分:

轻量级视觉编码器:OpenAI ViT-Large/14

视觉编码器的作用是将输入的图像转换为模型能够理解的特征表示。InternLM-XComposer2-4KHD使用了OpenAI的ViT-Large/14作为其视觉编码器。ViT,即Vision Transformer,是一种基于Transformer架构的视觉模型,它通过将图像分割成一系列的小块(patches),然后将这些小块线性嵌入到一个高维空间中,从而实现对图像的有效编码。ViT-Large/14表示使用了14层Transformer结构的较大型号ViT,这为模型提供了强大的视觉特征提取能力。

大语言模型:InternLM2-7B

语言模型是处理和生成文本的核心组件。InternLM-XComposer2-4KHD采用了InternLM2-7B作为其语言模型,这是一个拥有7亿参数的大型Transformer模型。这个模型不仅能够捕捉到语言的复杂结构和语义,还能够支持多模态任务中的文本生成和理解。通过与视觉编码器的输出相结合,InternLM2-7B能够提供对图像内容的深入理解和准确的语言描述。

部分LoRA对齐:特征对齐

为了实现视觉编码器和语言模型之间的有效对齐,InternLM-XComposer2-4KHD引入了部分LoRA(Low-Rank Adaptation)技术。LoRA是一种参数效率的适配方法,它通过对模型的一小部分参数进行调整,而不是对整个模型进行训练,从而实现对模型的优化。在InternLM-XComposer2-4KHD中,LoRA技术被用来对齐视觉特征和语言特征,确保了两种模态之间的信息能够有效地交互和整合。

这三个组件共同构成了InternLM-XComposer2-4KHD的架构,使其能够处理高分辨率的图像,并在多种视觉-语言任务中表现出色。通过这种设计,模型不仅能够理解和生成与图像内容紧密相关的语言描述,还能够在保持计算效率的同时,处理比以往任何模型都要高分辨率的图像输入。

动态图像分割策略

为了解决高分辨率图像的处理问题,该模型采用了动态图像分割策略。这一策略允许模型接收不同分辨率的图像输入,并能够根据图像的最大补丁数H动态调整图像的分割方式。具体来说,输入图像被调整并填充到一个以336×336大小为单位的网格中,同时保持图像的原始宽高比。这一过程确保了图像的细节信息不会因为固定的输入尺寸而丢失。

预训练阶段

在预训练阶段,模型使用了三种不同目标的数据集,以增强模型在一般语义对齐、世界知识对齐和视觉能力方面的性能。预训练使用了OpenAI CLIP ViT-L-14-336作为视觉编码器,并采用了动态图像分割策略中的‘HD-25’设置,以此来处理高分辨率的图像输入。

预训练过程涉及将图像分割成多个小块,并从每个块中提取特征。这些特征随后被合并,并与语言模型的输出相结合。训练过程中,模型学习将视觉特征与相应的文本描述相匹配,以此来理解图像内容及其对应的语言表述。

4KHD监督微调

在预训练之后,模型通过4KHD监督微调进一步增强了对高分辨率图像的理解能力。这一步骤特别针对OCR相关任务,这些任务对文本的清晰度和细节有更高的要求。微调过程中,模型采用了混合分辨率训练策略,对于需要极高分辨率的任务,如高清OCR问答,模型会使用‘HD-55’设置来输入4K(3840×1600)分辨率的图像。而对于其他任务,模型则采用了动态分辨率策略,以增强对输入分辨率变化的鲁棒性。

创新点说明

InternLM-XComposer2-4KHD模型的创新之处在于其对高分辨率图像的处理能力、动态分辨率适应性以及全局-局部格式的理解方法。这些创新点共同推动了大型视觉-语言模型(LVLM)在图像理解方面的进步,特别是在处理高分辨率和结构化图像的任务中。

模型的高分辨率处理能力是其最显著的创新之一。InternLM-XComposer2-4KHD能够处理高达4K HD分辨率的图像,这在当时的LVLM中是前所未有的。与只能处理较低分辨率图像的现有模型相比,该模型可以捕捉到更多的视觉细节,这对于理解图像中的复杂场景和细微元素至关重要。这种处理能力使得模型在高清OCR任务、详细文档扫描和复杂图表理解等方面具有显著优势。

模型采用了动态分辨率技术,可以根据输入图像的尺寸和宽高比,自动调整图像的分割方式。这种自适应分辨率的能力,使得模型可以灵活地处理不同分辨率的图像,而不需要对每种分辨率进行单独的训练或调整。此外,模型还能够自动配置补丁的数量和布局,这是通过在预训练的Vision Transformer(ViT)基础上进行的,ViT能够根据图像的内容和结构,动态地调整补丁的划分,从而优化模型对图像特征的提取。

模型引入了全局-局部格式的理解方法,这在处理结构化图像方面尤为重要。全局视图允许模型首先获取图像的整体上下文信息,而局部视图则使得模型能够分别处理图像的各个部分。通过动态图像分割策略,模型将图像分割成多个小块(patches),并分别提取每个小块的特征。这种结合全局和局部信息的方法,使得模型能够更全面地理解图像的结构和内容,特别是在理解文档、图表和表格等结构化图像时,这种方法显示出了其独特的优势。

实验结果

实验结果显示,InternLM-XComposer2-4KHD在10个基准测试中的表现达到了或超过了GPT4V和Gemini Pro。这一结果证明了InternLM-XComposer2-4KHD在处理高分辨率图像方面的显著优势。尤其是在高清OCR任务中,模型展现出了卓越的性能,这归功于其能够处理高达4K分辨率图像的能力。

InternLM-XComposer2-4KHD与闭源API和先前开源SOTA模型的比较显示,InternLM-XComposer2-4KHD在多个基准测试中取得了SOTA结果,尤其是在DocVQA和ChartQA上,其性能超过了GPT-4V和Gemini-Pro。与开源SOTA方法进行了比较,显示了InternLM-XComposer2-4KHD在大多数基准测试中的优越性能。

高分辨率任务的性能评估展示了InternLM-XComposer2-4KHD在处理高分辨率图像方面的显著优势,尤其是在OCR相关任务上。

当推理时使用的图像分辨率高于训练时使用的分辨率时,模型在处理文本相关任务时的性能有所提升。例如,在InfographicVQA任务中,当从HD9(较低分辨率)切换到HD16(较高分辨率)进行推理时,模型的性能提升了8.1%,而无需额外的训练。这一发现指出,即使在训练阶段未达到最高分辨率,通过在推理阶段提高图像分辨率,模型仍能够更好地捕捉图像中的文本信息,从而提高其对文本的理解能力。

全局视图对于模型在多个基准测试中的性能至关重要。当全局视图被移除时,模型在所有基准测试中的表现都有所下降,例如在MMBench EN-Test中的性能下降了4.4%。这表明全局视图为模型提供了一个整体的图像上下文,有助于模型更好地理解和解释图像内容。

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

Github 地址:https://github.com/InternLM/InternLM-XComposer

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络空间安全数学基础·多项式环与有限域

5.1 多项式环(掌握) 5.2 多项式剩余类环(理解) 5.3 有限域(熟练) 5.1 多项式环 定义:设F是一个域,称是F上的一元多项式. 首项:如果an≠0,则称 a…

【Python】认识 Python

一、计算机基础概念 1、什么是计算机 很多老一辈的人,管下面这个叫做计算机。然而,它只是 “计算器”,和计算机是有很大区别的。 现在我们所说的计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等…

Qt之QGraphicsView —— 笔记3:矩形图元连接(附完整源码)

效果 完整源码 注意:在ui文件中拖入一个QGraphicsView类窗口控件,然后用MyGraphicsView提升该类。 main.cpp #include "widget.h" #include <QApplication>int main(

【背包-BM70 兑换零钱(一)】

题目 BM70 兑换零钱(一) 描述 给定数组arr&#xff0c;arr中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币可以使用任意张&#xff0c;再给定一个aim&#xff0c;代表要找的钱数&#xff0c;求组成aim的最少货币数。 如果无解&#xff0c;…

《数据结构》

简答题 一、设散列函数H(key)=key MOD 11,用线性探测再散列法解决冲突。对关键字序列{ 13,28,72,5,16,18,7,11,24 }在地址空间为0-10的散列区中建散列表,画出此表,并求等概率情况下查找成功时的平均查找长度。 散列函数为 H(key)=key MOD 11,将关键字序列 {13,28,…

width: 100%和 width: 100vw这两种写法有什么区别

width: 100%; 和 width: 100vw; 是两种不同的 CSS 写法&#xff0c;它们在实际应用中会有不同的效果。以下是这两种写法的主要区别&#xff1a; width: 100%; 定义&#xff1a;将元素的宽度设置为其包含块&#xff08;通常是父元素&#xff09;宽度的 100%。效果&#xff1a;元…

计算机毕业设计hadoop+spark+hive知识图谱股票推荐系统 股票数据分析可视化大屏 股票基金爬虫 股票基金大数据 机器学习 大数据毕业设计

哈 尔 滨 理 工 大 学 毕业设计中期检查报告 题 目&#xff1a;基于Spark的股票大数据分析及可视化系统 院 系&#xff1a; 计算机科学与技术学院 数据科学与大数据技术 姓 名&#xff1a; 鲍方博 指导教师&…

品牌策划:不只是工作,是一场创意与学习的旅程

你是否认为只有那些经验丰富、手握无数成功案例的高手才能在品牌策划界崭露头角&#xff1f; 今天&#xff0c;我要悄悄告诉你一个行业内的秘密&#xff1a;在品牌策划的世界里&#xff0c;经验虽重要&#xff0c;但绝非唯一。 1️、无止境的学习欲望 品牌策划&#xff0c;这…

JAVA-LeetCode 热题-第24题:两两交换链表中的节点

思路&#xff1a; 定义三个指针&#xff0c;其中一个临时指针&#xff0c;进行交换两个节点的值&#xff0c;重新给临时指针赋值&#xff0c;移动链表 class Solution {public ListNode swapPairs(ListNode head) {ListNode pre new ListNode(0,head);ListNode temp pre;wh…

递归(全排列andN皇后)

全排列 分治与递归 递归是实现分治的一种方法 思想思路 题目&#xff1a; 全排列i 我这样直接输出会多输出一个空行&#xff08;最后一个\n&#xff09; #include<stdio.h>using namespace std; const int maxn10; int an[maxn]; int n; bool hash[maxn]{0}; int c0…

wx小程序自定义tabbar

1.在app.json文件中&#xff0c;添加自定义tabbar配置&#xff1a;"custom": true "tabBar": {"custom": true,"backgroundColor": "#fafafa","borderStyle": "white","selectedColor": &quo…

“开源与闭源:AI大模型发展的未来之路“

文章目录 每日一句正能量前言数据隐私开源大模型与数据隐私闭源大模型与数据隐私数据隐私保护的共同考虑结论 商业应用开源大模型的商业应用优势&#xff1a;开源大模型的商业应用劣势&#xff1a;闭源大模型的商业应用优势&#xff1a;闭源大模型的商业应用劣势&#xff1a;商…

虚拟机与windows文件同步

如果上图中不能设置&#xff0c;则在虚拟机mnt文件夹执行以下命令&#xff1a;

Go微服务: 分布式之TCC事务

TCC 分布式事务 T: Try 预处理, 尝试执行&#xff0c;完成所有的业务检查&#xff0c;做好一致性&#xff0c;预留必要的业务资源&#xff0c;做好准隔离性C: Confirm 确认&#xff0c;如果所有的分支Try都成功了, 就到了这个阶段, Confirm 是真正执行业务的过程, 不做任何业务…

【数据结构】图论入门

引入 数据的逻辑结构&#xff1a; 集合&#xff1a;数据元素间除“同属于一个集合”外&#xff0c;无其他关系线性结构&#xff1a;一个对多个&#xff0c;例如&#xff1a;线性表、栈、队列树形结构&#xff1a;一个对多个&#xff0c;例如&#xff1a;树图形结构&#xff1…

Liunx环境下redis主从集群搭建(保姆级教学)02

Redis在linux下的主从集群配置 本次演示使用三个节点实例一个主节点&#xff0c;两个从节点&#xff1a;7000端口&#xff08;主&#xff09;&#xff0c;7001端口&#xff08;从&#xff09;&#xff0c;7002端口&#xff08;从&#xff09;&#xff1b; 主节点负责写数据&a…

澳大利亚和德国媒体投放-国外新闻发稿-海外软文推广

德国媒体 Firmenpresse德国新闻 Firmenpresse德国新闻是一家备受欢迎的新闻发布平台&#xff0c;其好友搜索引擎在收录网站方面表现出色。如果您希望更好地将您的新闻传播给德国受众&#xff0c;Firmenpresse德国新闻将是一个理想的选择。 Frankfurt Stadtanzeiger法兰克福城…

《深入浅出C语言:从基础到指针的全面指南》

1. 简介 C语言是一种通用的编程语言&#xff0c;广泛应用于系统编程、嵌入式系统和高性能应用程序。它由Dennis Ritchie在1972年开发&#xff0c;并且至今仍然非常流行。C语言以其高效、灵活和强大的功能著称&#xff0c;是许多现代编程语言的基础。 2. 基本语法 2.1 Hello, …

K8s Pod的QoS类

文章目录 OverviewPod的QoS分类Guaranteed1.如何将 Pod 设置为保证Guaranteed2. Kubernetes 调度器如何管理Guaranteed类的Pod Burstable1. 如何将 Pod 设置为Burstable2.b. Kubernetes 调度程序如何管理 Burstable Pod BestEffort1. 如何将 Pod 设置为 BestEffort2. Kubernete…

ROS云课三分钟外传之CoppeliaSim_Edu_V4_1_0_Ubuntu16_04

三分钟热度试一试吧&#xff0c;走过路过不要错过。 参考之前&#xff1a; 从云课五分钟到一分钟之v-rep_pro_edu_v3_6_2-CSDN博客 git clone https://gitcode.net/ZhangRelay/v-rep_pro_edu_v3_6_2_ubuntu16_04.gittar -xf v-rep_pro_edu_v3_6_2_ubuntu16_04/V-REP_PRO_EDU…