【通义时间】如何让Qwen2.5-VL更好地看见这个世界?

让Qwen2.5-VL更懂视觉世界

媒体详情

上传日期
2025-06-02 10:39
来源
https://www.bilibili.com/video/BV1TMRHYJEaw/
处理状态
已完成
转录状态
已完成
Latest LLM Model
gemini-2.5-pro-exp-03-25

转录

下载为TXT
speaker 1: 大家好,然后我是白帅。 然后今天很荣幸能跟大家来介绍我们的千维瑶系列。 然后千问摇系列也是千问model系列里面主打一个具备视觉能力的模型。 然后我们的目标其实是希望让整个微model能够更好的看到这个世界。 为了更好的看这个世界,我们其实在一步步提升他的能力。 嗯,最开始在千问未的时候,我们会希望通过一个one model,让他能够将所有的视觉任务涵盖在一起。 然后更进一步的,我们是希望模型能够更清楚的看到这个世界。 那怎么能看看到这个更清楚的看到这个世界呢? 因为人其实对于世界的感知其实是没有分辨率的概念的。 而对于图像,我们正常在做vl model的时候,它其实是需要输入到把图像输入到模型进行处理。 而这里面一个很关键的因素就是我们输入多大的图片,多少的分辨率。 所以传统的方式或传统的C大家都在用一个比如说很固定的分辨率,比如224或336去1个比如说的任务。 其实他和人的这种感知是非常反直觉的。 所以我们希望我们魔豆能够动态的去接受更多分辨率的输入,来更好的感知这个世界。 然后第一步是我们能够更清楚的看到这个世界。 那更进一步的是我们能够看到动态的这个世界。 也就是希望我们能够具备一个呃视频的理解能力和视频在视频中我们能够感知它的一些,比如说动静的快慢和时间的长短这样的概念,这样才能更像人一样去感知这个世界。 那基于我们更好的去理解和感知个世界之后,其实我们希望的目标是我们的model能够达到一个视觉agent的能力。 他能够在生活中能在能能够在这个虚拟世界能够去扮演这样一些自动化的处理,或者或者是帮我们去执行一些很多代理的任务。 然后首先我会向大家回顾一下整个千维要系列的发展和我们做的一些小的工作。 然后会向大家介绍我们最近的千问2.5未1系列和讲述它的一些比如说我们模型的更新,能力的更新,以及包括我们在一些训练或者一些模型上的一些细节。 嗯,在二三年的八月的时候,我们推出了千问。 嗯,可以看到右边这个图。 我们的模型它这个这个最大的特色就是我们首先能力很强,他在多个task上都达到了一个搜索水平。 同时它也能够在一些单任务,就是很多任务其实在这在在这批次出来之前,大家做它的方式可能是一个专有模型。 比如说专有的一些呃文档的理解啊,比如说picture struct,还有一些比如说定位能力,比如然后或者是一些呃general v的so塔. 可以看到我们的model在整个多任务上都达到了一个很好的水平,同时它甚至超过了很多专有模型的一个单领域的sota。 这也其实就像它我们这个论文的定义一样,我们的模型不仅能够去做视觉理解定位,而且还能呃做一些文字图片里文字的理解O R的任务。 然后不仅于此,其实基于这些能力,我们的模型也就意味着他可以做更general的一些事情。 这个其实就发挥大家更多的想象力。 因为我理解其实在很多任务的情况下,呃,我们无论是定位理解还是各样的一些交互,都可以另位定义成一种微Q任务。 那所有的视觉任务转微Q任务,那我们模型都可以去通过微Q的方式去完成各类的task。 而在训练的过程中,我们也是第一次引入了大概有呃1B或者几B的数据来训这个model。 我们分了挖stage,比如说第一个阶段我们希望能得到一个更好的vi因为之前因为大部分大家采用clip做初始化的时候,他带来的问题是它的语义性很强。 但是对于一些像文字或者or任务,它其实比较弱的,而文字又是我们真实世界图片里面信息量很大的一个来源。 然后在第二个阶段,我们用更多的market task数据去做一个呃,比如说呃整个网络的云训练。 然后这里我们为了压缩它的token,采用了一个cross的方式。 然后第三个阶段,其实我们采用了一个呃指令微调。 用更精细的数据让他能够具备一个初步的对话能力。 现在来看这个模型还是比较初始的一个状态。 但他最大的意义是让我们能够证明一件事,就是一个one model的we model,它能够去完成各种各类各种各样多样的一个task。 然后嗯然后的话是在24年的一月,我们推出了个千max和千plus,这也是国内第一个model能够达到一个gt 4v level的呃表现。 同时它在一些比如说像文字理解上,特别是中文的文字理解上,实际上是超过了open g p 4V和一些的水平的。 然后在大面上的很多benmark上都达到媲美的水平。 然后其实当时其实对于很多呃无论是我们的客户还是大家的反馈,对我们这个model的评价还是很高的。 其实在这里我们就已经尝试去解决这个呃多分辨率的问题。 然后在24年的八月份,我们推出了千vl 2系列千万2v然后,这个model也是第一个开源model。 能打能够说在大部分的上超过了比如说像4O0513或者plus 3.5 son的这样的呃模型。 然后他只会在一些比如说更复杂的,像这种复杂问题的解决,或者是一些ma上, 还逊于我们的一些比如说b model。 然后它的核心点就其实是就是我们将呃动态分辨率的问题,还有m rope的问题,还有一些video的呃理解,引入到一个更更general的方式和通用的方式去去训练。 然后在24年的12月份,我们推出了Q1Q72B它是基于我们的千2V72B做一个remodel的呃继续训练。 可以看到我们通过呃增加这样一个长的thinking的过程,其实能够有效提高模型对于比如说一些更复杂的问题的解决。 比如说在mas上或者在一些学科问题上。 像更难的比如说奥林匹克的这种。 嗯,办事它其实会涵盖比如说高考或者一些更复杂更难的问题上,也能看到明显的提升。 其实也证明了说对于我们在视觉问题上,也需要一个比较长的reason的部分去提升它整个模型。 对于更复杂问题的解决,其实可以看到在这里我们的呃在M U上也达到了搜塔的水平。 相比于我们千文2V的72比64.5,达到了一个70.3,基本上可以有可我们目前所有的这些塔模型相媲美。 然后就在今年的春节吧,就是2 05年1月2025年1月的时候,我们发布了我们的千文2.5位啊,这个模在72B的这个规模上,我们的模型其实有一个特点,就是我们纯文本能力已经和千文2.5呃V应该是这里应该是千点千文2.5 72B保持一致。 然后威L的能力上达到了苏塔,然后可以看到在一些比如说这个橙色就是我们的千文2.5VL的72B而对于这个青色的话,它是千文2.5的72笔。 在纯我们的一个we model,在纯文本的大部分的benmark基本上可以达到他的媲美或者略高于他的一些水平。 这就意味着我们的vmodel可以作为一个纯文本模型一样去回答我们各样的问题。 然后在视觉bench mark上,因为我们的视觉bench mark其实更来自于我们嗯就是动态分辨率,或者说我们对视觉的感知的的测评。 所以在这些benmark我们达到了更高的水平。 其实相比于我们的上一代的千问2V72V有了一些很明显的进步。 特别是在一些video的理解上,还有agent的能力上。 然后然后我们来看一些具体的指标,就是这个是我们72B的model相比于Jr flash的这个指标上,其实也看到基本上大部分指标已经呃是有来有回了。 就像我们之前像在2VL上有具有劣势的M U在这一版上,其实在一个只用zero t的指标上,已经可以和这些模型去去K然后这也是来自于最新版本的一个模型的测评的结果。 然后像我们一些info这一版,其实我们也有一个长足的进步。 其实对于info为相相比,do它是对于一个文档页面的一个理解。 而info它对于这个图表或者更复杂的一些呃图表类或者文档类的信息收集有一个更更更难的一个task上。 在这这一版上我们相对于上一版来说大概有呃三个点的提升。 其实也能展现出我们在文档智能这方面有一个非常不错的进步。 特别是一项像一些更复杂的or任务或像cc O R,他其实会定义多语言,还有一些复杂的K I E的提取信息的任务上都能得到一个有效的提升。 还有像or半V 2,嗯,然后我们这版特意还嗯推出了一个格式,或者说我们自己定义了一个格式,叫做千L H T M L。 也是希望说我们在我们的一个通用model上,能够把一些文档智能或者是一些O R任务都给更高效更好的去解决进来。 然后像general vq a上我们也会可以看到,其实我们的水平也是非常一致的,达到一个so水平。 然后整体上我们这一版其实特意强,特意提升了一个点,就是我们在video上的on。 然后除了我们在一些正常的一些呃视频的理解上,我们其实在像更长的视频理解上也达到了一个长的禁。 比如说ibunch ch还有在一个就是相比于之前的话,大家在对于video里面时刻的定义上,可能还是在停留在一个比如说专用模型上的一个时刻定位。 而这一版我们通过一个通用model也能在video里面时刻的事件定位上也达到了一个搜塔水平。 超过了比如说这里的呃我们一个专有的模型上的结果。 然后特意我们在这里的visuagent上的提升。 因为visuagent这里可能我们是想强调的是,对于我们通过we model去控制手机,或者是控制或者控制pc上能够完成自动化的一些任务,它里面就会涉及首先是一个grding的能力,就是我首先要知道我要去点击这个屏幕,我要完成这个任务的时候,要点击屏幕的某个位置。 像前三个呃前四个benmark就比较偏向于去测评模型在定位上的能力,包括在前两个可能偏向于mobile上的一个能力。 嗯,二第三个和第四个更强调在一个pc或者在一个浏览器上一个定位的能力。 嗯,可以看到我们在这个定位能力上基本上已经达到了全面搜查水平,甚至超过了很多呃专有模型上的一个表现。 然后在那个像最后两个班车,mark是一个更复杂的任务。 他可能是给定一个task。 比如说我要去呃去操纵手机,帮我订一张票,或者要去操作电脑,帮我去搜集一个信息。 在一个完整任务上的一个目标的达成率。 像在安卓ID word我们可以达到百分之呃35%。 然后在在os word在pc上的一个我们可以达到百分之呃8.8。 其实在相比于目前的通用模型来说,我们其实已经达到了第一梯队的一个水平。 呃,目前可能和一些专用模型还是有差距。 但是我相信在于未来我们对于模型的基础,模型的不断迭代和能力的提升,将会说他作为一个通用model也能更够完成的自动化的完整很多专用任务上的一个结果。 然后就是我们的整体这次在2.5维上我们有三个版本的model,分别是3B7B和72B嗯,在7B上其实我们也看到这一版的7B相对于上一版来说是也是有一个非常明显的进步。 无论是像大学题目这样的复杂问题的解决,还有像dock上的一个结果,还有General M和video understanding之类的结果来看的话。 特别是可以看到我们在do上嗯这个指标基本上已经超过了目前所有的搜搜塔,基本上在70这个7 95.7在道口位上大概是一个目前我理解应该在72B才能达到水平,我们在7B上就能达到这样一个水平,可见我们模型对于do的一个理解上已经达到了一个非常高的level。 其实对于用7B去做一些自动化的文档的处理,或者p df的页面处理,其实已经能达到一个非常理想的水平。 也希望大家可以多去试用我们的奇域model,去尝试一下这样的任务。 甚至你通过一些微调可以达到一个更高的水平。 然后我们也是用相同的数据和相同的呃的整体的我们的一些训练策略来完成这个model的迭代。 所以可以看到其实我们在无论是video还是着呢,其实也有一个不错的表现。 然后出然后他整体的表现可以看到,基本上已经可以达到和so mini一个comparable的一个水平。 然后还有就是3d model。 3d model它其实是非常适合去做一个本地化部署,或者说是一个呃甚至到移动端的一个一个一个model。 然后我们这一版的model基本上可以看到,在可以媲美之前我们上一版千27B的一个水平。 特别是我们在呃即使在3B这么小的规模上,我们在比如说一些简单的视觉的,比如说我们半演A一些定位能力上也是非常高的一个水平。 其实对于我们想要做一些呃离线的理解任务或者是一些定位任务,或者一些决策任务,其实3B也是一个很好的选择。 然后在整体上来总结一下我们千问2.5 we在能力上的一个进步。 就是这一版我们会去强调模型能够有一个om的dog的passing的能力。 为什么叫only的dog passing模? 是我们是希望能够将所有的2D的文,无论是文档还是海报还是页面,都可以当做一个都当做统一的方范式去表示。 而且并且能解析能解析出它的,比如说它的嗯最简单最基础能力就是它的文文字,就是O L还有它的一个阅读顺序。 然后更进一步是我们希望他能够对于里面多语言能力也有很好的一些支持。 然后他不仅仅能够把文字解析出来,他也能够正确的去把里面的,比如说呃图片的信息也能提取出来。 还包括图片里面的一些嗯比如说一些music化学式图表table等等等等,都能够有效的解决出来。 还有它的整个布局也能有效的解决出来。 这样就可以作为一个至少来说对于2D平面来说,做到一个统一全能的解析解析模解析模型。 然后第二点就是我们这一版特意去提升了模型对于光的一个通用性。 为什么叫通用性? 其实之前大家对于grding这个事,就特别是在上一代做检测或者呃光键的时候,它大家的这个停留的层面还可能在一些限定的类,限定的语句和限定的格式上。 然后我们这一版是希望是它能够不仅能够准确的定位出结果,而且可以用比如说我们想要去通过一些呃box或者是一些point,或者说我们想利用这样的国王定型去做一些额外的任务。 比如说数数,或者说我们想要输出格式,可以是一个Jason,或者说我们希望他能够有具备一个这种空间推理,或者说叉M的格式的输出。 呃,它能够作为一个general reasoning或者general感知世界的一个中间表达,更好的服务,说我们更好的去感知这个世界。 然后第三个点就是说我们从上一代能够理解video到这一版。 我们实际希望他能够更长的理解这个video的内容,理解长video内容,并且能够更细力度的去定位到视频中的一些事件能力。 其实对于目前大家很多采用真的输入以及说呃嗯一些固定帧的采样。 其实大家目前的模型对于一些呃我们时间的动作的快慢,还有时间的概念,其实感知是非常弱的。 所以我们这一版是从从我们的一个动态分辨率扩展到了一个时间维度。 希望说我们能通过一个动态的rps对然后通过绝对的一个未知编码,绝对的时间编码,使得我们的模型能够正确的理解。 在这个视频中还有一个时间的概念和时间间隔的概念,而时间间隔能够对齐到我们真实的一个时呃就是时间的流速。 对然后同时我们能够理解达到,比如说甚至能通过动态的ips输入一个长达1小时的视频。 然后对于事里面是事件的定位能达到精确到每个秒钟的一个级别。 然后就是我们想要做的就是在这样一个更强大的感知model的情况下,我们能不能做一些更复杂的agent的视视觉能力的呃代理代理任务。 比如说去做一些我们操纵手机或者操纵呃电脑的一些尝试。 嗯,然后的话接下来是我们的整体的一个网络结构。 嗯,可以看到这个图,呃,我们想表达几个点,其实说最主要的就是三个点。 第一个是就是原生的动态分辨率啊,为什么叫原生的动态分辨率呢? 就是因为我们是能够几乎接近把原始图片,原始尺寸的以原始尺寸的图像去输入。 并且能保持它长宽比,保持它基本上的一个配送数量。 嗯,不用去切额外的patch,不用去找匹配对应的一个anchor,就以原始的分辨率输入。 比如很好的一个例子就是我们左边这张图,然后这里的它的一个图片的分辨率长达了一个8204和一个宽度是1092这样一个很大的图,它的长宽比达到了8比2 8比1。 如果像传统的reze,比如说re固定的长宽比,它其实很容易就呃被扭曲,无法去得到它有效的一个信息。 然后对于比如说很小的图,它的长度可能只有28乘2 24。 如果我们这个很小的图也要把re到很大的程度,比如说448乘48,它其实是一个脱的浪费,然后它也会导致它一个长宽比的扭曲。 所以我们就是以我们的我们为什么刚刚我也提到了说我们接近于原尺寸的输入,因为我们会存在一个呃patch的的概念,就是在网络第一个呃我们这里会有一个图嘛,就是我们在最开始的时候会通过一个呃3D的卷积去把呃图片做一个输入。 这里的一个knel size是2乘14乘14的一个大小。 那就意味着我们在最后呃而且在最后的时候我们会呃有一个Mar层, 他会通过去把一个22的呃patch emding做一个再一次merge。 所以对于我们最终输入到M的一最小单位的token对应的实际的图片的分辨率其实是一个28乘28。 所以为了使得我们能够呃有比较好的映射关系,所以我们这里会把图片先reze到一个对28取整的size。 但它28取整对于大部分的图片来说,它的长宽比基本上是原始的保留下来了。 然后在这个情况下我们就可以去动态的输入,呃,对不同大小的图片会有一个动态的输入和映射。 就比如说刚刚提到这个8000 0 8200 004乘以1092的图片,可以被映射到11427个头肯的大小。 因为它对应的就是它的长和宽分别除以28除以28得到的一个头肯的映射关系。 而对于这个28乘24的一个图片,其实它只映射到一个88个头Ken的大小。 它其实对于我们实际的图片的输入,我们可以根据它实际的大小来做一个动态的映射。 当然这里面就会带来一些新的问题,后面我会大家介绍。 就是在使用我们的model的时候,可能会有一些技巧或者一些trade off来让大家能够高效的用到我们的model。 就是对于视频的输入,相比于上一版我们可能更固定的一个ips输入来说的话,我们这一版采用了一个呃动态ps采样训练的方式。 什么叫动态ps采样训练呢? 因为对于模型输入的视频,它其实最后输入的是真。 那对于我们帧的话,其实我们可以以不同的间隔去采样它的帧数。 但是如果我们像传统方式只是把帧输入到里面,它其实缺少了一个推时间的概念。 就相相当于我取的,比如说我是在取的是0秒的帧和4秒的帧,还有8秒的帧三帧的情况下的输入和我取了五帧,在零秒、2秒、4秒和6秒,还有8秒的这个帧的这个它们的时间间隔是不一样的。 但如果只是以图片的方式输入,它其实是get不到它中间的这个时间间隔的。 所以我们做的第一件事情,就首先我们在训练的过程中,就会把这个嗯我们的视频做一个呃动态的采样。 就是我们在渲染中可以从最小就是8分之1的ips到8 ps的一个动态采样。 然后他就会得到不同的帧,然后我们会涉及到一个,因为上一版我们提出了一个m rope,m rope简单的概念就是我们会将对于视频的输入,对于文字的输入,它首先我们会将对于每一个token的这个position ID划分为三维。 三维分别代表的它的是时间的概念,还有它的宽度的概念,还有它的高度的概念。 而每个ID的大小就对应它这个ID所对应的这个这个维度的一个数值。 那比如说我在第一个帧或者第一个ID它的对应就是零,然后123。 但是这一版我们把时间维度的这个概念的这个token特意去和时间做了一个对齐。 是怎么做对齐的? 比如说我们现在有个一个8秒的视频,然后我们对应的这个帧数比如说是16个ID那我们在这一版可能用的是每每秒两个ID来表示,那对应的话8秒的话大概就是16个ID那就是从0到15。 那我以0.5IP来采样的话,他其实取的是D 0和D10 50 15的这个ID然后对应的帧也是D 0和第15这个帧。 如果以这个呃每秒两帧的采样角度来说的话啊,对这呃是呃这里表达有一点问题,就是它其实是采用了四针。 因为我们这里会有一个就是刚才也提到了我们的呃第一个conclu它, 其实是一个2乘14乘14的2,对应的就是它的一个时间空呃时间的维度。 那这里就会带来一个二倍的一个呃3D的二倍的呃合并,就是基实上两帧会被合并为一帧的一个一个头肯。 那所以所以在0.8秒对于0.5 ps它其实是采样了四帧。 然后在这里因为我们和呃的3D的卷积的原因,会变成两帧的一个呃定。 然后它对应的时间温度ID我们就取的是零和15。 然后对应的我们如果取四帧的话,你可以看到其实我们取的是05是15,那它的ID也对应的是05是15,那它这个针就和对应的ID ID表示的是十克,那底对应到底下的具体的时间就能对应上。 那模型其实就可以通过他这个时间维度的ID去映射到对应的那个时刻的时间,然后能得到一个我无论是以不同的我用多样的I ps采样,但他的这个ID都是temperature的ID其实都能和时间的绝对时间对应上。 那它就可以去get到我这一帧这个画面是在第几秒发生的,然后以及说这个两秒之间发生这样的变化,对应它这个动作的幅度是大还是快,是是动作是慢还是快。 对,是可以得到这样一些呃信息。 那对于我们在训练的过程中加入更多对于这种时刻定位的任务,来激发他这个能力其实就可以。 后面我们也会展示一些case来表达说我们的模型在在video gr这个能力上能达达到什么样一个效果。 然后第二个点就是说我们对于上一版的m rope做了一个改进哦,其实就是刚刚也提到了,就是我们将它对应到了一个绝对的位置时间。 然后我们的其实对刚刚还没有忽略的一个点,就是我们在处理的时候,因为会有多个模态,因为它有视觉它有一个视觉的模态,它的模它的信息其实可以很容易的表示为3D因为它有时间空间空间有它的H和W而对于text来说,为了保持我们对于之前的一个兼容性。 我们只需要将我们对应的那个三个维度的ID设为一样,就能保证说我的position其实和之前纯本在一地的情况下的ro保持一致。 那就能够自然的去兼容到输入,混合输入,包括文本图像还是video的这样一个表达。 好有第三个点就是我们希望能够去设计一个更快跟高效的一个微encoder,其实可以通过这边这个图看到。 嗯,因为我们在动态分辨率的输入的情况下,它会带来一个新的问题。 就是当我们的输入的图片分辨率很大的情况下,比如说我们达到一个4K乘4K的输入的情况下,那它整个在vi的计算量会非常大。 因为它整个在之前的版本,它是一个呃for attention的方式,而且本身在进入到M之前,它会有一个2乘2的merge。 那它在之在进入之前呢,它整个的分数是在进入M之前的四倍,然后这个四倍的概念会带来比如说四四方的一个额外的呃计算量。 那特别是当于我们的模型的自空量更长,比如他达到了一个N那就N方的一个整个计算量的增加,其实会对我们实际的呃计算或者输入更大的图片的情况下带来挑战。 所以为了缓解这样的一个呃无论是在训练中会带来额外的负载不均衡,还是对在于测试中态也会带来额外的负载不均衡。 所以我们这一版特意去改进了这方面效率的问题,就是我们会在里面在vi里面去引入更多的window attention。 然后整体上我们只加入了四层的一个for attention的呃呃的的attention层,而其他的attention层都采用了window attention,而我们的window attention都是非常小,它整体的window只有112乘112,112乘12经过一个14乘14的patch,它最终到这里面,它其实就是一个8乘8的1个window size,而8乘8的就是一个整体是64的1个大小的一个的一个。 它其实在通过即使我们把它扩的很大的分辨率,它在外带来的额外的因素量都是非常小的。 使得我们能够更好更快的去得到一个对于图片输入的一个response。 因为在我们做一个visual ent的时候,它会有一个第一步的一个实验。 这个实验基本上会有我们整个vi的实验带来和同时进入的整个ending的整个过程的实验做决定的。 所以这里我们通过减少为的运算,也能使得他在对于一些呃连续的交互任务中能够得到一个更快的及时的反应。 然后我们也会发现,其实对于模型的训练过程中,特别是vi的部分,它其实会更关注的其实是它的分辨率大小,包含的信息的对应性。 然后其实在attention的这个整个的呃计算量降低其实并不会很大的影响他的整个performance。 然后我们也更一步进一步使得他和M的话整个网络结构更一致。 然后我们都采用了R now和g的方式去去构建这个的部分,然后使得它的整体代码或者结构也和M的话更加一致和兼容。 然后更进一步的是我们对于整个训练过程的一些细节。 就是首先是在网络结构上,其实我们会呃在上面图没有特别强调,就是我们在呃威T和中间会有一个mer层, 它其实就是一个两层的M P然后它的方式就是我把相邻的2乘2的token通过一个M P的映射来得到一个和我们I M input的invding一致的一个呃的vision的token。 然后这里的映射其实就是通过一个P来建设它,其实这种方式能够实现一个动态的映射。 同时它也比较结构比较简单,比较容易去做scale scale ill up。 然后我们三个版本的模型采用的vi大小基本上是一致的。 对它其实只会带来最后在Mar层的一个映射关系,导致的参数不一致。 基本上它大概是一个六百多M的一个vit然后我们只在75、23和31层做了一个four attention,然后其他层都是一个12的1个patch size的window attention。 然后因为在3B这个size的话,我们为了兼容它更小的参数量,我们会在我们的emding层和最后的output layer的话去共用它的这个参参数。 然后更大赛就是采用一个呃去独立的训练的部分。 因为嗯整个千问的这个word ding,其实这个size还是挺大的,达到了15万的一个token。 然后就是关于训练部分,其实我们整个训练的token数是有4.1T的token,这个对于we的model来说还是非常大的一个一个数量。 然后这里的token其实是包含了我们常常提到的,比如说image的token。 因为在训练工程过程中,image被映射到M中,它其实会占比较多的一个token的数量。 然后还有包括后面的一些text的token,在训练过程中其实我们只监督了一个text token的部分。 然后整个训练范式其实也和我们第一代千一样,我们会去分满多个stage,然后这里我们会额外的增加了一个stage。 除了第一个微的部分,这里只去训练我们的vi部分。 然后在第二阶段我们引入了更多task,然后端到端的把整个网络网络进行一个训练。 然后我们今增加了一个长序列扩展的部分。 因为在我们新的数据里面有很多部分其实是来自于video。 还有长的do文档,还有一些agent长的一个history的一个呃对的一个交互的过程。 为了让这部分达到更好的效果,其实我们也会呃通过训更长的一个l使得他更好的一个效果。 呃,对于这种数据的话,它能得到一个更充分的训练。 然后在第三个阶段,就我们采用了一个32K的部分。 然后这一版我们也特意去呃支持了一下,通过亚去扩展我们的这个token的token的这个长度,其实也可以通过亚去扩展到128K那1 128K带来的可能的问题就是对于一些定位任务会带来一些损失。 但是对于理解任务基本上它的效果还是比较好的。 然后虽然我们用的是32K因为但是对于我们一些长的视觉输入,比如说video还有一些do它, 其实我们因为整个视觉部分所因为m rope的原因,它带来的token的占用量其实是很少的。 就比如说一个呃5000 token的图片,它可能只占用了几百token的一个ID那其实在我们打满到比如说32K其实他的ID实际上只用到了比如说呃一万。 那这样的情况下,其实我们可以直接将figure中的这个school改的更大。 其实我们在测试video的PaaS的时候,发现它在。 比如输入到90K这样一个长度,在不做任何嗯压的扩展的情况下,它也能达到一个更好的performance。 然后在训练数据的部分,我们其实这一版会加入到更多interlive的image的image test data。 因为我们是想尝试对于well model来说,我们能不能通过更多的data scaling来去提升模型的整体表现。 然后我们也做了一些精化的呃数据迭代和数据的呃更新啊。 因为我们很关注几个能力,一个是对于模型的定位能力,然后这版我们整个的模型的国ding的数据采用了一个绝对的position的呃位置编码。 什么叫绝对的一个位置编码? 就是我们对于一个坐标来说大家的方式。 比如说之前大家可能采用相对的一个位置编码。 比如说我把这张图长和宽都去统1到0到1000,那或者是0到1的一个范围,那我只去表示它现它的一个相对的位置。 比如相对这个图片的左上角的,呃,比如说长20%的位置,或者或者它的高20%的位置,然后的来确定它这个位置的坐标。 而这一版我们是将我们的坐标完全和这个图片的输入大小来对应。 呃,就是如果我们的图片没有通过额外的recset,那意味着他就可以通过嗯直接去对应到他这个图片的这个坐标的位置。 我输出的这个坐标就是它图片真实的坐标,就可以用过这个输出的坐坐标直接去在图中画出它的位置。 啊,但是最近的一些开发者也给我们反馈一些问题。 就是因为在实际的比如说A P I或者是我们的一些demo中,他可能会去设置一些mean pixel或者mac piel的概念,使得模型在训在inference的时候会被resize,然后导致说它最终输入坐标是根据resize之后实际输入的大小的坐标,导致在画图的过程存在一些呃偏移。 这其实我们在嗯呃我们的cobook上给了一些样例,大家可以参考那个样例去得到它真实输入模型的一个呃分辨率,然后来做一个坐标的转换。 然后这里可能要提一个点,为什么我们想要做这样一个绝对位置编码? 因为就像刚刚提到,对对于时间概念,我们其实希希望它有一个绝对的时间。 那对于图片来说,我们也希望它对于图片的大小有一个绝对的概念。 这个图片嗯是一个很小的图还是一个很大的图? 对于模型来说,如果通过相对坐标,其实没有办法体现出这个图片的大小。 对然后我们通过一个绝对位这边吧,比如说它的坐标是1600乘1600,那这张图就是可能是一个1600乘1600的大小的图片。 而如果我们采用绝对相对坐标的话,它的左右下角就是一一。 那一和一在对于我是一个1600乘1600,还是一个800乘800的图标来说,其实没有区别的。 所以我们是希望模型能够通过绝对位置的这种表示,能够更好的去理解我们输入图片的大小,然后也能更鲁棒的去泛化到不同分辨率,做这样一个定位的能力。 然后就是我们基于我们希望把定位的能力,像和呃dock或者文档类的这样的一个信息做一个呃有效的融合。 就刚才提到我们有一个目标,可能是希望能够做一个opening passing的dock的理解能力。 然后我们后一会也会介绍一些我们这个格式的定义。 大家在用的时候也希也其实也可以参考我们的方式做一些更有意思的探索。 然后我们也做了一些比如说欧R的数据的呃的训练。 因为欧R对于我们去理解视呃视觉信息里面的一些人类的知识或人类指引是非常重要的。 还有像task的q还, 有我们也会引入更多的一些video的数据和agent的数据。 Video数据包括比如说一些视频,理解视频,qa视觉视频的定位,还有长视频长视频的理解,还有就是在这个训练的过程中,我们也会采用一个动态ps采样的方式去得到一个更准确的这个呃对对于不同分辨不同的一个ips的一个鲁棒性。 然后我们其实可以通过更低ips情况下输入到更长时间的一个video。 然后agent的话除了我们广义的一些比如说方call,或者是一些呃比如说视觉视觉代理。 我们引入了很多对于C或者网或者是手机这样页面的一些定位和reasoning的数据,来提升它在这样一些操纵类上的一个模型的能力。 啊,这里会有一些我们之前就千文二不的一些version。 呃,这里主要是探索就是为什么我们要做一个动态分辨率的事情。 呃,其实可以看到对于不同的bench mark,就像下面这张图,它其实在于不同的一个分辨率的情况下,它会有一个呃不同的表现。 比如对info q它处理的数据可能是文档或者是一些高密度的文字的这样的图片。 那他就需要更高的一个分辨率去得到更全面的信息,达到一个更准确的表现。 而对于一些比如说可能自然图片,它其实更合适的一个分辨率能达到它更合适的一个表现,其实并不一定要过大或者过过小。 甚至像一些小的欧赛尔的这种截图,甚至它在更小的分辨率下效果更好。 而对于一些学科类问题,它也其实是有一个对应的一个最佳分辨率的。 而我们一个一个方式一个在使用我们的方式说我们可以通过比如说我们现在的一个呃我们现在原始的一个图片的分辨率做一个输入。 也可以说我们把它我们模型其实也可以把作图recset到一个固固一个固定的一个token数,就是传统的固定分辨率的概念。 然后可以看到其实我们的模型在它一个相对均衡的的透困数上,达到了基本上所有数据的最佳的一个表现。 说明我们对于不同的班ch bu和不同的任务来说,它可能原始的分辨率,它的信息对我们来说是最对等的一个情况。 但对于但就像下面展示的,其实每个分辨率我们希望它有一个更好的表现。 其实我们可以通过去探索我们想要去reze的这个图片的大小,来得到一个更好的一个效果的体验。 这就其实给大家或给更多开发者有一个更广泛的范围去探索。 对于我的这个任务下最好的一个分辨率设置是什么? 他可能但是可能对于更多用户来说,他呃他可能是。 需要去关注的,可能去会很容易忽略这一点。 就是我们的模型可能可以通过这样的设置,它有一个分辨的设置,能让它达到一个更好的效果这样一个概念。 然后就是刚刚提到就是我们m rope,它其实因为我们把图片的position ID用了更少的ID去表示出来。 使得它可以把更多的这个ID就是我们的m rope的position ID留给文本,使得我们可以在更我们只虽然只在32K训练的情况下达到一个更好效果的外推。 就特别是对于video来说,它其实它整个呃video它占用的的ID会很少。 其实可以看到我们我们在把它推到80K它的performance事实上还在有一个保持增长的水平。 所以就是我们的模型其实可以更好的兼容到更长的一个的输入。 然后就是scaling的时,我们其实是想做一个,为什么我会有多个model size的model? 然后我还有我们会去尝试把更大量的数据用来训练model。 就是我们想验证,首先是对于不同size model,它其实可以看到对于各类的bench mark,它有一个一致的增长的曲线啊,这个这个曲线其实可以接通过log log画了这个图之后,它其实还是接近线性的一个增长。 然后对于我们整个训练过程中,我们整体的随着我们获得token的数量越来越多,可以看到我们在整个bench mark上还是有一个这样一致的增长,然后达造饱和的这样一个观察。 然后就是我们模型的能力,其实我们在这一版模型去呃加了很多,比如说更多knowledge和识别类的问任务。 因为很多场景下大家的模型可能大家用well model其实在做一个嗯更长尾的识别任务。 就是相对于传统的分类任务来说,就是我们可以去把各类的分类任务通过一个更呃个性化的prot来做一个定制化的呃唤醒,或者是一个微。 然后达到一个说我们想要把这个里面图片的信息做一个分类,或者做一个识别,或者做一个理解。 对比如说像我们做一些呃名地点或者是地标的识别,还有一些比如说像中国菜的识别。 还有就是我们刚刚也提到了,就是我们gr的能力其实是一个首先我们采用了一个呃绝对的位置坐标表示,第二点是我们采用了一个更general的格式表示。 然后它可以是点,可以是box,还可以是Jason,还有叉ml或者是直接去输入这个坐标的方式。 就像我们这左边那个prompt,我们可以定义说检测出所有骑摩托车的人,然后并且把并且把它的嗯图片的坐标返回出来,并且打上它是否去有带一个头盔。 然后它的格式也是这样一个Jason的格式。 像这个图是我们把它输出的结果做了一个可视化。 我们可以看到他可以把这些人物启目多的人准确的框出来,并且他能够把他的呃一些属性打出来,包括戴没带头盔这样的任务。 其实给大家了更general的一些想法,或者general的一些呃任务的一些一些呃verify吧。 其实对于我们的坐标来说,它其实是一个很好的verify我们这个识别结果对不对的一个中间表达。 或者说像general我们可以通过点的坐标,就是像这个图里我们想要去定呃定首先是识别他的这个我们的篮球演演呃篮球运动员是谁,并且把他的头部和手部点出来。 其实对于这种很很算是非常嗯oi od的一些一些query和od的一些prompt,它都可以做到一个有效的去识别。 包括它的左手和右手可以看到它可以把它的比如说它的头点击出来比表主要它是谁,以及说它的左手还有它的右手,其实给大家可以有很多有意思的应用。 还有就是我们在做ol的时候,其实也可以做到一个呃坐标的呃输出。 就是其实只要你定义好它的pr他, 就能够把你想要的格式或者内容做一个有效的输出。 他呃甚至说你可以把一个app界面或者一个pc的游览的搜作结果,也能做这样一个only pas的结果。 就是我们的我们的do文档的理解,或者说我们对于这种2D界面的理解,其实是希望能够达到一个全能,包括全面信息的一个抽取。 像这个图的一个单据上,我们可以把里面的一些呃文字或者一些信息,甚至你也可以定义它里的label,或者说它对应的这个属性是什么。 像这个模糊的图片,它其实也能大概通过它的这个呃模糊的阴影得到一个准确的识别结果。 然后就是刚刚我一直提到的,就是我们是怎么来表示一个all passing的一个呃文档的。 就像我们其实是定义了我们是自改,嗯,就是通过在H tm l的这个格式里面加入一些额外的信息信息来表示出来。 这个左边这种格式的图就是我们在某一个字段,比如它是文字字段,会有一个属性信息,是它的一个坐标。 然后比如说它是一个table的概念,它其实会有一个是table的box,然后它的类别或者它的ID是什么,然后它具体的内容是什么,还有一些chart,它可以是一个图片的chart的话,它可以把它的坐标表示出来,然后可以把chart内容表示出来,然后甚至可以我们在图片里面去做一些呃caption,就像这个图里面我们对一张图片的表示。 可以因为传统的line out它可能只是能分类出来这个图片是什么内容,呃,只能分辨出来它是一张图片,然后它并不能得到里面准确的图片信息。 其实通过这里我们就可以通过比如说一个坐标的表示,然后把里面的图片的这个caption表示出来。 那我们其实对于左边这这样一个格式的表示,就能有效的得到它全部的一个整体。 我们vr能得到的信息就是首先box代表着它整体的一个laout,然后文字被放在麦大心里表现了,我们可以看到所有的文字,然后图片表格还有公式也能被转化成我们能看懂的一些文字。 然后对于这个部分,我们其实也可以把它把它做一个有效的转换。 甚至说我们可以增加更多的属性和类别,来表示出我们这些嗯更多的人类知识的一些可视化。 包括比如说呃乐谱或者说一些图图片的or或者是些化学式等等。 然后右边展示了我们整体一个识别的结果。 可以看到无论是一个很复杂的这样的一个呃书籍,里面包括了很复杂的图片公式还是标题,它能能做到一个有效的passing。 然后对于一张我们的一,比如说我们千文2.5的一个technireport,他也可以把不同的图,还有他的插图呀,还有他的ur都都出来。 但这里我我们得承认,就是我们目前对于这种欧passing在分辨率上的一个鲁邦形还是有一定不足的。 对对于我们在使用的过程中,我们推荐大家可能在呃尽可能把图片resize到一个呃长短边,大概在一两千的一个size的情况下去做inference,才能得到一个比较鲁旺的结果。 可能比如说你在大于2000以上或者小于1000,它的短边小于1000,大短和大于3000的情况下,它可能会存在一些鲁邦性不足的情况,这个我们也会在之后进一步的改善。 但是基本上在短边在1000到2000我们测试下来,其实最终发行它其实还是非常鲁棒的。 然后就是对于video的理解,就是我们其实也在发挥我们本身我们vmodel对于R能力的优势。 其实可以看到,我们可以对于一个视频里面的一个,比如这个视频里面它其实是在拍摄很多个论文的的截图。 就是我们通过拍摄这样的模型,我们可以有效的把里面的呃展示的这些文字也能有效的抽取出来。 其实我们也可以做一些,比如说呃在线的understanding和在线的一些交互。 我们可以跟他做一些视频对话,包括说我们给他去画一个图,或者说我们去展示一个对春节的对联,然后并向他提问说里面有什么样的内容。 比如说历史上发生了他的他的英文意思是什么,或者我们在图片上去做一些呃一些行为,它也能有效的去呃总结说我们擦了黑板,或者说我们在图上呃画了一个什么样的形状的东西。 然后就是我们这一点,我们这一版模型的一个亮点就是我们可以做一些时间的定位。 就比如说右边实习室是我们把一个视频里面的很多帧关键帧截出来了,但它实际上我们是一个视频的方式输入,然后我们可以定义。 比如说我们希望它以J层格式返回,并且在把它的秒秒级别的一个时间戳打出来,然后并且总结这个时间段发生的一些事件,可看到我们可以把整个烹饪过程做一个有效的总结。 比如说这个人先做了什么,再做了什么,然后再做再再加了什么料,然后以及说他最终呃去去的一个把它切片的过程。 然后关于agent方面的话,我们其实会具备说我们可以做一个手机的操控,比如这个图里我们可以说这里的图,我们让模型去做一个帮我发消息,做一个新春祝福的短信。 他可以打开qq比如他会认为就说我要去呃向某个人发一个qq我第一步应该干什么,他其实第一步可能是要做一个操作操作,然后这里可能点击某个位置。 这考验我们模型对于一种agent的gr的能力。 然后并且这有一个整体reading的过程,然后去思考说我要发怎样一个信息,然后以及说我输入到整个对话框,然后再发发送出去。 然后向右边展示的是我们对于一个pc的嗯操控能力。 比如第一步我们其实是我们要完成一个去搜索并且检索系天气的信的任务。 那其实他第一步可能是点击浏览器,然后打开呃输搜索,然后输入网址。 然后最终他得到我的这个页面,然后得到选中我的对对应的这个日期,然后得到对应的一个天气的结果。 然后就是一些usage Tip Tips,就是我们模型因为呃一些一些一些设定,或者它能够更好的去输入到更多样的一个选项。 在大家用用的过程中可能会遇到一些或多上问题,其实是可能没有没有有效用用好我们的模型,就首先是对于分分辨率这个事情,其实因为我们可以支持动态的分辨率,可能会对于很多使用者来说带来一些困扰,就是我到底输入怎样的一个分辨率更合适。 其实对于输入的分辨率,可能对于我们的性能的提升其实很有用的。 就是一方面我们可以去尝试我们的任务,他可能对于一些感知简单的任务,可能他在比如说一张图在几百多分就能很好的感知。 那其实我们采用限定,比如说max piel这个概念就能得到一个更好的influence效率。 然后可能对于一些文档或者更更更更复杂的定位和识别任务,我们可能需要一个嗯更高的分辨率。 而这里会涉及两个很重要的参数,就是mean pixel和max pixel。 Max pi顾名思义就是我到底要把这张图限定在一个最少多少个像素和最多多少个像素的概念。 呃,这里为什么我我用28乘28这样的乘法的方式表示,其实是为了让大家更好的理解到这个pixel映射到M里面会对应多少个token。 因为刚刚也提到我们整体上进到M它会有一个28乘28的一个像采样。 那这里的话前面的数值就对应到我们实际上图片的输入的一个对应的M的token数。 然后max pixel呢其实呃就是我我们对于输入这张图片,如果它的pixel呃它总pixel数如果大于或者小于呃大于或者小于这个大于我们这个范围的话,我们就会把它限定到这个最大的pixel和最小的pixel范围之间。 然后按照他的长宽比做一个保持长宽比的resize。 然后对于我们不同任务可能会有不同的设定。 在我默认的情况下,他其实我们会把它设的非常开,就是可能是呃最最少四个头粉,最多可以16384个头粉。 但是在实际大家使用的时候,可能就可以去把它调的更小一点,更适合自己的任务的一个设定。 然后因为我们线上api默认的参数其实是一个256和1280的范围。 所以对用户来说,特别是做一些定位任务,他返回坐标其实可能是被限定到这个输入范围的一个size的情况下的一个坐标。 可能需要去check他我们实际的那个脱分数来做一个换算。 其这里可能我们可以参考我们库book里面的一些范例。 在使用我们本地模型测试或者说呃api测试的情况下,怎么样去得到我们准确的一个呃那个实际的坐标,对于大家来说可能比较重要。 其实呃还有就是一些一些任务上可能会有一些最最优的配置。 比如说我们的open passing,可能对于呃我们在他的max el,可能max el和mean piso都在比较稳定的范围。 比如说它mean piel可能在1280 ma可, 能把它放在呃44096或者说2560这样的一个范围。 就是整体上是1280到呃4096这样一个token的数量范围内,他对于我们dock的这种的passing效果更好。 对所以可能大家可以去尝试去调整这样的不同的pisetting来得到一个更好的效果。 这也是可能我想要大家分享在用的过程中遇到的问题。 做一个设计。 然后对于我们新一版,我们其实会做有一个视频的输入。 视频的输入也就涉及到一个参数就是ips其实我们可以设定不同的ips输入。 对于更长的一个视频输入,我们可以采用更低的ips对于呃更短的视频可以用一个更高的ips我们在我们的那个Proc就是个千,它其实提供了一个呃大致的对于我们video的一个映射逻辑。 但是大家可以根据自己的情况去动态去调整我们所需要的一个对于video的frames和ips对于这最终的一个效果。 对然后的话整体上我们可以用更多的呃呃更多的方式去访问和更多的一些参数去配置,使得我们模型能达到一个更好的效果。 也欢迎大家可以通过chat千问的去访问我们的体验,我们的model。 然后可能对于定位任务来说的话,因为线上的限制可能它有一个映射关系,大家需要注意一下。 它实际我们输入到模型里面的呃分辨率,然后和它输出的这个呃坐标其实是对应关系。 但是我们实际保存的图片可能比rec的图片的大小有有差,可能有一个呃映射关系需要大家注意。 然后就是我们会通过have face来来共享我们所有千文的模型。 大家可以通过无论查face还是moscope来得到我们最新的模型。 然后我们也会把我们最新关于vl的进展同步在比如说千2.5 vl的这样的get up的ra上. 然后整体上这是我的整体分享。 然后下面就请由我的同事程宇老师来给大家做一些实战上的分享和展示。
speaker 2: 呃,感谢白帅老师。 然后今天我在这边给大家分享,其实也是呃延续刚刚白帅老师的最后一页,就是讲我们在哪里可以体验到我们的那个困2.5 bl的这样一个模型。 然后首先我们可以去到这个困chat的这个页面。 我刚刚正好在呃试我们上面一个非常独特的能力,是我们的这个呃quvl htm l的这样的一个能力。 它其实上实际上是可以把我们的一篇,比如说这样子的一篇论文,然后把它呃就是这样的一个截图,然后把它转成一个htm l的模式。 然后我同时也配了我们这边的一个就是check上面的一个预览的这个artifacts的这样一个方式。 我们就可以很好很简单的去把这样一个图片转成一个网页版,然后再让这个网页版然后变成变可以直接去预览的这样的一个方式,然后可以比较好的去实现我们这样一个功能。 然后同时我之前也有尝试过说我自己手绘一张网页图,然后说帮我做这样的一张网站。 他其实也可以蛮好的去帮我们去生成这样的一个H T M的这样一个代码。 然后这一块的功能也就希望我们的这个直播间前的小伙伴们可以去自己的这样的一个呃可以可以去自己的这样的一个就是呃呃这个到我们的quechat上面去做这样的一个试验。 那我们下面再试一下一些其他的一些能力。 那我们选中的模型是我们的困en 2.5杠VL呃杠72b int这样一个模型。 那目前我们还只支持这样一个图片的上传,我们在下一个版本上会支持我们的视频的这样一个上传。 那我们可以上传一些图片,比如说我们呃尝试一些比较好玩的,我们尝试一下,比如说对本图的理解,我们说这幅图里有什么荒谬的元素。 那这个场景其实就是我们日常在我们的这样的一个,比如说呃在刷网页的时候,我们可以看到一些比较呃有梗的图,但我们其实有时候会看不懂。 那这个时候我们其实可以问一下那个就是困,然后看一下说这个图里面的这样的一些搞笑的或者荒谬的点在哪里。 那其实我们看他其实就一瞬间就找到了说呃这个鸭子说我支持一家全聚德的这样的一个烤鸭店。 然后这个鸡说肯德基才是最棒的,然后他们分别就是支持了就是以自己为主打菜品的这个餐厅。 就会比较奇怪,然后会产生一个强烈的讽刺的幽默的效果。 那我们用这样的一个梗图理解来去看我们这样一个模型的这样一个幽默程度和我们和一个推理的能力。 那我们再看一下说我们呃日常如果在我们的这样的一个呃生活中,然后我们其实会有一些比较呃明确的这样的一些场景。 就是说我去打了到食堂里面打了一个菜,然后我们想去看到说呃这个菜的这在什么地方,以及它的卡路里是什么。 然后我为他写了一个prompt,就是说呃我们希望识别出我们图里面的每一个食物,然后并且返回这个食物的名称、坐标,然后以及预估的重量和热量。 然后这个其实就是我们有这样一个能力,可能我们也能比较好的去呃就是做一个类似于比如说呃食堂的这样一个菜品的这样的一个计价,然后和卡路里计费的这样的一个系统。 那我们其实能看到说呃,我给出来这样一个图片,这里面有烧鱼,这里面有豆腐,可能还会有皮蛋这样的一些一些食材。 我们看它能不能比较好的来识别出来啊。 今天我们的那个因为我们的reason模型发了,就我们的这个网这这个网站现在有点被挤爆的状态啊啊哦哦网网址就这哦哦哦他这投屏啊,那大家就是刚刚有网友问说呃,我们想看到这个网址是什么? 那我们的网址其实非常好记,就是我们chat点困点AI这样的一个域名,然后就可以直接去这样呃去那个就是访问到我们这样的一个页面,然后就可以来使用我们的这样一个vl的模型。 那我们看它已经识别出来了,他应该是识别出来有两块地方有豆腐,然后他还识别出来了皮蛋。 其实我觉得他眼神还挺好的,我其实也不一定能识别出来。 然后和我们的烧鱼,然后它能识别出这样的一些食材,然后预估出来它的这样的一个卡路里,然后和它的一个重量,然后以及它具体的这样的一个定位。 那我们再试一下它的一些能力。 比如说我们今天去呃出去旅行,然后我出去旅行,我觉得如果我们出国玩的话,我们可能会遇到一个呃非常就是大的一个问题是我们想看这个旅行景点到底是一个什么样的一个景点。 然后我们也想去看看就是呃我们旅行上遇到的这样的一些,比如说菜谱啊这样的一些东西,我们怎么去做翻译。 那我们首先先看一下他对我们旅行的这样的一个景点能不能识别。 那我今天拍了一个景点,它其实是一个大门,然后问一下这是哪里? 然后他首先他先看出来这是一个环球影城,他从这个字上识别出来。 然后然后他就想再看说这是什么样的一个呃就是就是环球影城。 那他也会从这样的一个马里奥的这样的一个logo中,然后识别出来这个是日本的大阪的这样环球影城。 因为这里面有一个专门的任天堂的这样的一个主题园区。 那我们有了这样的一个呃这个困en 2.5VL的这样的一个模型的话,那我们就靠其他地方去旅行的时候,我们拍各种各样的旅行景点,他也能比较好的去给我们解释这是什么样的一个地方。 那我们再去看一下,如果我们在这个旅行中可能会遇到一些呃比如说看起来会比较复杂的这样的一些呃菜谱的话,让我看一下。 比如说我们要遇到一些就是一个菜谱,我希望去翻译,然后我跟他说红帮我翻译红框里面的文字。 那我其实就是这边有一个红框,然后我跟他说来帮我翻译一下这个红框里面的文字。 然后他先识别出来红框里面的文字,然后说翻译成这个中文的话是意大利面卡邦辣卡。 这是一道经典的意大面面面面食,通常意大利面、培根、火腿、鸡蛋、奶酪等食材制成。 那我们就可以看到说,我们今天啊去去就是去旅行的时候,我们去餐厅里面吃饭。 然后我们去指出来呃这样的一个菜品,它可以不仅可以帮我们翻译出它是什么样的一个菜品,还可以大概给出来我们这个菜品有什么样的一些呃食材组织而成。 然后来让我们来看到说我们这副这个菜是不是到底适合我们,然后这个是我们的旅行场景的呃一些使用,然后同时我们还可以去嗯,我看还有没有什么一些case。 嗯,那我们其实刚刚也提到了,我们有一些这样的一个万物识别的这样的一个能力。 那我们今天就去输入一辆汽车,然后问他说这是一个什么型号的汽车,那我们其实可能会在大街上看到一辆汽车,然后然后我们问他,那这个可能比较简单,对他来说他这边写了叉3,然后这就是一个他会说这是一个宝马的这样的一个X 3这个型号的这样的一个呃汽车。 他从几个方面,第一个就是从他的标志和前脸设计,然后同时在车牌上也看出来了,进一步确认了这样一个点,然后来指出来这是一个什么样的一个汽车。 然后也会就是比较好的来去识别这样的一些我们日常会遇到的像汽车型号啊这样的一些物体。 那我们作为一个这个vo的一个模型,其实很多人都会比较关心说呃他的这样的一个呃就是呃他的这样的一个欧C亚的能力怎么样。 那我们今天也找了一个其实看起来还挺复杂的这样的一个海报,上面有繁体字,呃,然后有就是类似于像有点像手写的这样的一些字体。 然后我们让他来,而且还会有大大小小的字体,那我们来看他能不能比较好的帮我们来准确的识别出所有的字字体。 那我们能看到他今天帮我们去识别出来了这里面的一些字体。 然后包括呃八方来财,甚至呃像如意呀,然后大吉呀这样的一些字体,他都有帮我们去识别出来。 比如说浮石来运转,然后他都会帮我们识别出来。 那我们其实能看到,不管他这样的一个字体是这样的一个标准的印刷字,然后还是一个繁体字,然后还是一个有点类似于印章这样的一些就是比较古怪的这样的一些字体。 那对于我们的这样的一个困难2.5VO的这样一个模型都是呃挺不在话下的然然后其实大家也都提到了,说我们今天的这个困2.5VL的模型,它不仅可以去呃识别我们的这样的一些呃像欧C亚的能力,万物识别的能力,然后以及比如说计算实物的卡路里,然后以及像翻译啊这样的一些能力之外,那他其实还有一些呃非常非常呃深入的这样的一些高阶的能力。 那欢迎大家来到我们的这样的一个呃困2.5VL的get thub的这样的一个页面。 然后我们上面会专门提供我们一整套的这样的一个cobook。 然后在这个cobook中,然后那个各位开发者们其实就是可以我把它有下载下来。 这cobook中这里面有我们一些非常高阶的一些能力,比如说我们的空间定位能力。 因为空间定位能力它其实是要去呃画出这个B B box的这样的一个这个呃这个检测框。 然后那这个检测框的话其实他要回填到这个图片上。 所以我们比较好的方式是用去代码代码的方式去检测这个啊去去检测这个图形的空间位置,以及具体的这样的一些呃位置定位。 比如说啊这是一个小蛋糕,让他画画出来各种就是所有的小蛋糕的这样的一个框。 然后同时我们还可以跟他要求说,你能不能帮我画出来这样的一个呃这个应该是一个这个叫什么top right Brown cake,就是是一个上方的这样的一个呃这个棕色的这样的一个就是呃小蛋糕。 然后同时我们还可以指出来一些厨房用品啊,他都可以帮忙比较好的指指出来。 那这个case会比较有意思的是,呃,我这边会有一个呃小狐狸的折纸,还有一个这个我也不知道是个什么样的一个折纸。 然后我们会说说帮我们找出这样的一个折纸的狐狸的这样的一个影子,它都可以从这样的一个图片中的这样的一个倒影的这个情况下识别出来。 这个影子其实就是这个狐狸的在这个墙上的倒影,然后并且把它框选出来。 那这个其实就是我们空间定位的这样的一个一整套的这样的一个cobook。 那在这个cobook中我们其实还能看到这样的一个,比如说mobile agent其实是我们呃输入的是我们的这样的一个手机上的这样的一些呃就是截屏的这样的一个形象。 然后截截屏,然后让他去根据我们的这个prompt,然后去选出我们下一步要做的action,然后并且把它变成这个这个屏幕上的具体的位置,然后变成点击的这样一个动作,然后或者输入文字的这样一个动作,然后来执行下一步操作。 那在日常中我们如果要用一个就是类似于可以操纵呃这个手机的这样的一个呃手机助手,类似类似于si瑞这样的一个格式的话,我们可以直接呃把这个我们的vo模型跟手机联动在一起,然后给他发出一个命令。 然后他就可以自己去解析它的步骤,然后并且一步一步的去往下执行。 然后比如说帮我去对比两个商品在淘宝和京东的价格,然后帮我打开我的小红书,去给我的呃排名第一的好友,去第一个第一条消息去点一个赞之类的这样的一些诉求都可以比较好的通过这样的一个mobile agent来完成。 那大家提到mobile agent,大家就会关心说真正解决生产力的一些方式,可能是做这个computer use。 然后我们特别希望我们有一个这样的模型,然后可以在我们电脑上帮我们去操作我们的电脑,然后去帮我们发送邮件,然后帮我们去记录下我们的会议纪要,并且整理成邮件发给大家。 那像这样的一些诉求的话,可以通过我们的这样的一个computer use的这样的一个cookbook,然后来结合我们的这样一个电脑的这个屏幕的这样的一个识别啊。 这个好好长结合我们电脑屏幕的这样的一个识别,它就可以比较好的去识别出来。 比如说这个就是可能就是识别出来我们的一个呃邮件啦,或者是回复邮件啦,或者是呃我是一个get hub的这样的一个就是呃owner啊,然后我需要去找到我的这个issue,然后并且去回复他呀。 那这样子这个这个绿色点点就是我具体的这样的一个鼠标点击的一个位置。 那这个就是我们computer use的功能。 那这里面还会有视频理解的一系列的功能啊,然后以及呃欧亚的功能啊,然后以及文档解析的这样的一些功能啊。 那这样的一些功能都在我们的这样的一个官方的cobook中,然后可以提供给大家。 那未来也希望大家自己有这样的一个应用场景中,可以呃贡献自己实现的这样的一些cobook到我们的这样的一个呃呃就是GitHub ra中, 然后来一起来丰富我们的这样的一个应用场景。 所以说呃总结一下我们今天的这样一个互动的这样的一个环节。 那我们第一个就是大欢迎大家来到我们的这样的一个呃困chat的这样的一个网站,它的网址是chat点困点AI这样的一个域名。 然后进入之后,然后选择我们的呃就que 2.5BL杠72B杠T这个模型,然后就可以体验到我们现在开源的最强的这样一个模型。 啊,对于更加高阶的一些功能,欢迎大家来到我们的这样的一个get thub的这样一个页面。 然后把它cl下来进入到cobook的这样的一个呃文件目录下面。 然后就可以直接来去通过api的方式或者本地模型运行的方式,来体验我们模型在不同场景下面的这样一个能力。 那大家如果觉得好用的话,也欢迎给我们点一个star啊。 然后大概这就是我今天分享的这样的一个互动的内容。 那大家现在欢迎大家就是继续回到呃白帅老师这边,我们进入到我们的答疑环节。
speaker 1: 好的,然后我我看大家给有很多的问题,然后我先呃我来解答一下。 比如说呃原始嗯原始图片支持最大多大呀? 就是其实对于图片的话,我们在训练的过程中可以看已经训到了32K的lines。 所以对于一张图的话,你就意味嗯意味着你最大给其实理论上给到32k token,那它对应的分辨率就是32K乘以28乘28。 但是为了更好效果,我们推荐的最大尺度其实16384乘以28乘28,然后它对应的偷坑数是16384。 然后我们来算一下16384乘以28乘以28对应的分辨率是大概是一个呃22427,大概就是长乘宽是都是2427的一个分辨率,是比较嗯最大的一个尺度。 然后mean pixel和max piel是指什么? 刚没注意到啊,就mean pixel和max pixel其实是我们在做一个的时候,就是我们对对图片会把它转成rgb然后再转成一个piel value嘛。 然后这里我们是会把图片先去限定到一个最大的像素数和最小的相对数之间的一个值。 然后这里的mean piel就是最小最小多少个pixel,然后max就是最大多少pixel,我们是按照pixel来限制,因为它是保持一个长宽比的限制啊,保持长比的一个resi所, 以我们不太关心它到底一个是怎样一个长宽比,更多在意是它会占多少,就是多少个像素然后。 千问2.5VL3B模型im用的是千问2.5吗? 又是用哪个参数量? Vi的参数又是多少? 嗯,对,我们刚刚其实有提到就是我们的这个配置。 然后我们用的首先我们3B7B72B这里的几B对应的是M的那个size。 然后就对,因为比较方便大家更好的对应到千万2.5系列的M的model,然后就是我们试用的千文2.5的model。 但是因为我们经历了额外的训练,这里的3B7B72B对应的是我们的M的size,然后其实上会加到额外的一个vi我们的几个visize都是600M左右的一个size。 然后对于我们整个参数量大概可能三点,这个对应的是三点几B这个是基本上8B好,就可能是73B左右的一个整体的参数量。 然后我们因为会经过额外的训练,然后所以他M的参数会变。 但我们的初始化用的就是M的这个千文2.5系列。 嗯,然后就是请问对于国ding任务,千问2.5l report里有提到在训练中会对不同分辨率增呃增呃缩放,增强鲁棒性。 对于同一张图片的不同分辨率,如果直接输出坐标gr的任任务的label会动态变化吗? 呃,这这里label如果是指box的话,其实它会变化的。 因为我们一直在强调我们一个点,就是我们采用了绝对的位置编码,就是这个绝对位置编码就是我们采用的对这张图实际输入到模型大小对应的这个size的一个坐标。 就比如说我们输入的图片,比如说是呃11024乘1280,那他的右下角的这个点的坐标就是1024乘1024,逗号1280。 对,中间的位置可能就是512和640,是直接以我们输入图片的大小为准来呃对应到坐标的。 所以如果你把这个图reze到不同的尺度去reze模型的话,预测同一个人物他的坐标也会变。 因为我们是用根据实际的这个尺度来做一个定位的,然后千万2.5L在图像精准定位识别到图像分辨率跟原始尺寸不一样,那么输出的坐标还有参考价值吗? 啊,对,这里就是其实就是一个简单的映射关系,就是我可以分享一下。 其实刚刚呃成宇老师也在做一个介绍,就是我们这里会提供两个函数。 一个函数就是其实我们通过我们的processor,我们就可以得到我们真实的输入大小。 就是我们在processor里面有两个变量叫做image Grath W然后里面会是三维的对应的第一维就是这里的零,其实对应的是它时间维度。 H第二第一维对应它的是它的H维度,第二维对应的是它的呃宽度维度。 其实你只要把这个值乘以14,就是它对应输造模型的真实大小的image的H和W然后你在这里我们也提供了一个函数来画box,就是这个图片它可以因为我们坐标是对应到这个input的W和input的H的一个绝对坐标,所以你只要做一个映射变换,就可以得到他在你的那张图原始尺寸的一个嗯的坐标。 所以其实也是可以做一个定位的一个嗯参考的。 嗯,对于新任务或者行为video reasoning相关的Lara呃微调的一些参数的推荐啊。 其对我们对于更多的任务,比如说一些video的嗯训练的过程中,可能laa会更更方便大家去做一些微调。 然后这里的话可能几个参数就是一个是学习率,一个是我们去呃laa的那个映射的那个层数。 对,这里可能还是以实际任务为准。 因为我们更多情况下,如果当你的数量很大的话,还是推荐可能呃放开更多参数来训练。 对然后这个可能嗯可能还是以实战吧。 因为我理解像moscope有swift做做这样微调的一些支持,还有像开源的拉其实都很好的支持到千问的v系列的一些微调,可以参考一下大家的一些结果来做做做验证。 嗯,请问bench mark怎么优化指标? 然后第二点,千L系列的提升主要来自于im效果,还是多模态的数据集,谢谢。 呃,关于bench mark的话,其实可以看到我们会整体上从六个维度来优化我们模型。 嗯,可能是对于college level的一些问题的话,可能他他会比较考验I的能力。 其实可以看到每一代我们I的基座的提升,我们在M上会有比较大的提升。 但是就是基座的提升在之外,它其实就来自于多模态的一个理解。 因为只有多态的模型能够更好的把图片,特别是一些几何一些结构图准确的提取信息,才能更好的去呃做推理,然后解决问题。 但像道壳类的嗯任务的话,其实我们的经验来说,它其实跟我们的多模态的数据集和vit更相关。 嗯,跟M本身的能力只要不要太差,其实不会引形引出很大的影影响。 然后像呃一些general,其实它也和多态的呃数据集和vi的训练更有更有关系。 点麦的话它本身也会更基于M本身的一个呃模型的推理能力。 Video understanding其实它也跟多态的数据会相关一点。 Agent的话就它的两个点,一个是reasoning,就还有planning,还有grounding。 Grounding的话可能跟多多态本身的能力或者说呃有关关系更大一点。 而planning和reasoning其实是和I本身会更过相关一点。 因为在这个测评中有很多人他会用本身自己模型的grounding能力加上T4O的planning能力来做一个指标。 其实也反映了大家可能嗯这个planning的能力更依赖于我们M的能力上。 呃,目前是支持视频的事件时间定位吗? 能实现有类似跟踪的功能吗? 视频的话物体时空定位哦,呃我理解这里可能是想问就能不能做到视频里面的事件定位,我们对于事件的定位是可以的。 就比如说我们想要去做一个我们这个呃一个事件发生的时刻,在第几秒到第几秒,我们模型是能够输出的。 其实我们在我们的cobook嗯cobook或者说我们blog上面都有一些case,大家可以去呃参考去复现一下。 然后这里还没有实现到视频中带时间戳又带bunbox的这个能力。 对这个可能是我们之后会考虑加入的部分。 对然后请问对于负责图像的O R任务文本是不规则或弯曲的,可以通过呃什么控制点的方式微调模型吗? 哦,我理解是可以的。 如果对你的任务的话,他图它的本身的这个图片非常不规则,你可以把它做一个呃控制点的转换或者是映射,来得到一个更好的效果。 嗯,千文2.5L都是一样大小的vi用3B的模型在端上推理为的速度仍会成为瓶颈。 这块推呃推理提速有什么推荐? Gb q量化何时推出? 后续对于vi部分的优化有什么计划? Ok ok这是其实是一个很好的问题,就是因为大家会呃关注就是模型在端上的推理吧。 就是我们的这个版本的模型可能对于一个600M的还是有点大,所以我们这版是通过呃引入window dows attention的方式,减少整个在vi的计算量,来减少它对于一些一些端上的限制。 然后其实推理加速的话,我们其实在最近呃放出报告的同时,也放出了aw q的量化版模型。 大家可以先用6 aw q的量化模型来减少显存的占用。 然后还有在推理加速的方面,也可以在端上设备去限制更小的一个max,来达到更适合于端上推理的一个效果。 因为本身在的计算量已被压的压的比较小了,然后你再把分辨率拿去它整体的呃这个效果呃,这个效率上应该会有比较大的提升。 然后千问2VL到千问2.5L训练数据提升数倍,训练框架上有什么优化吗? 呃,对我们的数我们的数据量做了一个比较大的扩充,其实很大的来源主要在于我们的整个inter的数据。 然后在训练框架上其实我们也做了一些嗯,就是首先负载不均衡啊。 因为本身在训练的过程中,我们其实我们也提到我们会采用一个嗯就是离线去打包的方式做训练。 因为不同的数据它可能会有不同的长度和不同的分辨率放在一起训练,它其实会带来比较大的一个负载不均衡。 首先我们vi的预算量减少之后,它的负载均衡在vi侧的负载负载不均衡其实是减少了的。 然后这里我们在训练的过程中,会将不同长度的样本通过它整个映射到M的一个token数,做一个呃就是离散离线的一个offline的一个动态动动态拼接,使得我们不同的样本被拼接到一起。 然后整体上让每一条样本它包含多个样本的同时达到一个相同的呃脱坑术的一个呃情况。 然后在在保在训练的过程中就可以保证说我每个GPU它的计算量几乎是保证是一致的。 然后这样来做一个高效的训练,特别对于多模态,它其实还是非常必要的。 对running ding的坐标是输出是绝对坐标比使用相对坐标的好处是什么? 有做过效果对比吗? 好,其实我们做过效果对比,它主要嗯有两个好处吧。 一个好处是说它更好的让我们去理解图片的大小,就刚才提到对于不同大小的图片,如果我们它的右下角都是用一一来表示的话,它其实是找不出1600乘1600和800乘800的一个图片的一个区别的。 然后第二个好处是说我们因为我们的那个坐标是跟它直接输入的这个图片的大小相关。 那它的精度其实理论上也和它的表达的这个精度上限相关。 因为我们直接规划到一个一千的一个,比如说1000个精度的话,对于一个呃100乘100的图,它其实是预测都是是超过它本身能够达到的精度,会造成额外的损失。 而对于一个比如说3000乘3000的图,如果只用1000的表示,它的它的预测误差已经有三个pixel了。 所以对于我们采用一个绝对位置编码,它可以更好的去泛化到呃更好的去兼容到不同尺度的预测的这个精度。 然后另一个好处是我们会测试它可能会有呃它会有一点更好的泛化性。 但是在一个固定分辨率的对比的情况下,我们会发现它其实在精度上其实和相对坐标不会有特别大的差异。 然后现在识别视频时长是准确的吗? 对,就是如果采用我们的那个位置位置编码,其实在比较短的视频,我们对一些时刻,特别是几分钟级别的这种视频,对于它的这个事件的时刻的预测还是比较准确的。 准确识别文献中的数学公式,能帮助我们理解公公式用法吗? 其实这就是我理解是多模态模型的一个特点。 它在我们做识别的同时,你也可以让它帮你做讲解。 对嗯然后千问2.5VL里有一些小的改动,比如说imnow m之类的,有消容吗? 呃,我们会做一些简单的消融实验,就整体上引入norm和维在那个loss的收敛上会更快一点,但是在最终的收敛水平上基本上是一致的。 呃,微调的数据是什么样的格式的,尤其是能获得到目标位置的那种。 呃,就是我们对于呃微调数据的话,特别是有位置有国王点的数据的话,大致上会分为好好几类。 就这里首先我们会有呃doopen passing,就是其实刚刚提到的我们的千万vhtm l的格式,它是会带box。 然后我们会把这种do的文档都统一成这种格式放在预训练里。 然后它里面会包括文本,还有它的一些属性,包括它的坐标之类的。 像欧R的话我们也会带一些有带bbox的坐标。 然后在预训练阶段我们会和之前千万威一样,会通过rap标签加上一个box的方式去呃呃然后rap标签是它的对应的文本,然后后面的box代表它的这个数值。 然后这样的话在预训练的时候可以减少token。 然后主要的这种格式转换其实是通过我们的sft t和cpt的,呃,不是sft的过程去把它唤醒出来的。 然后对于呃微调格式的话,我们采用的是chat格式。 然后这个格式其实可以参考我们在哈根face的model里面有个chat的template来做相应的转换。 而且目前基本上这个格式也和我们目前在in的那个呃千to的那个的是一致的。 呃,请问为什么可以放入一小时的video? 哦,对这个其实一个好问题就是我们是怎么实现一个呃一小时的video理解其实思想非常简单,因为我们在训练的过程中可以做到动态的ps的输入。 就比如说对于一小时视频,我们可以做到比如说8分之1 fps的一个呃采样,那就是8秒我们采一针。 然后本身我们还有一个呃3D卷积的合并,基本上就是16 16秒只会有一帧图。 然后这样的话其实我们对于呃长视频的话,可能就嗯基张基本上几百帧的输入就可以达到这个输入。 因为我们本身的外推效果也比较好,比如输入到90K的一个脱困数,同时以比较低的f ps然后就能支持到一个一小时的视频输入。 Opening passing这块能力能简单介绍一下吗? 其实刚刚我我介绍了一点,对对我相信大家可能也对他比较感兴趣。 就是我们首先这个opening passing就是我们可以做关键的抽取,就是像Jason格式这样的输出,它带box在里面文本,然后你也可以定义它的label标签,比如它是可点击的或者非非可点击的。 然后还有就是我们general对文档的一种通用表示,它可能是以H T M L的表示。 像这里我们对于这个文字部分,它的contact contact就是它的文字。 比如说这一整段的文字,然后这里的data box bunny box就是它的S1Y1的坐标。 这里其实就是对于这一段文本,它对应的bunny box是什么? 对,就可以把文字带out的方式表示出来。 像呃chat t或者table的话,这里我们可以用htm l那种格table表示出来。 然后里面会打上table ID然后和它对应的一个table类型,还有它的整个的这个line out,也就是它的box。 然后对于image的话,它有个我们的open person的亮点,就是我们可以对它的图片做一个caption。 因为很多图片就是目前的一些passing的工具,它其实对于图片它可能只能得到它box和一个分类。 其实我们可以让模型对这个方做一个呃再描述。 然后这个在我们运用模型对于更general的query可以做到更好的响应。 就是我们虽预训练的时候采用一个H M L的格式,其实在我们测试的时候发现他对于Jason也是有一个非常好的效果的。 然后长视频采样变少,定位效果会有影响吗? 啊,是的,就是我们在测试中,虽然我们的绝我们的绝对我们的m rope对的对齐到绝对时间,对于不同的ips会有比较好的鲁棒性。 但是当你的ips很低的情况下,它的那个定时的定位的那个精度也会下降。 呃,非视频多图输入各图片的时间ID是一样的吗? 图文交错序列是由于图片pack到M的序列长度,一条样本中不同的图片在时间维度ID是相同的吗? 还是随着输入文本的长度增加。 对这个其实我们是我们我们的m rope的特点就是我们可以兼容到呃无论是文本图像还是视频的整个的输入。 就像我们三我们的我们是顺序延展的,就是如果看我们的代码或者是我们上一版报告的话,我们有一些例子。 就是比如说一张图他可能长和宽是呃4乘4,然后他的T是2。 那其实对于三个维度,他占用的ID就是只有最大到4。 那对下一个文本的话,那其实我们就用555这样他的三个维度都是555的ID去表示,然后再就是666,然后基本上就是以三个维度数值相同的情况下去扩展。 特别你可以其实可以通过一个呃3D的呃3D的坐标系来想象,它其实在沿着对表线对角线做一个扩展。 那对于再出现的图,它可能就是从文本的最那个token的ID的最大值加1,然后开始做一个呃ID这样的话就可以在图文交错训练的时候区分出不同的多图。 然后对于视频的话,它的ID t维度和这边是保持一致的。 对于图片的话,第二张图它就会重新从上一张图最大的ID重新开始计算,这样就能区分出多图还是视频输入了。 Report中提及,从头训练分vi分为三个阶段呃,clip free training和velement还有端到端的微调。 后两个阶段是指vm联合训练的prin吗还是vi特有的两个阶段训练啊。 对,这里可能表述一点问题,其实对于vi单独训练的话,只有那个clip train,然后后面的vel和端微调其实就指的是我们的v的预训练,就是三个阶段训练和我们的S了预训练vi有一T多样本,这样的样本是怎么搜集的? 其实我们的这里预训练的样本可能就是主要以图文呃图文图文为主。 然后这里的话包括caption和其实包括我们会去清清洗一些cc会做一些模型打分或模型筛选。 然后R的话会有数据合成,还有一些各类的呃数网络数据的一些标注,这种方式去来整体来扩展这样的数据。 Projector的mlp和cross attention有效果分析吗? 以及行业内拉玛3.2应用了cross这块有什么心得? 嗯,其实可以看到我们在第一代千问未L的时候,我们其实也用的cross attention。 然后呃关于这方面的表现呢,其实可以看到我们在实验中发现,就是首先通过M P他可以更好的去把我们更更好的和我们动态分辨率兼容,达到一个动态映射的效果。 然后呃如果想要做到更general的动态映射,其实是需要做一个动态token的对对齐的。 因为里面会涉及到一个嗯空间空间对齐的概念,如果直接用cross extension,它对于那个空间信息丢失的会比较多。 因为我们之前在千问威一代的时候训练的时候,其实我们的O赛能力还也还可以。 但是还对于一些O L,特别是一些嗯比较密集的文档或者有out的文档,它会出现一些就比如说左右呃左右的line out失真,或者阅读顺序错误的情况。 所以通过L P的好处是它更简单直接的保留了它原始的一个空间信息,而且它的整体效果来说收敛更快。 对,然后它会比cross更好。 然后拉玛3.2的cross跟我们这里会有一点不一样,它是在lm里面每层嗯好像是若干层插入到很多cross attention,然后他的那个参数量会增加很多。 比如他7实M只有70B它的那个完整版可能呃会会会会快90B的一个一个size。 这也是因为他插入了很多的cross attention。 然后在效果上,其实最简单的方式就是因为我们千万二维啊和拉玛3.2其实或者3.3吧,他那个微版本其实是同时出来的。 其实在所有的benchmark基本上都都比较弱吧,所以我感觉可能cross还是有待大家去探索,包括无论是主观测评还是这种客观指标上,目前cross tension还是会差一些。 呃,减少max piel的本质是什么? 它其实减少max pixel本质就是把图片reset的更小二十度。 因为我们真实拍摄图片很容易,比如说手机它达到一个2K的分辨率,但是对于输入2K的话,它会有很大的冗余。 我们可以调减小max piel把这个图re更小,比如说1080P它其实已经能够包含这个图片里全部信息了,为什么不用三弟卷积处理更多帧啊? 其实我们是有三弟卷积的,这里三的卷积可能只有在第一层的时候有一个3D卷积,是一个会把两针合并做作一合并的一个。 当然在Mar层里面其实也可以用3D卷积做一个更多的这个时间维度的合并。 这个我感觉是呃行业内在大家在探索的一些点,其实我感觉可以。 如果大家有更好的方案,或者是对于精度无损,然后效果更好,其实我也非常欢迎大家去做这样的一些呃探索。 呃,视频广顶任务输入这样输出这样的Jason有什么推荐的prompt吗? 嗯,就是我们测下来其实挺鲁邦的,只要你要求他以Jason格式输出就还好。 但是如果一定要有推荐的话,我就推荐大家去可以看看我们的一些呃cobook,包括嗯各类的。 比如说在对于空间位置的一些定位的prompt。 其实对于空间定位我们更推荐大家用Jason。 然后对于video的话,其实也有里面对应的case,它里面也会有对应的prompt可以供大家参考。 嗯,比如说这个它其实我们只要说以你定义好它对应的格式,还有它的要求,他以J次格式它就会比较好的输出。 因为我们在报告里也提到,就是我们这一版的模型对的成本能力的保持还是非常好的。 就像在这个f ev它其实偏向一个infollow能力,其实也是非常不错的。 呃,图片中的真实坐标怎么和怎么和输出的坐标映射哦。 对,这里的函数其实就在我们库book里面的这个呃空间的这个special understanding大只就看就打开我们的gup然后用这个里面呃其实映射非常简单,首先我们要得到它第一步你肯定是要得到它真实数,要模型的大小。 其实通过procor input里面有一个变量叫做image Grath W做一个乘十四的转换,它就得到它真实的thw了。 然后呃关于它映射到我们这个图片我们这个图片的一个大小。 其实只要做一个把它图片里面预测的坐标除以我们input的坐标,然后再乘以它对应的真实原始尺寸,就能得到它我们想要在你画图的这张图片上的一个坐标的大小。 嗯,微调过程中如果不冻结viit,是否对领域目标检测效果会更好? 嗯,这个我们主要是因为我们的整体的微调数据没有那么庞大。 整体让我们会发现,如果对于一些小场景,如果数据量更少,他可能会出现一些幻觉的情况。 所以我们采用在V I在微调阶段不呃去freeze整个vi对. 如果对于呃国利任务们没有特别去对应对应的验证,请问对于页面操作这部分agent数据是如何构造训练集的? 呃,整体上也是搜集大家能看到的一些开源数据集和一些我们通过搭家一些part plan去做一个数据回流。 还有通过引入模型去标注一些这样的一些过程过程的表达,来构造这样的数据的。 请问使用百链平台发现有时不稳定,同一个pro同一张图返回完成任务索要需要点击坐标五次可能四次对一次错,请问怎么提高稳定性? 呃,要保持稳定性,其实百炼的那个api其实可以传一个叫做se的那个参数来保证每结果的一致性。 可以可以尝试一下加入那个呃random se的那个se值来控制一下。 请问千问维L的动态分辨率和in特维L动态切图有什么样的优劣? 是嗯从我的角度来说,我会认为说就是动态分辨率,首先它是更自然的一种方式。 因为你一旦切派时,就会要人工去定义这个派池大小,以及说它的长宽比的这个anchor的大小。 然后它就会大大限制我们模型原始的这个图片的信息,它的信息是有损的。 然后我也认为它是更简洁更直接的方式,没有复杂的匹牌序普嗯匹配的算法,它只有一个限定到做一个最大折最最小值的限制。 然后整体上就是以它真实的这个size做re也更简洁。 然后我们也不需要一个全图的呃ch因为我理理解interview的那个动态切图大会,把全图做一个呃比如固定尺度的re来, 保持全局信息,其实对于我们来说不是不需要的。 所以我们就能够像可以像这个图里面,我们可以把一张图只映射到8个to啊动态切图。 我理解它应该是至少是44 8乘48分辨率的一个映射。 嗯,请问具体是怎样做坐标转换的啊? 其实有很多人关注的问题啊,我们这版没有采用1000的规划,就是刚刚提到的是一个绝对坐标转换。 然后转换的过程可以参考大家的这个空间的这个映射预训练是判定还是截断哦,预训练我们是在离线的把它做了一个pack,然后保证达到一个呃一致的长度。 呃,量化模型官方有提供吗? 其实是有的,我们在最近提供了那个呃我们的aw q的量化模型。 其实我们在这里呃的news里面会提到说,我们在我们2月20号嗯去去发布了我们report,也同时也给了aw的量化模型,大家有需要可以去下载。 Box的坐标是rec还是原始储存的。 嗯,这里其实就是我们rechold的。 对于我们所有的坐标表示,我们都采用了rec后的这个图片的原始尺寸啊。 不对,rec后的这个尺寸的大小来表示的。 嗯,如何更灵活的更换visuender和M啊,这个问题可能就是是个好问题。 就是啊如果大家有更好的vit或者M想要做替换的话,呃,我理解可能需要一个额外的对齐训练吧。 然后关于这个对齐训练的效率,可能需要大家再去验证一下。 对于长视频采样处理,那么对长文本怎么样处理? 也是采样吗? 啊,呃其实是一样的,如果对于长文本的话,你也可以如果分辨率比如8K对于8K的图片来说,其实它的文字是过于大的,其实也可以动态的采样。 因为我们原生的动态分辨率的训练,也意味着它能够对于不同分辨率有更好的支持。 就像这里展示的,其实我们在可以看到,其实我们以固固定分辨率去测评它,其实也有一个很好的表现。 就像在1600 token的话,它的指标基本也也是表现比较so塔的。 就你把它降到很小的token的情况下,它会比较有损。 对,其实我们会比如说学科类、偶R类,还有微Q A类和英和常温档类的这种测评。 我们都可以观察到这样一个现象,就是我们多排分辨率训练了。 但是我们也可以呃固定分辨呃,固定token吧,叫固定音频的token去测试,也有不错的效果。 呃,派派的时候应该有超过或者不足设定程度的情况吧。 怎么处理? 呃,派ke的话因为我们在不同阶段会有不同的嗯,这个l我们在前两个阶段主要以8192的长度训练8K然后后面以32K进行训练。 如果在第一个阶段,比如他超过了8K我们其实会把它舍弃,放到后一个阶段做一个训练。 对,是这样的逻辑。 如果在超过32K那我们就会对嗯图片做一些降材样,使得他尽可能保留在32K的一个尺度嗯。 对于im纯数字的回归,例如gr有什么策略可以限制其更好更鲁棒的效果? 呃,数字回归的话呃其实我们在之前欧法的时候做了过一个事情。 如果就是就是如果你有限定的词表或限定的一些呃格式要求,你其实可以利类似利用前缀数的方式去呃限制它的这个decoder过程,来保证说他一定在你想要的这个范围内做decoder。 千下一代千五会不会有更多剧深感知和规划方面的研究? 未L系列未来的主要创新点是嗯,对,其实我们也会我们会去尝试在因为agent因为agent这个面其实挺挺general的。 就是我们是希望我们模我们的模型能够去扮演一个嗯在微视在视觉agent上面能扮扮演更多更更强的能力。 这里肯定就会涉及一些呃巨深的感知。 目前我们其实在千维二里面也加了一些这样的数据,嗯,整体还是以一些仿真或者开源数据为主。 但是我们可能还是希望模型在整个reasoning的能力上,或者规就planning的能力上有进一步提升,然后再做更复杂的任务。 这也是为什么我们现在会在其实就是在computer use或者mobile use上投入更多精力去做这样的一个嗯在这两种场景下的一个planning和action的一个能力。 然后更多未来计划的话,我们其实会呃,因为我我们理解我们其实沿着这三个目标,其实我们在不断的进步吧。 我我从我的角度来说,我们进步还是挺快的。 就是动态分辨率我们更好的理我我们更好的理解了,其实我们也希望在识别和来对图片的al做的更好。 然后对于第二点看看到动态的世界,其实我们现在从一个短的视频理解到绝对位置的一个时间的概念,再到一个更长视频的理解,我们都达到了一个更好的水平。 那其实我们希望他能够更好的去看到这个时呃更好的看到动态时间的。 在video理解上,我们也会投入更多精力去在这方面让他更好的去理解这个动态世界。 包括交互,包括长视频,包括一些呃语音的语音的引入等等。 然后A阵的话就是我们其实会想办法让他在这方面呃达到更好的一个效果。 可能我们还是会以包括I包,因为我们其实也做了像Q Q这样的一个renmodel model,其实对于模型要去做一些planning也是非常重要的。 所以我们会提升模型的planning能力,使得他在visu这个能力这个范这个这个场景下能达到更好的一个效果。 呃,下面就是呃那就最后再再因为大家大家的问题实在太多了,我们就再选三个问题来做一个呃回答吧。 对,然后就是最后三个了,就是我想基于千问V2.5V训练一个特效场景识别模型。 你觉得是全量训练好还是训练一个laa好? 呃,从我的角度来说,就是看看你的数据,首先看你的数据量,如果你的数量比较大,比如说达到比如说几万或者十几万的规模的话,呃,我建议可能是用全量数去训练会更好。 但是如果用全量训练的话,意味着你最好还是混更多的通用数据。 因为通用的数据能更好的保持模型的泛化能力,所以就是如果你有资源有数据量的话,就是最好的方式还是结合通用数据一起全量微调。 但是如果你数量比较少,然后你通用数据也比较匮乏,那还是寻到二会好一点。 第二个问题是inf时如何输如何如果输入图片token小于max pixel设置是否会就不会resize了? 可以直接用图嗯模型输出的box,用于输入原始图片表示检测光。 呃,基本上是的,但是这里有一点点会有一点点偏差。 就是如果它小于max,so我们就不会做呃黑色的限制,但是它也会把长宽比整数到28乘28。 对,会有这样一个地,但是28乘28的这个整数倍,所以它的会有这样一点小误差,但是在画框的时候可能体现不明显。 但是如果要得到一个更准确的框的话,还是把这个长和宽以它的28的整数倍做做做转换,然后来然后以这个box来画。 但是如果你小于呃max画框,它的位置肯定大致上也是差不多的。 好,最后一个问题,多图理解是可以对图片内容进行多图总结吗? 能否对比输出图片内容变化点? 对其实我们引入了很多inter的数据,还有多图的数据的训练,也是希望模型能够更好的像长的一个文章的对话,也就是多图的情况下更好的理解。 其实我们模型在第一代的时候就可以做一些啊多图的多多图的总结和理解了。 其实对所以我们模型是能够完成呃in的或者多图的。 你甚至一次性传多张图,或者说传了图再传文再传图,都是能很好的支持的。 只是说呃网页端可能他会直接进行回答。 但是你用api的方式,你可以通过list的方式穿插多张图和文。 然后他也能够比较好的去总结,然后对比图片的内容变化,其实我们也是可能够对比它的变化的。 但是像我们小时候玩的那个找不同那个还是比较难的。 就是目前我我我们模型还是做的不够好,对其你那个会比较涉及到一些更细粒级的,细粒度的一些那个找不同。 然后就是呃谢谢大家这么多的问题和这么多的热情,然后呃我们就先结束了,谢谢大家,实在辛苦了,谢谢大家。

