本论文研究了能否利用一个“冻结”的LLM,直接理解视觉信号(即图片),而不用在多模态数据集上进行微调。核心思想是把图片看作一种“语言实体”,把图片转换成一组离散词汇,这些词汇来自LLM自己的词表。为此,作者提出了Vision-to-Language Tokenizer(V2T Tokenizer),通过编码器-解码器、LLM词表和CLIP模型的结合,把图像转化成一种“外语”。这样编码后,LLM不仅能够理解视觉内容,还能做图像去噪和修复,而且完全不用微调(只用冻结的LLM)。
Abstract
问题:关注如何让LLM直接理解视觉信号(如图像),不依赖于多模态数据集的微调。方法核心:
- 将图像看作语言实体,将图像编码为LLM词表中的离散token(单词)。
- 设计了Vision-to-Language Tokenizer(V2L Tokenizer):通过encoder-decoder架构、LLM词表和CLIP模型将图像翻译成LLM可解释token。
- 转换后,冻结的LLM不仅能做图像理解类任务,还能做图像去噪和修复任务(自回归生成),全程无需fine-tuning。
- 支持的任务包括分类、caption、VQA以及inpainting、outpainting、deblurring等去噪/修复任务。
V2L Tokenizer的主要流程。把图像转成一组可解释的token(词元),这些token直接来自LLM的词表。LLM冻结后,它通过这些token就能理解视觉信号,能执行多模态相关任务(蓝色标记部分),也能做图像去噪修复类任务(橙色标记部分),而无需微调。
Introduction
背景
当前多模态模型如GPT、PaLM、LLaMA正从单一NLP任务向视觉-语言任务扩展。一般做法是:在语言模型基础上增加视觉模块。然后通过多模态数据集联合训练(fine-tuning),使视觉和语言latent space对齐。
局限性
- 现有做法依赖大规模数据和计算资源。
- 多模态对齐通常在latent特征空间层面,训练成本高。
本论文贡献
- 在输入token空间对齐视觉和语言信息(不是特征空间),避免了多模态训练/微调。
- 操作流程:
- 通过V2L Tokenizer把图像转为LLM词表内的离散token(用encoder-quantizer-decoder架构)。
- 冻结LLM可直接接收、处理这些token,实现视觉理解、生成和恢复等任务。
- 词表扩展(bigrams/trigrams)方式提高了视觉到语言token的表达力。
- 用CLIP筛选最具语义信息的组合token作为最终codebook,加强与视觉内容的语义对齐。
- 采用in-context learning,无需LLM训练,仅靠prompt即可做zero-shot视觉任务。
Method
3.1 Problem Formulation and Overview
- 图像作为“外语”:设定LLM词表为T={t1, t2, ..., tN}。目标是将图像编码为K个LLM词表内的token(属于T)。
- 实现:V2L Tokenizer将图像编码为Kg个全局token(语义类任务,如分类、caption、VQA等)和Kl个局部token(细节类任务,如denoising、patch level编辑等)。K总数=Kg+Kl。
- 使用:将(任务说明+in-context学习样本+全局或局部token)一起输入LLM,实现各种自回归视觉任务。
3.2 Vision-to-Language Tokenizer
整体架构
- 采用encoder-quantizer-decoder结构。
- 有两个独立量化器:全局量化器(对应全局codebook),局部量化器(对应局部codebook)。
Global Codebook
- LLM词表为一组subword token(如BPE/SentencePiece)。
- 问题:单词token通常语义有限。
- 策略:词表扩展为bigrams/trigrams,提升语义表达力。但组合词可能语义杂乱(如符号)。
- 解决:用CLIP计算每个图片与所有扩展token的相似性,选top-5最相关token。聚合全图片的top-5组合,形成最终全局codebook。
Local Codebook
- 用于局部patch编码细节,直接用LLM原始词表,无需扩展。
Embedding表示
- global/local codebook分别通过CLIP text-encoder转化为embedding:LLM embedding(local)、E-LLM embedding(global)。
- 增设用户可训练的线性投影器,实现语义空间与视觉空间对齐。
Encoder
- 包括可训练CNN encoder和冻结CLIP-vision-encoder。
- CNN encoder:类似VQ-GAN,提取local特征,空间downsample rate为8。
- CLIP-vision-encoder:提取global语义特征。
- 空间特征F∈Rh×w×dl,global特征f∈Rdg。
Quantizer
- local quantizer(patch级):对每个F(i,j),选距离最近的局部codebook embedding,获得Kl个token。
- global quantizer:对global特征f,选最近的全局codebook embedding,获得Kg个token。
- 两类embedding全程冻结。
Decoder
- 基于VQ-GAN解码器结构,stacked transposed卷积+自注意力层+cross-attention层(输入f,空间信息F为query,f为key),实现全局信息对局部还原的辅助重建。
Loss
- 仅优化编码器、解码器、投影层。LLM/E-LLM embedding/vocab及CLIP模型全程冻结。
- 损失包括LVQ、感知损失LPerceptual和GAN损失LGAN,各权重λ1=1.0, λ2=0.1。
- 具体损失计算参考VQ-GAN。
3.3 Visual Signal Comprehension
- 图像处理后得到全局token Tg和局部token Tl(flatten后Kl=hw)。
- 结合任务prompt、样例和token,一起输入LLM即可实现多样视觉任务。
- 具体任务prompt设计:
- N-way K-shot分类:[任务说明,样例:“Input:Tg, output:类别”],最后输入待测Tg,LLM输出类别。
- Image Caption:[提示,样例:“Input:Tg, output:caption”],测样输入Tg,LLM自回归生成caption,遇到句号停止。
- VQA:[说明+样例:“Condition:Tg. Question:Q. Answer:A”],测样输入Tg和问题,LLM输出答案。
- Image Denoising:参考SPAE,补全、去模糊、outpainting等均设计相应prompt,输入token与要求,输出重构token。
(a) Inpainting/Outpainting
提取local tokens:给定一张图片,首先用V2L Tokenizer提取它的局部token(记为Tl),每个token对应图片的一个小块。
生成token变体
按照SPAE的做法,基于Tl生成10份变体(记为{Tₗˢ}¹⁰ˢ₌₁)。
每份变体都是把Tl里的部分token随机换成LLM词表里的其它token,形成不同程度“污染”的版本。
替换比例按 [23%, 50%; 3%]生成,从23%到50%之间每次递增3%,形成不同难度的样本。
应用掩码
对于inpainting任务,在Tl的中心加一个8×8掩码区域(即中间小块都遮住,需要去恢复)。
对于outpainting,则在图片底部加一个8×16掩码区域(需要补全图片下方)。
预测被遮盖token
目标是一次预测m个被掩码的token,利用它们前面的n个token信息。
Prompt结构为:[学习新语言,按示例推测后面的m个token。{Input: Tₗˢ[n], output: Tₗˢ[m]}¹⁰ˢ₌₁. Input: Tl[n], output:]
意思是:有10个样例,每个输入是前n个token,输出是接下来的m个token。
实际推理时,LLM先用n个未被掩码token,连续生成m个被掩码token;每次预测完成后,把新生成的token补上,继续预测下一个m个,直到所有被遮盖token都恢复出来。
拼接token还原图片
最后把生成的token(恢复的掩码区域)和剩下未被遮盖的token一起拼成完整token map,然后送入解码器还原图片。
(b) Deblurring(去模糊)、Shift/Rotation Restoration
任务原理相似:Deblurring、Shift和Rotation恢复原理都类似,也是“输入一部分token,预测剩下的token”。
prompt结构差别
prompt结构是:[学习新语言,按示例推测后面的m个token。{Input: Tₗˢ[n + m], output: Tₗˢ[m]}¹⁰ˢ₌₁. Input: Tl[n + m], output:]
这里,输入是n+m个token,预测的还是m个token。
Tₗ是模糊/位移/旋转过的图片对应的token序列;Tₗˢ表示经过随机token替换后的版本。Tₗˢ也对应原图的random变体。
默认n=16, m=2,即每次输入16+2个token预测2个目标token。
关键思路:用局部token表示图片,把一部分设为掩码/异常/模糊等状态,然后通过预设“few-shot prompt”(即带10个有答案的示例,样例都经过随机扰动),让冻结的LLM逐步恢复被遮盖或污染的token,再用解码器还原整图。
这样就实现了不用微调,仅靠文本推理能力恢复(修补、补全、去模糊等)损坏图片的效果。
4. Experiments
4.1 Settings
- 采用了LLaMA2作为LLM,有三种参数规模版本,分别为7B(70亿)、13B(130亿)、70B(700亿),词表为32,000个词元。
- 局部码本(local codebook)用的是LLaMA2原始词表,global codebook扩展并过滤后规模是11,908。
- CLIP模型用的是ViT-L/14结构。
- 图片统一resize成128×128像素,然后用V2L Tokenizer编码成16×16的token map。
- 训练数据用的是ImageNet-1K,共训练100个epoch,使用32张NVIDIA V100显卡进行训练。
- 优化器选Adam,初始学习率5e-4,前5个epoch线性升温,然后采用半周期余弦衰减。
4.2 Image Comprehension
Few-Shot Classification(小样本分类)
- 实验在Mini-ImageNet的2-way和5-way分类基准上做图像理解。
- 所有样本和测试图像都用V2L Tokenizer转成Kg个global token。
- 按照3.3节和图3设计prompt输入LLM做分类预测,LLM输出文本形式的类别(必须所有token跟类别名完全吻合才算正确)。
- 在表1比较了不同LLaMA2版本(7B/13B/70B)、以及同行的LQAE[25]、SPAE[54]、和另一个基线方法。
- 影响分类精度的因素有:(1)分类类别N、(2)每类样本K、(3)任务描述、(4)few-shot样本重复次数。
- 主要发现:①本方法在各种场景下都超过了SPAE(尽管用更小的LLM和更精简的词表);②代表图片的token数量越多,性能越高,这是因为词表扩展使得可选语义token更丰富。
Image Caption & Visual Question Answering
- 按SPAE的流程,从COCO Caption和VQA数据集中随机挑选10个样本做in-context示例,默认每图用21个global token表示。
- 图5展示了一些可视化结果,还有更多结果在补充材料里。
Semantic Interpretation
- 图6可视化了6张图像各自得分最高的4个global token,可以看出词表扩展明显丰富了语义选择空间(如bigrams、trigrams)。
- 表2则用CLIP分数和CLIP-R(相对分数)评价global token的语义质量,和SPAE对比,结果显示本方法虽然词表更小但语义质量更优。
4.3 Image Reconstruction and Denoising
Reconstruction Evaluation(
- V2L Tokenizer把图像编码成LLM词表上的local token,这些token要能充分表达图像信息以便解码器重建原图或去除污染。
- 用FID、LPIPS、PSNR三种指标评估重建质量,结果见表3。
- 比较了两种配置:①用VQ-GAN的解码器不加global token;②用论文提出的带global token解码器(默认为section3.2配置)。
- 本方法在所有指标上都优于SPAE。
Image Denoising
- 介绍了prompt设置如何复原被污染(破坏)的图片,包括修补、扩展、去模糊、位移、旋转等任务,如图4所示。
- 表4分析了两大影响因素:①图片tokenizer编码能力;②LLM预测local tokens能力(以VQ-GAN、LQAE、SPAE为对比方法)。
- 随机挑选5000张ImageNet验证集图片做评测,指标为FID和LPIPS。
- V2L Tokenizer在五类任务上几乎所有指标都优于对比方法,主要原因是图片特征能更好地和LLM token空间对齐。
Masked Image Restoration
- 在ImageNet验证集图片上,先用V2L Tokenizer获取global和local token,然后随机把30% local token做掩码(遮盖)。
- 用LoRA微调过的LLaMa-2 7B模型来预测这些掩码token(具体微调方法见补充材料)。
- 把预测的token与未被掩码的token联合输入解码器进行重建,定性结果见图8。
- 图中“input”是把未掩码token拼实际像素,掩码部分设为0送入解码器。
Conclusion
- 把图片视作“外语”,提出了V2L Tokenizer,将连续视觉信号映射到LLM的token空间,使冻结的LLM也能不经多模态微调理解视觉信息。
- V2L Tokenizer能生成全局和局部token:全局token通过词表扩展做语义表达,支持识别、描述和问答任务;局部token则用于提取图片细节,实现去噪、修复等任务