VPG 在 LLM 之间的可迁移性问题

1. 极低训练成本
通过我们提出的vpgtrans方法,可以快速(少于10%训练时间)将已有的多模态对话模型的视觉模块迁移到新的语言模型,且达到类似或更优效果。比如,相比于从头训练视觉模块,我们可以将blip-2 flant5-xxl的训练开销从19000+人民币缩减到不到1000元:
▲图 1:基于我们的vpgtrans方法的blip-2训练开销缩减对比
2. 多模态大模型定制
通过我们的vpgtrans框架可以根据需求为各种新的大语言模型灵活添加视觉模块。比如我们在llama-7b和vicuna-7b基础上制作了vl-llama和vl-vicuna。
3. 开源多模态对话模型
我们开源了vl-vicuna,多模态对话模型,可实现高质量的多模态对话:
▲图 2:vl-vicuna的交互实例
一、动机介绍
1.1 背景
2023年是ai元年,以chatgpt为代表的大语言模型(llm)大火。llm除了在自然语言领域显示出巨大的潜力之外,也开始逐渐辐射到其他相关领域。比如,llm在多模态理解领域掀起了一股从传统预训练视觉语言模型(vlm)到基于大语言模型的视觉语言模型(vl-llm)的变革。通过为llm接入视觉模块,vl-llm可以继承已有llm的知识,零样本泛化能力,推理能力和规划能力等。相关模型有blip-2[1],flamingo[2],palm-e等。
▲图 3:常用的vl-llm架构
现有的常用的vl-llm基本采取图3所示的架构:在一个基座llm基础上训练一个视觉soft prompt生成模块(visual prompt generator, vpg),以及一个进行维度变换的线性层(projector)。在参数规模上,llm一般占主要部分(比如11b),vpg占次要部分(比如1.2b),projector最小(4m)。在训练过程中,llm参数一般不会被更新,或者仅仅更新非常少量的参数。可训练参数主要来自于vpg和projector。
1.2 动机
实际上,即便基座llm的参数冻结不训,但由于llm的大参数量,训练一个vl-llm的关键开销依然在于加载基座llm。因此训练一个vl-llm依然无法避免极大的计算代价。比如,要得到blip-2(基座llm为flant5-xxl)需要付出超过600个小时的a100训练时长。如果租用亚马逊的a100-40g机器,大概需要将近2万元人民币的费用。既然从零训练一个vpg代价如此昂贵,那么我们开始思考能否把一个已有的vpg迁移到新的llm上来节省开销。
▲图 4:vpg迁移: 跨llm大小迁移和跨llm类型迁移
如图4所示,我们主要探索了两种类型的vpg的迁移:
(1)跨llm大小迁移 (tas): 比如从opt-2.7b到opt-6.7b。
(2)跨llm类型迁移 (tat): 比如从opt到flant5
其中tas的意义在于:在llm相关科研中,我们通常需要在小llm上调参,再扩展到大llm。有了tas,我们可以在调参之后,把小llm上已经训好的vpg直接迁移到大llm上。tat的意义在于:不同功能种类的llm层出不穷,比如今天有了llama,明天又有了alpaca和vicuna。tat可以让我们利用已有的vpg快速为新语言模型添加视觉感知能力。
1.3 贡献
(1) 提出高效的方法: 我们首先通过一系列的探究实验,探究了影响vpg迁移效率的关键因素。根据探索实验发现,我们提出了一个两阶段的高效迁移框架vpgtrans。该框架可以大幅度缩减训练vl-llm所需的计算开销和需要的训练数据。比如,相比于从头训练,我们通过blip-2 opt-2.7b到6.7b的vpg迁移,可以仅用大约10%的数据和计算时间就达成各个数据集相似或更好的效果(图1)。训练花销从17901人民币到1673元。
(2) 得到有趣的发现: 我们同时提供了tas和tat场景下一些有趣的发现,并尝试给出解释: a) tas场景下,使用vpgtrans从小到大迁移不会影响最终模型效果。b) tas场景下,越小的语言模型上训练的vpg,迁移到大模型时效率越高,最终效果越好。c) tat场景下,越小的模型之间迁移的gap越大。在我们验证实验中,opt-350m和flant5-base使用vpgtrans互相迁移几乎和从头训练一样慢。
(3) 开源: 我们使用vpgtrans得到了两个新的vl-llms: vl-llama和vl-vicuna,并开源在了社区上。其中vl-vicuna实现了高质量的多模态对话。欢迎小伙伴尝试:https://vpgtrans.github.io/.
二、高效率的vpg迁移方案: vpgtrans
首先我们进行一系列的探索验证实验,分析如何最大化对于vpg的迁移效率。接着我们基于这些重要观察提出一个解决方案。
2.1 探究实验
我们选取blip-2架构作为我们的基础模型,预训练语料采用coco和sbu,总共1.4m图文对。下游任务采用coco caption, nocaps, vqav2, gqa和ok-vqa的zero-shot设定进行评测(对caption任务并非严格zero-shot)。下面是我们的关键发现:
(1)直接继承一个训练好的vpg可以加速收敛,但效果有限:我们发现,直接迁移一个llm上训练好的vpg到大llm可以加速模型收敛,但加速效果有限,且收敛后模型效果相比于从头训练vpg会掉点(图5的vqav2、gqa蓝线最高点均低于橘线)。我们猜测,这个掉点是由于随机初始化的projector会在训练起始阶段损伤vpg中已有的视觉感知能力。
▲图 5:vpg inherit (蓝线): 直接继承训练好的vpg。train from scratch (橘线):从头训练vpg。only linear (绿线):只训练linear projector不训练vpg。
(2)先warm-up训练projector可以防止掉点,且进一步加速收敛:于是,我们固定住vpg和llm,先warm-up训练projector 3个epoch,再解冻vpg进行下一步训练。我们发现,这样不仅仅可以避免掉点情况,还能够进一步加速vpg收敛(图6)。但值得强调的是,由于训练的主要开销在llm(参数巨多),仅仅训练projector的开销不会比同时训练vpg和projector的开销小太多。所以,我们开始探究加速projector warm-up的关键技术。
▲图6:先warm-up训练projector可以防止掉点+加速收敛
(3)词向量转化器初始化可以加速projector warm-up:首先,vpg是通过把图像转化为llm可以理解的soft prompt来产生效果的。而soft prompt的使用方式和词向量其实是非常相似的,都是直接输入语言模型来提示模型产生对应内容。所以,我们使用词向量来作为soft prompt的一个代理,训练了一个到的词向量转化器(一个线性层)。然后,我们将词向量转化器和上的projector融合作为projector的初始化。通过这个初始化,我们可以将projector的warm-up训练由3个epoch减为2个epoch。
(4)projector可以在超大学习率下快速收敛:我们进一步实验发现,projector由于其参数量较少,可以使用5倍的正常学习率进行训练而不崩溃。通过5倍学习率的训练,projector warm-up可以进一步被缩短到1个epoch。
(5)一个附加发现: 虽然projector warm-up很重要,但仅训练projector是不够的。尤其在caption任务上面,仅仅训练projector的效果要比同时训练vpg的效果差一截 (图5绿线在coco caption和nocaps均远低于蓝线)。这也就意味着,仅仅训练projector会导致欠拟合,也就是无法充分对齐到训练数据。
2.2 我们所提出的方法
▲图 7:vpgtrans框架: (1) 一阶段:projector的warm-up (2) 二阶段: 整体微调
如图7所示,我们的方法共分为两个阶段:(1)第一阶段: 我们首先使用词向量转化器和原有projector进行融合作为新projector的初始化,然后用5倍学习率训练新projector一个epoch。(2) 第二阶段:直接正常训练vpg和projector。
三、实验结果
3.1 加速比
▲表1:我们的vpgtrans的相比于从头训练在各个数据集的加速比
如表1所示,我们测试了不同迁移类型下,vpgtrans在不同数据集上的加速比。vpgtrans在某指定数据集a上的加速比是通过从头训练达到a上最佳效果a的轮数除以vpgtrans在a上效果超过a的最小训练轮数得到。比如,从头在opt-2.7b上训练vpg,在coco caption达到最佳效果需要10个epoch,但从opt-125m迁移vpg到opt-2.7b,仅需1个epoch就能达到该最佳效果。则加速比为10/1=10倍。我们可以看到,无论是在tas还是在tat场景下,我们的vpgtrans都可以实现稳定的加速。
3.2 有趣的发现
我们选取了一个比较有趣的发现进行了说明,其他更多更有意思的发现请参照我们的论文。
tas场景下,越小的语言模型上训练的vpg,迁移起来效率越高,最后模型效果越好。参考表1,我们可以发现opt-1.3b到opt-2.7b的加速比要远小于opt-125m、opt-350m到opt-2.7b的加速比。我们尝试提供了一个解释:一般越大的语言模型,由于其文本空间的维度更高,会更容易损害vpg(vpg一般都是类似于clip的预训练模型)本身的视觉感知能力。我们通过类似于linear probing的方式进行了验证:
▲图 8:仅训练linear projector层的跨llm大小迁移 (模拟linear probing)
如图8所示,我们进行了opt-125m,350m,1.3b,2.7b之间的跨llm大小的迁移。在实验中,为了公平对比不同模型大小下训练过的vpg的视觉感知能力,我们固定住vpg的参数仅仅训练linear projector层。我们选取了coco caption上的spice指标作为视觉感知能力的衡量手段。不难发现,对于每一个给定的,几乎都符合越小,最终spice越高的一个现象。
3.3 大规模实验
前文实验主要是在小规模场景下验证猜想。为了证明我们的方法的有效性,我们模拟blip-2的预训练过程进行了大规模实验:
▲表2:真实场景下的大规模实验结果
如表2所示,我们的vpgtrans在大规模场景下依然有效。通过opt-2.7b到opt-6.7b的迁移,我们仅用10.8%的数据和不到10%的训练时长达到了相似或更优的效果。尤其是,我们的方法在blip-2 以flant5-xxl为基座llm下实现了5%左右的训练成本控制
四、定制您的vl-llms
我们的vpgtrans可以快速为任意新的llms添加视觉感知模块,从而得到一个全新的高质量vl-llm。在本工作,我们额外训练了一个vl-llama和一个vl-vicuna。其中vl-llama的效果如下:
▲表3:vl-llama的效果展示
同时,我们的vl-vicuna可以进行多模态对话。我们和minigpt-4进行了简单的比较:
五、总结
在这项工作中,我们对 vpg 在 llm 之间的可迁移性问题进行了全面调查。我们首先探讨了最大化迁移效率的关键因素。基于关键观察,我们提出了一种新颖的两阶段迁移框架,即 vpgtrans。它可以在显著降低训练成本的同时,实现相当或更好的性能。通过 vpgtrans,我们实现了从 blip-2 opt 2.7b 到 blip-2 opt 6.7b 的 vpg 迁移。相较于从零开始连接 vpg 到 opt 6.7b,vpgtrans仅需10.7%训练数据和不到10%的训练时长。此外,我们展示并讨论了一系列有趣发现及其背后的可能原因。最后,我们通过训练vl-llama和ll-vicuna,展示了我们的 vpgtrans 在定制新的 vl-llm 方面的实际价值。