最新摘要 (详细摘要)

生成于 2025-06-02 11:02

概览/核心摘要 (Executive Summary)

本次讨论详细介绍了通义千问Qwen-VL系列多模态模型的迭代历程与Qwen2.5-VL的显著能力提升。Qwen-VL系列致力于让模型“更好地看见这个世界”,从最初Qwen-VL实现“one model”涵盖多种视觉任务,到Qwen-VL Max/Plus达到GPT-4V水平,再到Qwen-VL 2开源并引入动态分辨率与视频理解。最新的Qwen2.5-VL在72B规模上,纯文本能力与Qwen2.5 72B持平,视觉能力达到SOTA水平,尤其在视频理解、视觉Agent、文档智能(引入Qwen-VL HTML格式)和通用Grounding能力上取得重大突破。模型通过原生动态分辨率、改进的M-RoPE(支持绝对时间/位置编码)和高效VI Encoder(大量使用Window Attention)优化了网络结构。训练采用4.1T token数据,分阶段进行,并特别强化了长序列(视频、长文档、Agent交互历史)处理能力和多样的训练数据(如interleaved图文、绝对位置Grounding数据、OCR、视频、Agent操作数据)。Qwen2.5-VL提供3B、7B、72B三种版本,其中7B模型在DocVQA等任务上表现突出,3B模型适合端侧部署。演示环节展示了模型在梗图理解、菜品识别与热量估算、景点识别、菜单翻译、复杂海报OCR、空间定位、Mobile/Desktop Agent等多种场景的应用。Q&A环节解答了关于模型输入尺寸、坐标系、微调、量化、视频处理等技术细节。

