模型结构
引言:LLaVA模型结构比较简洁,是否需要设计更复杂的模型结构呢?
近一年,也有许多论文对模型结构进行尝试和改进。
- Vision_encoder
GVT(2305)中讨论将VIT换成DeiT, CLIP, MAE, DINO等其他自监督视觉backbone,DeepSeek-VL(2403)等工作使用了两种vison encoder联合编码图像特征(SAM+Siglip),FUYU(2310)更激进的提出不用vision encoder,直接原图输入。
- Projection
除了MLP外,Qformer(2301)、 Resampler(2204)等也可以作为特征转换层。尽管还有一些论文提出新的抽取层C-Abstractor(2312),但使用最广泛的还是MLP。即使minicpm-v(2402)、TextMonkey(2403)等采用非MLP方式也更多的是为了效率而不是效果考虑。
- LLM
通常都是直接复用开源LLM模型。有一个值得探究的点是文本token和图像token在LLM中是否应该区别处理,如InternLM-XComposer2(2401)会在在lora微调LLM时区别对待图像token和文本token,或者BEIT3(2208)在模型结构上就针对不同领域token设计专家模型。但目前最普遍的还是直接复用开源LLM。
小结:从上述论文的结果来看,除了moe能明确用来训练更大模型外,其他网络结构的改动性能上变动并不显著;在数据没饱和的情况下,除非是大的模型结构创新,否则更值得做的事情是挖掘高质量数据。
理解和生成一体化
引言:当前提到图像生成,大家默认会想到diffusion,其实VLM也可以做图像生成。上文提到过当前VLMs训练时其实忽略了分割数据(文本不适合表示分割),如果VLMs能直接输出图像,是不是也能很好的利用分割数据;AGI必然会针对不同的需求,选择最高效的方式输出,而不仅仅是局限在文本输出上。
LLaVA目前只能处理图像理解任务,输出文本描述,而无法生成图像。
如果我们希望VLMs能够输出图像,该如何实现呢?最直观的办法是让VLMs先生成图像的文本描述,然后利用扩散模型(Diffusion Model)将这些描述转化为图像。然而,如果VLMs与扩散模型之间没有经过联合训练,生成效果可能会受到很大限制。
近一年也有不少相关工作,将理解和生成一体化。基于输出图像的形式,大致可以分为两类。
- 方式一:连续embedding表示图像
- 相关工作有EMU2(2312), DreamLLM(2309), NExT-GPT (2309), SEED-X(2404)
- 这一类的工作特点在于输出图像的embedding,作为Diffusion的控制条件,利用Diffusion解码出图像。在优化LLM的图像输出embedding时,通常保持Diffusion冻结,相当于将Diffusion作为图像解码器
- 注意由于连续embedding需要使用回归Loss进行监督,和当前LLM的分类Loss不一致,所以需要修改LLM训练代码支持回归Loss
- 方式二:离散token表示图像
- 相关工作有LaVIT(2309), Unified-IO 2(2312)
- 这类工作使用vqvae(1711)将图像离散化,输出的是离散图像token,在训练框架上和当前LLM保持统一
- 这一类方法要考虑vqvae图像离散化有效性的问题。通常vqvae的图像词表是4k或者8k,是否能完美表示50176(14*14*256)像素空间呢?这里MagVit v2(2310)提出新的编码图像token的方式,可以将图像词表扩充至262K
除了图像输出形式外,也许还需要对输出方式进行改进。LLM现在的自回归是为文本设计的,一个一个token蹦出来是符合人类语言特性的。但是人类看图像不是一个patch一个patch看的。而是先看图像整体再看细节。所以VAR(2404)提出在空间维度进行自回归训练,一次性输出一个scale的图像token,在速度和效果上都能和早期diffusion相提并论。
FoundationVision/VAR
其他:VITRON(2404)采用纯文本作为控制信号,并通过设计指令数据来微调大语言模型(LLM),从而优化其“调用文本”的输出效果。论文认为这种设计使得后端解码器在更换时变得更加容易和灵活,这为系统的可扩展性和适应性提供了显著优势,并能减轻LLM的训练负担。
小结:尽管VLMs在图像生成方面尚未如Diffusion方法那般广泛应用,但无疑是有潜力的。VLMs优越的长上下文理解能力和灵活的输出形式,使其在实际应用中比单独使用Diffusion更为便捷。虽然这一路线在技术细节上尚未完全成熟,但也有企业如VideoPoet、阶跃星辰坚定地在这一领域进行探索。
视觉能让LLM更智能吗
引言:之前和非视觉同学讨论说,VLM看上去不就是接了个VIT吗,没啥特别的?知乎上也有讨论为什么是语言大模型产生“智能”,而不是视觉大模型产生“智能”——盲人看不见,也有智能,说明产生智能不需要视觉;很多动物也有视觉能力,但是并没有表现出太多的智能。
ChatGPT 令人兴奋,是因为它看起来非常聪明,能够生成类似人类的“智能”输出。但目前的VLMs更多是为大型语言模型 (LLM) 添加一个感官信号,很难说VLMs会比LLM更加聪明。
无论是NLP还是视觉算法同学,最终的目标无疑是实现通用人工智能(AGI)。如果说视觉和智能关系不大,那一定会让视觉同学感到沮丧。然而,当前VLM确实更多是以LLM为主体,并且没有明确的研究表明加入视觉信号的VLM在文本的逻辑推理任务上明显优于纯文本的LLM。
因此有必要深入探讨视觉与智能之间的关系,以及视觉在实现AGI过程中能发挥的作用。
▐ 什么是智能
要想回答视觉是否能让LLM更智能,首先要定义什么是智能,以及智能怎么来的。在此简要概述笔者理解的“智能” (不一定对)。
首先将“智能”狭义的定义为“连接关系”。
例如,单独的“人”这个词仅仅是一个指代,只有当我们将“人”这一概念与“手”、“头”、“车”等其他概念连接起来时,它才具有实际的意义。在狭义上,智能可以被定义为将各种事物和概念“连接”在一起的能力。
将智能的产生过程归纳如下:
- 首先通过观测运动的物理世界,我们会发现一些简单的“连接关系”,比如手和头是连接在一起的,树上有小绿片等。
- 物理世界中存在着无数种“连接关系”,人类大脑无法事无巨细地全部记住,因此我们需要对这些简单的连接进行抽象处理。例如,树a和树b上都有小绿片,我们不会机械地记住每棵树上的每一片小绿片,而是将这些小绿片统一称为“树叶”。这些抽象概念通过文字得以存储,并永久保留。
- 通过可存储的文字,我们有条件建立起更长久、更高级的连接,把长时间、大范围内的各种“连接关系”串联起来,进而抽象出更高层次的“连接关系”,例如物理定律。这些高级的连接关系形成了我们理解的高级智能。
当然“智能”肯定不是这么简单就形成的,还涉及社会学、心理学、生物学等多方面因素。
从这个过程中可以看出,人类作为一个物种,其智能的发展经历了从视觉感知到文本信息的压缩抽象,再到更高级的思维连接的过程。然而,就个体发展而言,尤其是在婴儿的成长过程中,除了通过视觉进行自我学习和归纳总结之外,我们也在不断地向他们传授已知的连接关系。如果完全依赖儿童自己通过观察来归纳和总结,以形成智能,那么他们的成长曲线将会非常漫长,类似于人类整体历经数千上万年的发展历程。
当前的大规模语言模型(LLM),在一定程度上就类似于婴儿。我们并没有让这个“婴儿”直接从视觉中学习和理解“连接关系”,而是通过文本向其传授人类已知的连接关系,从而加速它们智能形成的过程。然而,这个“婴儿”目前缺乏视觉(泛指其他感官模态)能力,也没有自我迭代和更新“连接关系”的欲望或能力。
▐ 视觉能为LLM这个婴儿带来什么
简单思考一下视觉能为LLM这个“婴儿”带来什么?
- 扩展知识边界:视觉数据为“婴儿”带来了全新的连接关系,这些关系可能在文本数据中未曾出现或难以表达。
- 提高学习效率:与文本相比,视觉信息在某些场景往往更加直观和丰富。这使得智能系统能够更快地从环境中学习,加速其认知能力的发展。
- 纠正认知偏差:由于文本数据可能包含人类的偏见、歧视或错误信息,视觉数据提供了一种验证和纠正这些偏差的手段。通过直接观察现实世界,智能系统能够构建更加准确和客观的世界模型。
- ...
▐ 纯视觉大模型可行吗
按照上述智能的分析,直接从视觉信号开始学习,是不是也会产生智能呢?论文LVM(2312)试图通过自回归的方式构建纯视觉大模型(没有文本)。如下图所示,该模型似乎也有最基本的模仿归纳能力。
视觉大模型LVM(2312)能通过prompt做简单的图像逻辑推理
但这种能力更多的像是动物的感知能力,是很短期的简单的“连接关系”,没有迭代到更高级的“连接关系”。
毕竟LLM所看到的文本是人类几千年的智慧积累,纯视觉大模型还没有看过几千年的物理世界。那纯视觉大模型会涌现出高级智能呢?个人认为是有可能的,并且这种智能体可能会发展出一种非人类语言的抽象表示。这种抽象表示可能更高效、更直接,更适合机器智能。然而,如果仅仅依赖数据堆积而不在算法设计上进行迭代优化,其消耗的资源将是难以想象的。
现阶段,更现实的做法是依托LLM来融合视觉信息,并在适当的时候让VLM自我迭代出超越文本的抽象表示,而不是一开始就抛弃文本,舍近求远。这种渐进式的策略不仅能让我们在已有基础上获得最大的收益,还能确保我们在探索和建设高级智能的道路上更加稳健和高效。
其他:
- 使用VLM进行纯感知任务的效果可能会更好,因为VLM是在已有“高级连接”的基础上重新建立“低级连接”。这种方法可能比纯感知模型更能区分出镜子中的人
- 现阶段的LLM这个“婴儿”缺乏自我迭代和更新的“欲望”。如何让这个“婴儿”设定一个合理的欲望,使其具备自我迭代的能力,同时又要限制其在自我迭代过程中不危害人类?
小结:目前开源界VLMs还是比较初级的阶段,数据、多模态输出等还没有完全准备好,这些模型在现阶段似乎还没有对“智能”作出显著贡献。尽管如此,与一年前相比,VLMs 已经取得了显著进步,并在许多业务场景中开始具备实用性。我们有理由相信,未来会有更“智能”的VLMs出现,为各类应用带来更多创新和突破。
总结
本文简要回顾了在Vision-Language Models (VLMs)领域中具有代表性的工作,如LLaVA,并总结了过去一年中VLMs的部分发展。由于能力和篇幅所限,我们仅总结了部分方向的工作,诸如3D、视频、Agent、具身智能等多个重要方向尚未得到讨论。最后,我们也对VLMs在智能领域的意义进行了思考,尽管这些思考可能带有一定的臆测成分,毕竟LLM是否算作真正的智能本身仍有争议。
在总结和反思的过程中,我们希望为读者提供一个综合的视角,理解当前VLMs的发展的同时,也思考其未来可能的走向和应用。尽管道路充满挑战,我们依然相信,通过不断的研究和优化,VLMs将在实现通用人工智能的过程中扮演重要的角色。欢迎大家交流讨论~
参考资料
[1] opencompass: https://rank.opencompass.org.cn/home
[2] LLaVA(2304): https://arxiv.org/abs/2304.08485
[3] vary(2312): https://arxiv.org/abs/2312.06109
[4] UReader(2310): https://arxiv.org/pdf/2310.05126
[5] monkey(2311): https://arxiv.org/pdf/2311.06607
[6] llava-uhd(2403): https://arxiv.org/pdf/2403.11703
[7] InternLM-Xcomposer2-4KHD(2404): https://arxiv.org/abs/2404.06512
[8] internvl-1.5(2404): https://arxiv.org/pdf/2404.16821
[9] TextMonkey(2403): https://arxiv.org/pdf/2403.04473
[10] DualFocus(2402):
https://github.com/InternLM/InternLM-XComposer/tree/main/projects/DualFocus
[11] OmniCorpus(2406): https://arxiv.org/abs/2406.08418
[12] Dataset Selection(2405): https://arxiv.org/pdf/2405.11850
[13] deepseek-vl(2403): https://arxiv.org/pdf/2403.05525
[14] Awesome Multimodal Large Language Models:
https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models
[15] mPLUG-DocOwl 1.5(2403): https://arxiv.org/abs/2403.12895
[16] TextSquare(2404): https://arxiv.org/abs/2404.12803
[17] Fox(2405): https://arxiv.org/abs/2405.14295
[18] PSALM(2403): https://arxiv.org/abs/2403.14598
[19] PixelLLM(2312): https://arxiv.org/pdf/2312.02228
[20] GVT(2305): https://arxiv.org/abs/2305.12223
[21] FUYU(2310): https://www.adept.ai/blog/fuyu-8b/
[22] Qformer(2301): https://arxiv.org/pdf/2301.12597
[23] Resampler(2204): https://arxiv.org/pdf/2204.14198
[24] C-Abstractor(2312): https://arxiv.org/pdf/2312.06742
[25] minicpm-v(2402):
https://github.com/OpenBMB/MiniCPM-V/blob/main/README_zh.md
[26] InternLM-XComposer2(2401): https://arxiv.org/abs/2401.16420
[27] BEIT3(2208): https://arxiv.org/pdf/2208.10442
[28] EMU2(2312): https://arxiv.org/abs/2312.13286
[29] DreamLLM(2309): https://arxiv.org/abs/2309.11499
[30] NExT-GPT(2309): https://arxiv.org/abs/2309.05519
[31] SEED-X(2404): https://arxiv.org/pdf/2404.14396
[32] LaVIT(2309): https://arxiv.org/abs/2309.04669
[33] Unified-IO 2(2312): https://arxiv.org/pdf/2312.17172
[34] vqvae(1711): https://arxiv.org/abs/1711.00937
[35] MagVit v2(2310): https://arxiv.org/pdf/2310.05737
[36] VAR(2404): https://arxiv.org/abs/2404.02905
[37] VITRON(2404): http://haofei.vip/downloads/papers/Skywork_Vitron_2024.pdf
[38] VideoPoet: https://hub.baai.ac.cn/view/34241
[39] LVM(2312): https://github.com/ytongbai/LVM
团队介绍
我们是供给智能团队,一个以AI能力为核心驱动的技术团队,基于视觉AIGC、多模态大模型、Agent等技术,服务于商品图片生成、商品库构建、商家经营辅助等诸多淘系供给侧(商家/商品/行业)业务。