世上最小的数字湿度传感器-SHT21
彪悍!华为P10配置曝光:2K屏+6GB内存+麒麟960
深圳首份智能传感器芯片检测报告出炉,将利于汽车电子等应用
光纤数据中心还有哪些不容忽视的趋势?
新闻:地平线推AIoT芯片旭日二代 微软云计算达成数十亿美元合同
VPG 在 LLM 之间的可迁移性问题
具有故障处理功能的同步升压转换器为提供一种“不折不扣”的设计而设计
手机密码忘了怎么解锁
浙江省明确了5G发展目标争取到2022年全省形成优良的5G产业生态
怎么升级鸿蒙2.0系统 升级鸿蒙系统步骤
共话“新计算时代”的机遇与挑战 应用材料公司亮相SEMICON China 2020
直流电源接触器安装注意事项
2019年冰箱出口再攀新高 “一带一路”地区出口增速快
耕升GTX1650炫光OC高清拆解图赏
人工气候室的使用说明和使用效果的介绍
高端布局 传感器产业冀望集群化发展
浅谈关于STM32软硬件兼容性相关的知识
嵌入式设计中每一分钱都很重要
希捷全球首款MACH.2多磁臂银河2X14推出,微软提供支持
传统服装制造产业能与人工智能产生怎样的交织