Qwen-VL系列发展历程

通义实验室科学家白帅介绍了Qwen-VL系列模型的目标是让模型“更好地看见这个世界”,并回顾了其迭代过程:

  1. Qwen-VL (2023年8月):

    • 核心理念: 通过一个“one model”涵盖所有视觉任务,包括视觉理解、定位、OCR等。
    • 训练: 首次引入约1B或几B的数据量,分三阶段训练:
      1. 提升VI(Visual Encoder)对文字和OCR任务的感知。
      2. 使用更多Multi-task数据进行网络预训练,采用cross-attention压缩token。
      3. 指令微调,赋予初步对话能力。
    • 意义: 证明了单一模型完成多样化视觉任务的可行性。> “一个one model的we model,它能够去完成各种各类各种各样多样的一个task。”
  2. Qwen-VL Max / Qwen-VL Plus (2024年1月):

    • 国内首个达到GPT-4V水平表现的模型。
    • 在中文文字理解等特定能力上超越GPT-4V。
    • 开始尝试解决多分辨率问题。
  3. Qwen-VL 2 (2024年8月):

    • 首个在大部分基准上超越GPT-4o(0513版)或Plus 3.5 son等模型的开源模型。
    • 核心点:将动态分辨率、M-RoPE(多模态旋转位置编码)、视频理解以通用方式引入训练。
  4. Qwen-VL 2 72B (Qwen2 72B, 2024年12月):

    • 基于Qwen-VL 2 72B继续训练。
    • 通过增加“长的thinking的过程”有效提高复杂问题解决能力(如MathVista、学科问题)。
    • MMEU Benchmark: 从64.5提升至70.3,达到SOTA水平。

