训练开销骤减,10%成本定制专属类GPT-4多模态大模型

最近的多模态(对话)大模型将基于文本的 ChatGPT 的强大能力扩展到了多模态输入,实现强大的多模态语义理解,比如 GPT-4、BLIP-2、Flamingo 等。但对于很多研究者来说,训练一个多模态 GPT 代价非常昂贵。本文来自新加坡国立大学和清华大学的研究者提出了一个名为 VPGTrans 框架,以极低成本训练高性能多模态大模型。

图片

本工作亮点摘要:

  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 实现了高质量的多模态对话。欢迎小伙伴尝试: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 以 FlanT5XXL 为基座 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 方面的实际价值。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值