这项由腾讯混元视觉团队、清华大学、南洋理工大学及中国科学院联合完成的研究,以预印本形式发布于2026年6月25日,论文编号为arXiv:2606.27313,感兴趣的读者可通过该编号查询完整论文。
有没有想过,当你把一张照片发给AI助手,它是怎么"读懂"这张图的?在AI的世界里,文字可以被拆解成一个个数字编号——比如"猫"对应编号3024,"跑"对应编号7819——这让语言模型处理起来非常自然。但图像就麻烦得多:一张普通照片里藏着数以百万计的像素点,色彩微妙,纹理复杂,远不是几个数字能说清楚的。现有的AI系统为了处理这种"图文不同语"的困境,通常会雇佣一个专职的"图像翻译员",将照片转化为一串庞大的、连续的浮点数向量,再喂给语言模型。这套流程能用,但效率低下,而且图像和文字始终住在两个不同的世界里。
研究团队从一个朴素的念头出发:既然文字可以用离散的数字编号来表示,为什么图像不能做到同样的事情?如果能把一张照片也压缩成几百个整数编码,那么AI就能用同一套语言同时理解文字和图像,整个系统会变得更简洁、更高效。这个念头并不新鲜,但实现起来有一个几乎绕不过去的难关:把连续、精细的图像硬塞进离散的数字格子时,大量细节会在压缩过程中白白流失。现有的方案要么保留了图像的细节却丢失了语义理解,要么保留了语义却让图像面目全非——就像把一首交响乐录成8-bit游戏音效,旋律大概还在,但那种层次感早已消失殆尽。
正是为了破解这个两难困境,研究团队提出了ViQ(Visual Quantized Representations,视觉量化表示)框架。这套框架的核心野心是:让AI用离散整数编码来表示图像,同时在语义理解和视觉细节两个维度上都不妥协,并且支持任意分辨率的图像输入,而不是像大多数现有模型那样只能接受固定尺寸的图片。
一、为什么"图转数字"这么难?
要理解ViQ解决的问题,不妨先用一个生活中的例子来打底。把图像转成数字编码,有点像把一幅细腻的水彩画翻译成乐高积木拼图——积木的颗粒感是固定的,而水彩的笔触是无限细腻的。你可以用很多块积木拼出大致的轮廓和颜色分区,但毛笔轻扫过画布时那种晕染的质感,大概率要在翻译过程中消失。
在AI领域,这个"翻译"过程叫做向量量化(Vector Quantization)。它的原理是:先把图像用神经网络转成一堆数值,然后把这些数值"四舍五入"到最近的预设档位——就像把温度读数统一取整到整数度。每个档位有一个编号,最终图像就变成了一串编号序列。这些编号可以直接和文字的编号放在一起,语言模型读起来毫无障碍。
问题在于,图像中有两类截然不同的信息需要保留:一是高层语义,即"这张图里有一只猫在草地上追蝴蝶";二是低层细节,即猫毛的纹理、蝴蝶翅膀上的斑点、草叶边缘的锯齿。专门为语义训练的模型压缩率太高,细节几乎全丢;专门为细节重建训练的模型又不懂语义,问它图里有什么,它一问三不知。此前的量化视觉编码器,如QLIP和UniTok,在九个多模态理解基准上的平均得分只有29.7和33.0,而同等条件下连续特征的视觉编码器(如InternViT-2.5-6B)能拿到57.0——差距之大,足以说明这个领域的困难程度。
ViQ的回答是:不要试图一步到位,而是分阶段、渐进式地把连续特征空间收缩进离散格子里,就像把一个气球慢慢捏成方块,而不是一刀把它切成方形——前者保留了气球里的气,后者则让气跑光了。
二、第一阶段:先让AI读懂图像的"意思"
ViQ的训练分两大阶段。第一阶段叫做"文本对齐预训练",目标是让视觉编码器先学会理解图像的高层含义,并且能够处理任意分辨率的图像。
研究团队选择了SigLIP2-g作为起点——这是一个已经具备不错视觉理解能力的预训练模型,其输出特征维度是1536维,相当于每个图像区块都被描述成一个1536个数字组成的向量。然而,SigLIP2-g有一个限制:它只能接受固定大小的图像输入。把一张高分辨率的报纸页面强行缩放成固定尺寸,那些细小的文字就会糊成一片,OCR任务必然受损。
为了让模型支持任意分辨率,研究团队借鉴了NaViT的思路,把原来固定尺寸的位置编码层替换成能够动态适配任意尺寸的版本,同时引入了OryxViT中的效率优化技术来应对变长视觉序列带来的计算压力。这样,无论你输入一张名片大小的图还是一张海报,模型都能以原生分辨率处理,不再需要削足适履地缩放。
训练时,团队给模型看一批"图像-问题-答案"三元组,比如图是一张菜单照片,问题是"这里有没有素食选项",答案是"有,第三行的沙拉套餐"。模型通过一个临时的语言模型来计算文本监督损失,也就是说,只要视觉编码器输出的特征足够好,语言模型就能正确回答问题,否则就通过梯度下降来调整视觉编码器的参数。这个过程用公式表达就是:文本损失 = 语言模型(视觉特征,问题)与正确答案之间的交叉熵。
与此同时,团队引入了一个"自蒸馏"机制,防止模型在适应多模态任务时忘掉原来从大规模图文预训练中学到的通用知识。具体做法是:用原始固定分辨率的SigLIP2-g作为"老师",让它处理同一张被缩放到384×384的图,提取全局语义token;同时让新模型("学生")处理原始分辨率的图,提取全局语义token;然后要求两者的余弦相似度尽量接近1。这就像要求一个正在学习新语言的学生,无论用哪种语言表达,核心意思都不能跑偏。
训练策略上,团队采用渐进式推进:先在低分辨率(384?像素以内)的图像上训练约30亿个视觉语言token,然后把分辨率上限提升到768?像素,再训练约30亿token。图像复杂度、问答难度和序列长度都随着训练的推进逐步提高,让模型有足够的时间在每个难度级别上站稳脚跟,再迎接下一个挑战。
三、第二阶段:把连续特征渐进地"数字化"
如果说第一阶段是让模型学会"读懂"图像,第二阶段就是把这种"读懂"压缩进一串数字编码里,同时尽量不丢失信息。这个阶段被研究团队设计成两个子步骤,核心思想是"先收窄特征空间,再离散化"。
第一个子步骤叫做"近端表示学习"(Proximal Representation Learning)。1536维的原始视觉特征是一个非常宽阔的空间,如果直接对这么高维的特征做量化,就像试图用一把只有五档的拨盘来精确调节一台有一千个旋钮的调音台——绝大多数细节会在硬性取整的过程中白白丢掉。研究团队的解法是先把1536维特征通过一个瓶颈层压缩到128维,然后对这128维特征施加一个L∞范数约束,把所有特征值强制投影到一个超立方体的表面上(每个维度的绝对值都不超过1)。
这个L∞约束乍听起来有点神秘,但类比一下就清楚了:普通的特征向量就像一片随意散落在空间各处的点云,有的点密,有的点稀,距离远近不均。量化的时候,量化锚点(代码本里的每个格子)就像一排固定间隔的格子,点云里有些点跟格子贴得很近,量化精度高;有些点离格子很远,量化精度低。L∞约束把所有点统一投影到超立方体表面,让它们和格子的距离分布更加均匀,量化时的精度损失因此大幅下降。消融实验也证实了这一点:从直接量化(平均分60.9),到加瓶颈层+L?归一化(66.6),到加瓶颈层+L∞归一化(68.7),每一步改进都带来显著提升。
在这个子步骤里,损失函数结合了文本损失、自蒸馏损失和一个低层重建损失三部分。低层重建损失是新加入的:团队用一个预训练好的Qwen-Image视觉自编码器来把原始图像编码成低层潜变量,然后要求ViQ的压缩特征尽量接近这些潜变量(均方误差形式)。这样,模型在向语义方向学习的同时,还被强制保留了图像的低层细节信息,相当于给模型同时塞进了"语文课"和"图画课"。
第二个子步骤是正式的"量化训练"。在这一步,L∞约束被替换为有限标量量化(Finite Scalar Quantization,FSQ)模块。FSQ的工作原理非常简洁:把128维特征进一步压缩到6维,然后对这6维里的每个维度分别取近似整数值。具体来说,研究团队为6个维度分别设置了取值档位,前三维每维有8档(-3.5到+3.5的整数档),后三维每维有5档,6维组合起来总共有8×8×8×5×5×5 = 64,000种可能的编码。最终,每个图像区块被表示为一个0到63,999之间的整数编码——这和文字的词汇编号在结构上完全一致。
FSQ相比传统的可学习代码本方案(如SimVQ)有一个显著优势:它不需要额外的代码本优化过程,训练更稳定,也不存在"代码本崩溃"(大量编码从未被使用)的问题。消融实验显示,在相同设置下FSQ(68.7)明显优于SimVQ(65.6至66.5)。当代码本大小从64,000扩大到128,000时,性能反而下降到68.3——这是因为过大的代码本会降低每个编码的使用频率,信息压缩效率反而下降。
四、让数字编码"知道"自己在图里的位置
一张图里,左上角的蓝天和右下角的绿树对应不同的语义,但如果量化后的编码忘记了自己原本在图里的位置,语言模型就没办法理解"天空在上方"这类空间关系。为了解决这个问题,研究团队在量化步骤之前插入了一个二维旋转位置编码(2D RoPE)层。
旋转位置编码是大语言模型里常用的位置编码技术,它能让每个token"记住"自己在序列中的相对位置。ViQ把这个技术扩展到二维,让每个图像区块编码同时携带其在图中的行列坐标信息,用高度频率参数θ?和宽度频率参数θw来编码位置。这样,无论图像是什么分辨率,量化后的编码序列都保留了完整的空间关系信息。消融实验的结果非常鲜明:没有任何位置编码时,平均分只有65.3;使用可学习位置编码时提升到65.7(改善有限,因为增加了VQ模块的优化难度);而使用2D RoPE+注意力机制时,平均分跃升至68.7。
五、一个图像区块变成四个编码,信息量翻倍
为了进一步提升量化编码的表达能力,研究团队引入了一个多头注意力机制,把每个图像区块对应的特征向量"展开"成4个子编码(2×2排列),再分别量化,最后拼接回来恢复到原始序列长度。这个设计有点像把一个汉字拆解成偏旁部首:每个部首携带更具体的视觉细节,组合起来的表达能力比单个整体更丰富,而且每个子编码都是独立生成的,互不干扰,更适合下游任务直接使用。
六、实验结果:离散编码追上连续特征
多模态理解方面,研究团队用同一套2百万样本的训练数据,分别搭配Qwen2.5-1.5B和Qwen2.5-7B两个规模的大语言模型,在九个主流基准上进行评测,涵盖通用多模态问答(MMStar、MMMU)、世界知识(SimpleVQA、InfoVQA)、文字与文档识别(TextVQA、DocVQA、OCRBench)以及图表科学识别(AI2D、ChartQA)。
在Qwen2.5-1.5B作为语言模型时,ViQ以1.3B的视觉编码器参数量取得了九项基准的平均分57.2,不仅远超此前最优量化编码器UniTok的33.0和QLIP的29.7,还超过了InternViT-2.5-6B(参数量是ViQ的近5倍)的57.0,以及SigLIP2-g的53.1。在Qwen2.5-7B作为语言模型时,ViQ拿到63.9,同样超过了InternViT-2.5-6B的63.8,刷新了这一设定下的最优记录。
值得关注的是,ViQ的优势在文字识别和文档理解类任务上特别突出。以DocVQA为例,ViQ搭配Qwen2.5-7B时得分高达88.9,超过了InternViT-2.5-6B的85.7和SigLIP2-g的75.0。研究团队分析认为,这是因为这类任务对视觉编码器的低层细节感知能力要求最高,而ViQ通过近端表示学习保留了比其他量化方案更多的精细纹理信息。反观通用问答类任务,ViQ的优势没那么明显,这是因为这类任务更多依赖语言模型本身的知识储量和推理能力,视觉编码器的作用相对有限。
在OCRBench等最依赖细节的任务上,ViQ仍然落后于部分参数量更少的连续特征编码器,研究团队坦诚地指出,这是离散量化本身的系统性代价——高频细节在大幅压缩时不可避免地会有损失,这不是ViQ特有的缺陷,而是整个离散化路线当前阶段的共同局限。
图像重建方面,研究团队在ImageNet-1K 256×256验证集上进行了评测。ViQ取得了PSNR 22.73、SSIM 0.66、rFID 0.62的成绩。相比其他同样支持理解任务的离散编码器:QLIP-B的rFID为3.21,UniTok的rFID为0.37(重建质量更高),而ViQ的0.62处于两者之间,是在保持强大语义理解能力的前提下,重建质量最接近顶尖水平的方案。UniTok虽然重建指标更好(PSNR 25.32),但它在多模态理解任务上只能拿到33.0的平均分,说明它在优化重建时大幅牺牲了语义对齐能力——而ViQ的目标正是在这两个方向之间找到平衡。
七、训练效率:最高提速70%
ViQ的一大实际优势是训练效率。传统方案在训练多模态模型时,每个训练步骤都需要实时把原始图像送入视觉编码器提取特征,这部分计算占据了大量时间。而ViQ的视觉编码器输出是离散整数编码,可以预先离线提取并存储为轻量文件(仅需16位无符号整数),训练时直接加载编码,完全跳过昂贵的特征提取计算。
研究团队将ViQ和SigLIP2-g分别接入Qwen2.5系列从0.5B到7B四个规模的模型,在单节点上测试了4k和16k序列长度两种训练设置。结果显示,0.5B模型下,ViQ在4k设置中将前向传播时间加速了70%,在16k设置中加速了78%;即使是7B模型,前向传播时间也分别加快了46%和65%。考虑到离线编码提取的时间成本,完整训练步骤(包括反向传播)的加速幅度稍低:4k设置下超过20%,16k设置下超过40%。对于动辄需要训练数百亿token的大模型,这个加速比意味着可观的算力节省。
存储效率方面同样值得一提。一张1920×1280像素的图片,原始RGB格式占3HW字节(约7.37MB),而ViQ编码只需要HW/32字节(约0.07MB),压缩比高达96倍。同等压缩比下的JPEG图像(质量设置约为0.08)会出现明显的块状失真和色彩偏差,而ViQ通过像素解码器能恢复出质量明显更好的图像,说明这96倍压缩并非暴力丢弃信息,而是在离散编码空间里进行了有效的语义保留。
八、消融实验:每个设计选择的代价与收益
研究团队对ViQ的每个设计环节都做了系统的消融实验,使用Qwen2.5-3B作为基础语言模型,在八个基准上报告平均分。
在近端表示方面,直接对连续特征做量化(不加任何中间步骤)平均分只有60.9;加入瓶颈层后提升到66.6;在此基础上加L?归一化提升到67.9;换成L∞归一化后进一步提升到68.7。这个渐进的数字清楚地说明了每个步骤的必要性:瓶颈降维是基础,合适的归一化方法是关键。
在瓶颈维度方面,把128维瓶颈缩小到32维,性能从69.1降到68.4;扩大到512维时降到68.8;保持原始1536维不压缩时得到69.3,但这样就无法做量化了。这说明在适当范围内,瓶颈维度对最终性能的影响并不像想象中那么敏感,128维是一个良好的平衡点。
在损失组合方面,只用文本损失时平均分61.3,加入自蒸馏损失后提升至66.8,再加入重建损失后达到68.7。增益主要来自OCR和图表类细节任务,验证了低层监督对于保留视觉细节的有效性。而不同重建损失形式的对比也很有意思:直接计算像素级的MSE+LPIPS损失(2.3倍训练时间,得分67.0)反而不如轻量的VAE潜变量损失(1.3倍训练时间,得分68.7)——后者通过让模型预测预训练VAE的潜变量来间接约束低层细节,既高效又有效。
说到底,ViQ证明了一件让业界关注已久的事:用离散数字编码来表示图像,并不一定意味着向语义理解或视觉细节妥协——关键在于训练策略的设计是否足够精妙。渐进式地收缩特征空间、选对量化方法、注入位置信息、同时用语言和像素两类信号监督,这些设计叠加在一起,把量化视觉编码器的多模态理解能力从30分区间拉到了57至64分的水准,几乎追平了最优连续特征编码器。这条路并不完美——OCR等极度依赖细节的任务上仍有差距,超大规模模型(70B以上)的适配效果也有待验证——但它已经清楚地表明,图文统一表示不再只是一个美好的愿景,而是一条看得到终点的技术路径。
对于那些对这个方向感兴趣的读者,不妨思考这样一个问题:如果离散编码能够足够精准地表示视觉信息,未来的多模态AI是否会真正实现用同一个"大脑"同时处理文字、图像乃至声音,而不再需要不同模态之间的翻译层?这个问题的答案,或许正在ViQ这类研究的延长线上慢慢浮现。有兴趣深入探讨的读者,可以通过论文编号arXiv:2606.27313查阅完整的技术细节。
Q&A
Q1:ViQ框架和普通的图像压缩(如JPEG)有什么本质区别?
A:JPEG是纯粹的像素压缩,只关心尽量还原图像的视觉外观,对图像内容的语义一无所知。ViQ的离散编码则是语义感知的——它在压缩过程中同时受到语言模型监督,编码天然携带了对图像"意思"的理解,可以直接被语言模型读取和推理,这是JPEG编码完全不具备的能力。两者在同等96倍压缩比下,ViQ重建质量也明显优于JPEG极度压缩的效果。
Q2:ViQ为什么选择有限标量量化(FSQ)而不是传统的可学习代码本方案?
A:传统可学习代码本方案(如SimVQ)需要在训练中同时优化代码本里每个编码向量的位置,这个过程容易出现"代码本崩溃"——大量编码从来不被使用,实际可用的格子远少于理论数量。FSQ完全不需要学习代码本,它直接对每个特征维度按预设档位取整,训练更稳定,使用率也更均匀。实验也证明FSQ在同等设置下比SimVQ平均高出2到3分。
Q3:ViQ在多模态训练中如何实现70%的加速?
A:关键在于ViQ的视觉编码输出是离散整数编码,可以提前离线计算并存储为极小的文件。正式训练时,不需要把原始图像送入庞大的视觉编码器实时提取特征,而是直接加载预存的整数编码并映射到语言模型的嵌入空间,省去了视觉编码器的整个前向计算。视觉编码器通常是训练pipeline中最耗时的部分之一,跳过它自然带来了显著的速度提升,模型规模越小这个比例越突出。