Qwen2.5-VL 核心发布 (2025年1月)

Qwen2.5-VL是系列的最新迭代,在多个维度实现了能力跃升。

主要特点与性能

  • 纯文本能力: 72B版本与Qwen2.5 72B纯文本模型保持一致。> “我们的vmodel可以作为一个纯文本模型一样去回答我们各样的问题。”
  • 视觉能力: 达到SOTA(State-of-the-Art)水平。
  • 显著进步: 相比上一代Qwen-VL 2 72B,在视频理解和Agent能力上提升明显。

关键基准测试表现

  • 对比Gemini Flash: > “基本上大部分指标已经呃是有来有回了。”
  • MMEU (zero-shot): 与顶尖模型表现相当。
  • InfoVQAv2 (文档页面理解): 相比上一版提升约3个点
  • OCR能力 (CC-OCR, OCRBenchV2): 在多语言、复杂KIE(关键信息提取)任务上有效提升。
  • Qwen-VL HTML格式: 为通用模型解决文档智能和OCR任务引入的新格式。
  • General VQA: 达到SOTA水平。
  • 视频理解:
    • 在VideoMME-Bench、MVBench等长视频理解基准上取得进步。
    • 通用模型在视频事件定位上达到SOTA水平,超越专用模型。
  • Visual Agent能力:
    • 定位能力 (Mobile-Eval, SeeClick, RefCoCo, Visual-Reasoning-7W): 达到全面SOTA,超越许多专用模型。
    • 完整任务目标达成率:
      • AndroidEnv: 35%
      • Mind2Web (PC端): 8.8%
      • 在通用模型中达到第一梯队水平。

模型版本

Qwen2.5-VL提供了三个版本,采用相同数据和训练策略迭代:

  1. 3B模型:
    • 适合本地化部署和移动端。
    • 性能可媲美上一代Qwen-VL 2 7B。
    • 在简单视觉定位任务上表现出色,适合离线理解、定位、决策任务。
  2. 7B模型:
    • 相比上一版有非常明显的进步。
    • DocVQA: 达到95.7的高分,接近之前72B模型才能达到的水平,表明其文档理解能力极强。
    • 在视频理解、General VQA等任务上也有不错表现,整体可与Gemini Pro媲美。
  3. 72B模型: (能力已在前述内容中详述)

Qwen2.5-VL 关键能力提升详解

  1. Omni-Doc Parsing (全能文档解析):

    • 目标: 将所有2D文档(文档、海报、页面)以统一范式表示和解析。
    • 能力:
      • 基础能力:文字提取 (OCR)、阅读顺序。
      • 进阶能力:多语言支持、图片信息提取、表格、公式、化学式、图表解析、整体布局解析。
    • 格式: 引入“Qwen-VL HTML”自研格式,在HTML基础上增加额外信息(如坐标)来表示文档结构和内容。
  2. Universal Grounding (通用定位能力):

    • 特点:
      • 准确输出定位结果(box, point)。
      • 支持多种输出格式(JSON, XML)。
      • 具备空间推理能力。
    • 目标: 作为感知世界的中间表达,服务于更复杂的任务,如计数。
  3. Long Video Understanding & Fine-grained Event Localization (长视频理解与细粒度事件定位):

    • 核心: 从动态分辨率扩展到时间维度,通过动态FPS采样和绝对时间编码,使模型理解视频中的时间概念、间隔和流速。
    • 能力:
      • 支持长达1小时的视频输入(通过动态FPS)。
      • 事件定位精确到秒级
  4. Complex Visual Agent Tasks (复杂视觉Agent任务):

    • 基于强大的感知模型,尝试操控手机或电脑完成自动化任务。

网络架构与创新

  1. 原生动态分辨率 (Native Dynamic Resolution):

    • 机制: 几乎以原始尺寸输入图像,保持长宽比和像素数量,无需额外patch切割或anchor匹配。
    • 图像会被resize到长宽均为28的整数倍,最小token单元对应28x28像素区域。
    • 示例: 8204x1092的图像映射为11427个token;28x24的图像映射为88个token。
    • 优势: 避免传统resize造成的图像扭曲和信息损失,根据图片实际大小动态映射token。
  2. 视频输入的动态FPS采样与绝对时间编码:

    • 训练时: 采用动态FPS采样(1/8 FPS 到 8 FPS)。
    • M-RoPE改进: 时间维度的position ID与绝对时间对齐。例如,8秒视频,每秒2个ID,共16个ID (0-15)。不同采样率下,帧对应的ID能映射到绝对时刻。
    • 3D卷积: 输入处的2x14x14的3D卷积核,时间维度上会将2帧合并为1个token的embedding。
  3. 改进的M-RoPE (Multimodal Rotary Position Embedding):

    • 将token的position ID划分为三维:时间、宽度、高度。
    • 时间维度与绝对时间对齐。
    • 文本兼容性: 对于文本,三个维度的ID设为相同值,即可兼容传统1D RoPE。
  4. 更快更高效的VI Encoder (Visual Encoder):

    • 动机: 解决动态分辨率下大图输入导致VI计算量过大的问题。
    • 改进: 大量引入Window Attention (窗口大小112x112,对应patch层面8x8),仅保留4层Full Attention。
    • 结构统一: 采用RMSNorm和GeGLU,与LLM部分结构更一致。

训练策略与数据

  1. Projector: 采用两层MLP,将相邻2x2的视觉token映射为与LLM输入embedding一致的vision token,实现动态映射。
  2. VI参数: 三个版本模型VI大小基本一致(约600M)。3B模型共享embedding和output layer参数。
  3. 训练数据量: 总计 4.1T token (包含图像映射的token和文本token,仅监督文本token loss)。
  4. 训练阶段:
    • 阶段一 (VI Pre-training): 单独训练VI部分 (Clip pre-training)。
    • 阶段二 (VLM Pre-training): 引入更多task,端到端训练整个网络。
    • 阶段三 (Long Sequence Extension): 针对视频、长文档、Agent长交互历史等数据,训练更长的序列长度。
    • 阶段四 (SFT): 使用32K上下文长度进行指令微调。支持通过YaRN扩展至128K(可能损失定位能力,但理解能力较好)。视觉输入因M-RoPE占用ID少,实际可处理更长视觉序列。
  5. 训练数据特点:
    • Interleaved Image-Text Data: 大量增加,探索data scaling对模型性能的提升。
    • Grounding Data: 采用绝对位置编码,输出坐标直接对应输入图片(resize后)的实际像素坐标。> “我们是将我们的坐标完全和这个图片的输入大小来对应。” 这有助于模型理解图片真实大小。
    • Omni-Doc Parsing Data: 使用Qwen-VL HTML格式。
    • OCR Data: 强调其对理解人类知识的重要性。
    • Video Data: 包括理解、QA、定位、长视频理解。训练时采用动态FPS采样。
    • Agent Data: 除通用Agent数据外,引入大量针对PC/手机页面的定位和reasoning数据。

关键技术洞察

  • 动态分辨率的价值: 不同任务和数据集有其最佳适应分辨率。Qwen-VL允许输入接近原始分辨率的图片,或由用户调整min_pixelmax_pixel以探索任务最佳分辨率设置,从而在性能和效率间取得平衡。
  • M-RoPE与长上下文: 图片的position ID占用较少,为文本token留出更多空间,使得模型在32K训练长度下也能很好地外推至更长上下文(如视频测试到80K-90K仍有性能提升)。
  • Scaling Law: 模型性能随模型尺寸增大和训练数据量增多呈现一致的(对数线性)增长趋势,直至饱和。

模型能力展示 (部分示例 - 白帅提及)

  • 知识与识别: 地标识别、中国菜识别等长尾识别任务。
  • 通用Grounding:
    • 检测骑摩托车的人并判断是否戴头盔,输出JSON格式(含坐标和属性)。
    • 识别篮球运动员并点出其头部和手部(区分左右手)。
  • OCR与坐标输出: 定义prompt即可输出所需格式和内容的OCR结果,包括App界面、PC搜索结果。
  • Omni-Doc Parsing (Qwen-VL HTML):
    • 能解析复杂书籍页面(含图片、公式、标题)和技术报告(图、插图、URL)。
    • 局限性: 目前对分辨率鲁棒性有待提升,推荐图片短边在1000-2000像素(对应token数1280-4096)效果较好。
  • 视频理解:
    • 视频内OCR(如拍摄论文截图并提取文字)。
    • 在线交互与对话(如总结擦黑板、画图等行为)。
    • 时间定位: 将烹饪视频按秒级时间戳分割事件并总结。
  • Agent能力:
    • 手机操控: 演示发送新春祝福QQ消息(打开QQ、思考内容、输入、发送)。
    • PC操控: 演示搜索天气信息(打开浏览器、输入网址、获取结果)。

使用技巧与建议

  1. 分辨率设置 (min_pixel, max_pixel):

    • 这两个参数控制输入图片的总像素数(token数约等于总像素数 / (28*28))。
    • 线上API默认参数范围对应的token数约为256到1280。
    • 重要: 输出坐标是基于模型实际接收到的、经过resize后的图片尺寸。用户需注意转换到原始图片坐标系。processor.image_grid_thw 乘以14可得到模型输入的真实H和W。
    • Omni-Doc Parsing推荐: min_pixel对应token约1280,max_pixel对应token约2560或4096。短边1000-2000像素效果更鲁棒。
  2. 视频输入FPS设置:

    • 可调。长视频使用更低FPS,短视频使用更高FPS。
    • qwen_processor提供大致的映射逻辑,用户可自行调整。

模型体验与资源

  • 在线体验: Chat Qwen (chat.qwen.ai)
  • 模型下载: Hugging Face, ModelScope (魔搭社区)
  • 代码与进展: Qwen2.5-VL GitHub repo (含cookbook)
  • API服务: 百炼平台

实战演示 (程宇)

程宇老师演示了Qwen2.5-VL-72B-Int4模型在QwenChat平台及通过GitHub Cookbook的多种应用:

  1. QwenChat平台 (chat.qwen.ai):

    • Qwen-VL HTML: 将论文截图转换为可预览的HTML网页。手绘网页草图也能生成HTML代码。
    • 梗图理解: 准确识别图片中鸭子支持全聚德、鸡支持肯德基的幽默讽刺点。
    • 食物识别与营养估算: 识别餐盘中的烧鱼、豆腐、皮蛋等,返回名称、坐标、预估重量和热量。
    • 旅行场景:
      • 景点识别: 通过图片细节(如马里奥logo)识别出日本大阪环球影城。
      • 菜单翻译: 框选菜单中的外文菜品名,进行翻译并解释食材。
    • 物体识别: 识别汽车型号为宝马X3。
    • 复杂OCR: 准确识别海报上的繁体字、手写风格字体、印章字体等。
  2. GitHub Cookbook (Qwen2.5-VL repo):

    • 空间定位: 框出图中所有小蛋糕、特定位置的小蛋糕、厨房用品,甚至能识别并框出折纸狐狸在墙上的影子。
    • Mobile Agent: 根据手机截屏和指令,解析操作步骤并输出点击位置或输入文本,实现自动化手机操作(如比价、社交媒体点赞)。
    • Computer Use (Desktop Agent): 根据电脑屏幕截图和指令,操作电脑完成任务(如发送邮件、整理会议纪要、处理GitHub Issue)。绿色点标示鼠标点击位置。
    • 其他: Cookbook中还包含视频理解、OCR、文档解析等高级功能示例。

问答环节精选 (白帅)

  • 图片输入尺寸: 理论上最大支持32K token对应分辨率,推荐最大16384 token (约2427x2427px)。min_pixelmax_pixel控制像素总数,进而影响token数。
  • 坐标系: 输出坐标是绝对坐标,对应模型实际输入(resize后)的图片尺寸。用户需通过processor.image_grid_thw获取模型输入尺寸并进行转换,才能映射回原始图片。绝对坐标有助于模型理解图片大小和提升不同尺度预测的精度。
  • 3B模型构成: LLM部分为Qwen2.5 3B,VI部分约600M,整体参数略大于3B。
  • 视频事件定位: 支持事件发生时刻的秒级定位。暂不支持带时空戳的物体跟踪(即视频中的bounding box)。
  • VI推理加速与量化: VI引入Window Attention已减少计算量。AWQ量化版本已发布。可通过限制max_pixel进一步提速。
  • 训练数据扩充与框架优化: 主要增加interleaved图文数据。训练时采用离线动态打包,将不同长度样本拼接至相似token总数,保证GPU负载均衡。
  • 1小时视频输入原理: 通过极低FPS采样(如1/8 FPS,即8秒采一帧)结合3D卷积的帧合并及模型良好的外推能力(支持到90K token输入)。
  • Omni-Doc Parsing (Qwen-VL HTML): 是一种以HTML为基础,加入坐标等信息的文档表示方式,用于关键信息抽取和通用文档理解。对分辨率有一定要求,推荐短边1000-2000像素。
  • 多图输入与时间ID: M-RoPE能区分图文交错序列中的不同图片,每张新图片会获得新的、区别于前一张图和视频帧的时间ID。
  • Projector选型 (MLP vs Cross-Attention): MLP能更好兼容动态分辨率,保留空间信息,收敛更快。当前Llama3.VL的Cross-Attention方案参数量大,效果未显优势。
  • 量化模型: AWQ量化版本已在Hugging Face和ModelScope提供。
  • 微调策略 (全量 vs LoRA): 数据量大(数万以上)且有通用数据混合时,推荐全量微调。数据量少或通用数据匮乏时,推荐LoRA。
  • 多图理解与对比: 支持多图内容总结和变化点对比(细粒度“找不同”仍有挑战)。

核心观点总结

Qwen2.5-VL代表了通义千问在多模态理解领域的最新进展,其核心目标是赋予模型更强的“视觉感知”能力。通过在动态分辨率处理、长视频理解、精细化事件定位、通用Grounding以及文档和视觉Agent交互等方面的关键技术突破,Qwen2.5-VL不仅在多项基准测试中达到行业领先水平,也为实际应用场景提供了更强大和灵活的解决方案。模型的开放性和多版本策略,结合详细的使用技巧和丰富的社区资源,旨在推动多模态技术的发展和普及。