# 深度模型融合(LLM/基础模型/联邦学习/微调等)

23年9月国防科大、京东和北理工的论文“Deep Model Fusion: A Survey”。

深度模型融合/合并是一种新兴技术,它将多个深度学习模型的参数或预测合并为一个模型。它结合了不同模型的能力来弥补单个模型的偏差和错误,以获得更好的性能。然而,大规模深度学习模型(例如LLM和基础模型)上的深度模型融合面临着一些挑战,包括高计算成本、高维参数空间、不同异构模型之间的干扰等。本文将现有的深度模型融合方法分为四类:(1)“模式连接”,通过一条损失减少的路径将权重空间中的解连接起来,以获得更好的模型融合初始化;(2)“对齐”,匹配神经网络之间的单元,为融合创造更好的条件;(3)“权重平均”是一种经典的模型融合方法,将多个模型的权重进行平均,以获得更接近最优解、更准确的结果。(4)“集成学习”结合了不同模型的输出,这是提高最终模型准确性和鲁棒性的基础技术。此外,分析深度模型融合面临的挑战,并提出了未来模型融合可能的研究方向。

由于数据隐私和实际资源节省问题,深度模型融合引起了越来越多的兴趣。尽管深度模型融合的发展带来了许多技术突破,但也产生了一系列挑战,例如计算负载高、模型异构性以及组合优化对齐速度慢等[133, 204],让一些方法在具体的场景受到限制[227, 254],这激发了科学家研究不同情况下模型融合的原理。

不过,有些工作只关注单一视角(例如特征融合等)[45, 195]和特定场景[213]的模型融合,或者不同方式的信息融合(多模态融合[1, 103] ])而不是参数的融合。加上最近的进展和代表性应用,例如联邦学习(FL)[160]和微调[29]等,本文根据内部机制和目的分为四类,如图所示整个模型融合流程示意图,以及各种方法的分类和连接。

对于独立训练且彼此不相邻的模型,“模式连接”和“对齐”使解决方案更加接近,从而 以获得更好的平均原始条件。对于权值空间存在一定差异的相似模型,“权重平均(WA)”倾向于直接对模型进行平均,在损失函数值较低的参数空间区域中获得更接近最优点的解 [118]。此外,对于现有模型的预测,“集成学习”整合了模型的不同形式的预测,以获得更好的结果。

w~大模型~合集6_大模型

模型融合作为一种提高深度模型精度和鲁棒性的技术,促进了许多应用领域的改进。“联邦学习[160]”是一种在中央服务器上聚合客户端模型的应用程序,使各方能够为函数的计算(例如各种统计数据、分类器[177])贡献数据,而不会带来隐私暴露的风险。“微调”对预训练的模型进行小幅调整,与模型融合相结合,以降低训练成本并适应特定任务或领域的需求。模型融合还涉及到“蒸馏”。即结合多个复杂模型(教师)的软目标知识,训练一个针对特定需求的小模型。“基础/LLM上的模型融合”包括大型基础模型或大型语言模型(LLM)的工作,例如视觉Transformer(ViT)[79]和GPT[17]等。模型融合的应用帮助开发人员适应各种任务和领域的需求,促进深度学习的发展。

为了确定训练网络的结果对于 SGD 噪声是否稳定,损失屏障(误差屏障)被定义为两点损失线性插值与两点线性连接损失之间的最大差[50]。损失屏障说明,沿着 W1 和 W2 之间的路径优化图 [56, 61] ,误差是恒定的还是增加的。如果两个网络之间存在一条隧道,其屏障约等于0,则相当于模式连接[46,59,60]。也就是说,SGD得到的局部极小值可以通过一条最大损失最小化的路径 φ 连接起来。

基于梯度的优化得到的解可以在权重空间中通过没有屏障的路径(连接器)连接起来,这被称为模式连接[46, 50]。可以沿着低损失路径获得更适合模型融合的其他模型。根据路径的数学形式和连接器所在的空间,分为三个部分“线性模式连接(LMC)[66]”、“非线性模式连接”和“子空间的模式连接” ”。

模式连接可以解决训练过程中的局部优化问题。模式连接路径的几何关系 [61, 162] 也可用于加速随机梯度下降 (SGD) 等优化过程的收敛性、稳定性和准确性。总之,模式连接为解释和理解模型融合的行为提供了新的视角[66]。但计算复杂度和参数调整的困难应该得到解决,特别是在大型数据集上训练模型时。下表是线性模式连接(LMC) 和非线性模式连接的标准训练流程总结。

w~大模型~合集6_大模型_02

如图是二维损失图和其他维度子空间中的模式连接示意图。左:两个盆地最小值的线性插值导致高损失屏障[46]。较低的两个最佳值遵循接近恒定的低损失路径(例如贝塞尔曲线、多边框链等)[66]。π(W2)是W2的排列对称性的等价模型,与W1位于同一盆地。Re-Basin 通过为各个流域提供解决方案来合并模型 [3]。右图:低损失路径连接子空间中的多个最小值(例如,由 d-维 楔形组成的低损失流形 [56])等)。

w~大模型~合集6_大模型_03

下表是在不同局部最小值之间寻找隧道的方法。

w~大模型~合集6_大模型_04

总之,模式连接为深度模型融合提供了更新、更灵活的视角。神经网络的训练容易陷入局部最优,从而导致性能下降。在模型连接的基础上,可以找到性能更好的其他模型,并将其作为进一步优化和融合的起点。可以利用已经训练的模型在参数空间中移动来达到新的目标模型,这样可以节省时间和计算开销,适合数据有限的情况。然而,在连接不同模型时,可能会引入额外的复杂性和灵活性,从而增加过度拟合的风险。因此,应仔细控制相关的超参数和变化程度。此外,模式连接需要微调或参数更改,这可能会增加训练时间和资源消耗。综上所述,模型连通性在模型融合方面具有诸多优势,包括帮助克服局部最优问题、提供解释网络行为的新视角等。未来,模式连接有望帮助理解神经网络的内部机制并提供指导 以便将来进行更高效的深度模型融合设计。

由于来自不同网络的通道和组件的随机性,网络的活动组件相互干扰[204]。因此,未对齐的加权平均值可能会忽略不同模型中单位之间的对应关系并损坏有用信息。例如,不同模型中的两个神经元之间存在一种关系,它们可能完全不同但功能相似。对齐是将不同模型的单元进行匹配,从而为深度模型融合获得更好的初始条件。其目的是使多个模型的差异更小,从而增强深度模型融合效果。此外,对齐本质上可以被视为组合优化问题。一种代表性机制“Re-basin”,它为各个流域提供解决方案,合并具有更好原始条件的模型。根据对齐目标是否是数据驱动的,对齐分为“激活匹配”和“权重匹配”两种类型,如表所示。

w~大模型~合集6_大模型_05

一般来说,即使对于浅层神经网络,鞍点和局部最优的数量也会随着参数数量呈指数增长[10, 66]。研究发现,训练中存在不变性,导致这些局部最优中的某些点具有相同的表示形式 [22,81,140]。具体来说,如果通过排列交换隐藏层的单元,则网络的功能不会改变,这称为排列对称性[43, 50]。

这些不变性带来的排列对称性有助于更好地理解损失图的结构 [22, 66]。不变性也可以被视为损失图中鞍点的来源[14]。[68]研究神经网络中对称性的代数结构以及这种结构如何在损失图几何中表现出来。[14]在高维平台引入排列点,在该点可以交换神经元,而不会增加损失或参数跳跃。对损失进行梯度下降,调整神经元m和n的参数向量θm和θn,直到向量到达排列点。

基于排列对称性,权空间中不同区域的解可以生成等价解。等效解位于与原始解相同的区域,具有低损失屏障(盆地),称为“Re-basin”[3]。与模式连接相比,Re-basin倾向于通过排列而不是低损失隧道的方式将点传输到盆地中。目前,对齐是Re-basin的代表性方法[3, 178]。然而,如何高效地搜索排列对称性的所有可能性,使得所有解都指向同一个盆地是当前的挑战。

如图是【14】引入排列点交换神经元的示意图。左:一般对齐过程,模型A参考模型B转化为模型Ap,然后Ap和B的线性组合产生C。右:调整不同隐藏层两个神经元的参数向量θm和θn接近排列点,在排列点[14]θ′m = θ′n,两个神经元计算相同的函数,这意味着两个神经元可以交换。

w~大模型~合集6_大模型_06

对齐通过调整模型的参数使模型更加相似,可以提高模型之间的信息共享,从而提高融合模型的泛化能力。此外,对齐有助于提高模型在复杂任务上的性能和鲁棒性。然而,对齐方法面临着组合优化速度慢的问题。对齐需要额外的计算开销来调整模型的参数,这可能导致更复杂且耗时的训练过程,特别是在大深度模型中[142, 204]。

综上所述,对齐可以提高不同模型之间的一致性和整体效果。随着DL应用场景的多样化,对齐将成为优化深度模型融合、提高泛化能力的关键方法之一。未来,对齐可以在迁移学习、域自适应[63]、知识蒸馏等领域发挥作用。例如,对齐可以减少迁移学习中源域和目标域之间的差异,提高对新域的学习 。

由于神经网络参数的高度冗余,不同神经网络的权值之间通常不存在一一对应的关系。因此,通常不能保证权重平均(WA) 在默认情况下表现良好。对于权重差异较大的训练网络,普通平均值表现不佳[204]。从统计的角度来看,WA允许控制模型中的各个模型参数,从而减少最终模型的方差,从而对正则化属性和输出结果产生可靠的影响[77, 166]。

下表是WA的代表性方法:

w~大模型~合集6_大模型_07

快速几何集成 (FGE) [66] 和检查点平均 [149] 的启发,[99]利用恒定或周期性学习率对SGD轨迹的多个点进行平均,这被视为随机权重平均(SWA)。SWA 改进了一系列重要基线的训练,提供了更好的时间可扩展性。SWA 不是训练一组收集的模型(如普通融合),而是训练单个模型来找到比 SGD 更平滑的解决方案。在下表中列出了与 SWA 相关的方法。此外,SWA 可以应用于任何架构或数据集,并展示出比快照集成 (SSE) [91] 和 FGE 更好的性能。在每个周期结束时,对新获得的权重与现有权重进行平均来更新 SWA 模型。

w~大模型~合集6_大模型_08

然而SWA只能对局部最优点附近的点进行平均,最终得到一个相对最小值,而不能准确逼近最优值。另外,由于某些因素(如前期收敛性差、学习率大、权重变化率快等),最终的输入样本偏差可能较大或不充分,导致整体效果不佳。大量工作往往会改变 SWA 的采样方法。

如图不同SWA相关方法的采样和学习率安排比较。(a) SWA:恒定学习率。(b)SWA:周期性学习率。(c)SWAD:密集采样。(d)HWA:利用在线和离线WA,以不同的同步周期采样,滑动窗口长度为h。

w~大模型~合集6_大模型_09

模型汤[239]是指对用不同超参微调的模型进行平均的方法。它简单但有效,在 ImageNet-1K 上实现了 90.94% 的准确率,超过了之前在 CoAtNet-7 (90.88%) [38] 和 ViT-G (90.45%) [255] 上的工作。如表总结了不同的模型汤方法。

w~大模型~合集6_大模型_10

在 多任务学习(MTL )中,预训练模型和任务向量(即 τi = Wft − Wpre,预训练模型和微调模型之间的差异)相结合,在所有任务上获得更好的性能。基于这一观察,任务算术[94]通过加法和线性组合微调任务向量来提高模型在任务上的性能,这已成为直接编辑预训练模型的灵活高效的方法,如图所示:采用任务算术和LoraHub(Low-rank adaptations Hub)。

w~大模型~合集6_大模型_11

另外,子空间中的模型融合将训练轨迹限制在低维子空间中,可减少负载和难度。

WA 通过平均不同深度模型的权重来获得最终模型,无需额外的计算复杂性或训练过程[109, 159]。一般来说,如果随机模型在表示能力、结构或训练数据方面存在显着差异,则融合的结果可能无法达到预期的性能。使用相同的超参配置但具有不同的数据顺序从头开始对模型进行线性插值甚至不如随机模型有效[59]。因此,大量提出的方法旨在以其他数学方式优化 WA 过程。

此外,当模型共享其优化轨迹的一部分(例如,检查点平均、尾部平均、SWA [99, 149] 等)或在相同的预训练模型上进行微调时(例如,模型汤 [239] 等),插值模型的准确性表现更好[167]。此外,模型汤[239]对具有不同超参配置的模型进行平均以获得最终结果。此外,在模型平均值中选择适当的权重也可能是一个挑战,这通常充满主观性。更复杂的权重选择机制可能需要大量复杂的试验和交叉验证。

WA是深度学习中一种很有前景的技术,未来可以作为模型优化技术,减少不同迭代之间的权值波动,提高稳定性和收敛速度。WA可以改进联邦学习(FL)的聚合阶段,以更好地保护隐私并降低未来的通信成本。此外,通过在终端设备上实施网络压缩,有望减少模型在资源受限设备上的存储空间和计算开销[250]。简而言之,WA是一种有前途且具有成本效益的DL技术,可以应用于FL等领域,以提高性能并减少存储开销。

集成学习,或多分类器系统,是一种集成多个单一模型来生成最终预测的技术,包括投票、平均[195]等。它提高了整体性能并减少了模型的方差,解决了诸如过拟合、 不稳定,数据量有限。

基于现有的预训练源模型,模型重用[266]提供了应用于新任务所需的模型,而无需从头开始重新训练新模型。它可以节省时间和计算资源,并在资源有限的情况下提供更好的性能[249]。另外,由于迁移学习的重点是解决目标域上的预测任务,因此模型重用可以视为迁移学习的一种。但迁移学习需要源域和目标域的标记数据,而在模型重用中,只能收集未标记的数据,而不能使用源域的数据[153]。

与多分类器集成学习不同,大多数当前方法重用现有的特征、标签或模态来获得最终预测[176, 266],而不存储大量训练数据[245]。模型重用的另一个关键挑战是从一组针对给定学习任务的预训练模型中识别有用的模型。

使用单一模型进行模型重用会产生过多的同质信息(例如,在一个域训练的模型可能不适合另一域的数据),并且很难找到完全适合目标域的单一预训练模型 。一般来说,用一组相似的模型来产生比单个模型更好的性能,这被表示为多模型重用(MMR)[153]。

下表比较不同复用方法的特点,简而言之,模型复用可以显着减少使用预训练模型所需的数据量,解决不同端之间传输数据时消耗大量带宽的问题。多模型复用也有广泛的应用,例如语音识别、安全隐私交互系统、数字视网膜[64]等。

w~大模型~合集6_大模型_12

与联邦学习[88,89,160]等对模型参数和规模有一定要求的相关模型融合算法相比,集成学习方法利用预测来组合多个异构弱分类器,没有这样的限制。另外,集成方法中不同架构的网络会比WA有更明显的比较效果。然而,集成方法需要维护和运行多个经过训练的模型,并在测试时将它们一起运行。考虑到深度学习模型的规模和复杂性,这种方法不适合计算资源和成本有限的应用程序[204]。

由于集成学习框架的多样性,可以实现模型多样性并增强泛化能力。将来,这对于处理数据变化和对抗性攻击非常重要。深度学习中的集成学习有望为模型预测提供置信度估计和不确定性测量,这对于决策支持系统、自动驾驶[74]、医疗诊断等的安全性和可靠性至关重要。

近年来,深度模型融合领域出现了大量的新研究,也推动了相关应用领域的发展。

联邦学习

为了解决数据存储的安全性和集中化挑战,联邦学习(FL) [160, 170]允许许多参与模型协作训练共享的全局模型,同时保护数据隐私,而无需将数据集集中在中央服务器上。它也可以被视为多-方学习问题[177]。特别是,聚合是 FL 的一个重要过程,它包含了由各方(例如设备、组织或个人)训练的模型或参数更新。如图演示了集中式和分散式 FL 中的两种不同聚合方法。,左:中央服务器和客户端终端之间的集中式联邦学习,迁移模型或梯度,最终聚合在服务器上。右:分散式联合学习在客户端终端之间传输和聚合模型,无需中央服务器。

w~大模型~合集6_大模型_13

下表是联邦学习的不同聚合方法:

w~大模型~合集6_大模型_14

简而言之,FL 中聚合步骤的本质是一种模型融合技术。选择合理的模型融合方法可以减少特定参与者或个体数据对最终模型的影响,从而提高模型在全局范围内的泛化能力和适应性。今后良好的聚合方法有望有助于应对联邦学习中的一系列挑战。高质量且可扩展的聚合方法预计将面临FL的一系列挑战,例如客户端异构性、非独立同分布异构数据、有限的计算资源[141]等。FL有望展现其潜力在更多领域中,例如自然语言处理、推荐系统[146]、医学图像分析[144]等。

微调

微调是一个基本模式(例如预训练模型),是调整模型以执行下游任务的有效方法 [23, 41],这可以使用更少的标记数据获得更好的泛化和更准确的输出。与随机初始化相比,预训练模型是通过相对一组特定于任务的数据来训练的,这始终是更好的训练标准起点。尽管如此。现有微调模型 [28, 29] 的平均值甚至是比普通预训练模型更好的基础模型,用于对下游任务进行微调。

此外,最近有大量将 WA 与微调相结合的工作,如图所示,例如 model soup [239]、DiWA [190] 等。微调提高了目标分布的准确性,但往往导致分布变化的稳健性下降。对微调模型进行平均的策略可能很简单,但它们没有充分利用每个微调模型之间的连接。因此,在目标任务训练之前先进行中间任务训练可以探索基础模型的能力[180,185,224]。受相互训练策略 [185] 的启发,[188]微调辅助任务的模型,利用不同的辅助任务并提高分布外(OOD)泛化能力。

w~大模型~合集6_大模型_15

微调模型的平均值减少了实现目标所需的训练时间[28],并生成更准确和更好的泛化模型。本质上,不同的微调方式(例如,冻结层微调、顶层微调等)也会对最终的精度和分布偏移产生一定的影响[240]。然而,WA和微调的结合是昂贵的开销,对具体应用有一定的限制。此外,它可能面临保存检查点爆炸或灾难性遗忘的问题[121],特别是应用于迁移学习。

知识蒸馏

知识蒸馏(KD)[83]是集成多个模型的重要方法,涉及以下两类模型。教师模型是指在大规模数据上训练的大型且强大的模型,具有较高的预测能力和表达能力。学生模型是一个相对较小的模型,具有较少的参数和计算资源 [18, 199]。利用教师的知识(例如输出概率分布、隐藏层表示等)指导训练,学生可以用更少的资源和更快的速度达到接近大型模型的预测能力[2, 119, 124 ,221]。考虑到多个教师或学生的表现预计比单个模型[6]更好,根据聚合目标将 KD 分为两类,如图所示。

w~大模型~合集6_大模型_16

第一类方法是合并多个教师模型并直接提取学生模型,如表所示。目前,最近的工作主要集成教师的输出(例如,logits [6,49,252]或特征) 基础知识 [143, 241] 等)。 

w~大模型~合集6_大模型_17

另一种方法是使用教师模型提取多个学生,然后合并这些学生模型。然而,合并多学生也存在一些问题,例如计算资源需求大、解释性差以及过度依赖原始模型等。

基础模型/LLMs的模型融合

基础模型在处理复杂任务时表现出强大的性能和突现能力,大型基础模型的特点是其庞大的规模,包含数十亿个参数,帮助学习数据中的复杂模式。特别是,随着最近新的LLM [200, 264]的出现,如GPT-3 [17, 172],T5 [187],BERT [41],Megatron-LM,WA的应用[154, 212, 256] ] LLM引起了更多关注。

此外,最近的工作 [120, 256] 倾向于设计更好的框架和模块来适应应用LLM。由于高性能和低计算资源,对大型基础模型进行微调可以提高分布变化的鲁棒性[240]。



# 清华给海内外知名大模型做了场综合能力评测

在 2023 年的 “百模大战” 中,众多实践者推出了各类模型,这些模型有的是原创的,有的是针对开源模型进行微调的;有些是通用的,有些则是行业特定的。如何能合理地评价这些模型的能力,成为关键问题。

尽管国内外存在多个模型能力评测榜单,但它们的质量参差不齐,排名差异显著,这主要是因为评测数据和测试方法尚不成熟和科学,而好的评测方法应当具备开放性、动态性、科学性和权威性。

为提供客观、科学的评测标准,清华大学基础模型研究中心联合中关村实验室研制了 SuperBench 大模型综合能力评测框架,旨在推动大模型技术、应用和生态的健康发展。

近期,二者发布了 2024 年 3 月的《SuperBench 大模型综合能力评测报告》。在此评测中,报告选定了 14 个海内外具有代表性的模型进行测试。对于闭源模型,选取了 API 和网页两种调用模式中得分较高的一种进行评测。

w~大模型~合集6_大模型_18

根据评测结果,报告得出以下几个主要结论:

● 整体来说,GPT-4 系列模型和 Claude-3 等国外模型在多个能力上依然处于领先地位,国内头部大模型 GLM-4 和文心一言 4.0 表现亮眼,与国际一流模型水平接近,且差距已经逐渐缩小。

● 国外大模型中,GPT-4 系列模型表现稳定,Claude-3 也展现了较强的综合实力,在语义理解和作为智能体两项能力评测中更是获得了榜首,跻身国际一流模型。

● 国内大模型中,GLM-4 和文心一言 4.0 在本次评测中表现最好,为国内头部模型;通义千问 2.1、Abab6、moonshot 网页版以及 qwen1.5-72b-chat 紧随其后,在部分能力评测中亦有不俗表现;但是国内大模型对比国际一流模型在代码编写、作为智能体两个能力上依然有较大差距,国内模型仍需努力。

大模型能力迁移 & SuperBench

自大语言模型诞生之初,评测便成为大模型研究中不可或缺的一部分。随着大模型研究的发展,对其性能重点的研究也在不断迁移。根据研究,大模型能力评测大概经历如下 5 个阶段:

2018 年 - 2021 年:语义评测阶段

早期的语言模型主要关注自然语言的理解任务 (e.g. 分词、词性标注、句法分析、信息抽取),相关评测主要考察语言模型对自然语言的语义理解能力。代表工作:BERT、 GPT、T5 等。

2021 年 - 2023 年:代码评测阶段

随着语言模型能力的增强,更具应用价值的代码模型逐渐出现。研究人员发现,基于代码生成任务训练的模型在测试中展现出更强的逻辑推理能力,代码模型成为研究热点。代表工作:Codex、CodeLLaMa、CodeGeeX 等。

2022 年 - 2023 年:对齐评测阶段

随着大模型在各领域的广泛应用,研究人员发现续写式的训练方式与指令式的应用方式之间存在差异,理解人类指令、对齐人类偏好逐渐成为大模型训练优化的关键目标之一。对齐好的模型能够准确理解并响应用户的意图,为大模型的广泛应用奠定了基础。代表工作:InstructGPT、ChatGPT、GPT4、ChatGLM 等。

2023 年 - 2024 年:智能体评测阶段

基于指令遵从和偏好对齐的能力,大模型作为智能中枢对复杂任务进行拆解、规划、决策和执行的能力逐渐被发掘。大模型作为智能体解决实际问题也被视为迈向通用人工智能(AGI)的重要方向。代表工作:AutoGPT、AutoGen 等。

2023 年 - future:安全评测阶段

随着模型能力的提升,对模型安全性和价值观的评估、监管与强化逐渐成为研究人员关注的重点。加强对潜在风险的研判,确保大模型的可控、可靠和可信,是未来 “AI 可持续发展” 的关键问题。

因此,为了全面地评估大模型的各项能力,SuperBench 评测体系包含了语义、代码、对齐、智能体和安全等五个评测大类,28 个子类。

w~大模型~合集6_大模型_19

评测结果

PART/1 语义评测

ExtremeGLUE 是一个包含 72 个中英双语传统数据集的高难度集合,旨在为语言模型提供更严格的评测标准,采用零样本 CoT 评测方式,并根据特定要求对模型输出进行评分。报告首先使用了超过 20 种语言模型进行初步测试,包括了 GPT-4、Claude、Vicuna、WizardLM 和 ChatGLM 等。基于所有模型的综合表现,决定了每个分类中挑选出难度最大的 10%~20% 数据,将它们组合为 "高难度传统数据集"。

评测方法 & 流程

●  评测方式:收集了 72 个中英双语传统数据集,提取其中高难度的题目组成 4 个维度的评测数据集,采取零样本 CoT 评测方式,各维度得分计算方式为回答正确的题目数所占百分比,最终总分取各维度的平均值。

●  评测流程:根据不同题目的形式和要求,对于模型的零样本 CoT 生成的结果进行评分。

w~大模型~合集6_大模型_20

整体表现:

w~大模型~合集6_大模型_21

在语义理解能力评测中,各模型形成了三个梯队,70 分档为第一梯队,包括 Claude-3、GLM-4、文心一言 4.0 以及 GPT-4 系列模型;其中 Claude-3 得分为 76.7,位居第一;国内模型 GLM-4 和文心一言 4.0 则超过 GPT-4 系列模型位居第二和第三位,但是和 Claude-3 有 3 分差距。

分类表现:

w~大模型~合集6_大模型_22

●  知识 - 常识:Claude-3 以 79.8 分领跑,国内模型 GLM-4 表现亮眼,超过 GPT-4 网页版位居第二;文心一言 4.0 表现不佳,距离榜首 Claude-3 有 12.7 分差距。

●  知识 - 科学:Claude-3 依然领先,并且是唯一一个 80 分以上模型;文心一言 4.0、GPT-4 系列模型以及 GLM-4 模型均在 75 分以上,为第一梯队模型。

●  数学:Claude-3 和文心一言 4.0 并列第一,得 65.5 分,GLM-4 领先 GPT-4 系列模型位列第三,其他模型得分在 55 分附近较为集中,当前大模型在数学能力上仍有较大提升空间。

●  阅读理解:各分数段分布相对较为平均,文心一言 4.0 超过 GPT-4 Turbo、Claude-3 以及 GLM-4 拿下榜首。

PART/2 代码评测

NaturalCodeBench(NCB)是一个评估模型代码能力的基准测试,传统的代码能力评测数据集主要考察模型在数据结构与算法方面的解题能力,而 NCB 数据集侧重考察模型在真实编程应用场景中写出正确可用代码的能力。

所有问题都从用户在线上服务中的提问筛选得来,问题的风格和格式更加多样,涵盖数据库、前端开发、算法、数据科学、操作系统、人工智能、软件工程等七个领域的问题,可以简单分为算法类和功能需求类两类。题目包含 java 和 python 两类编程语言,以及中文、英文两种问题语言。每个问题都对应 10 个人类撰写矫正的测试样例,9 个用于测试生成代码的功能正确性,剩下 1 个用于代码对齐。

评测方法 & 流程

●  评测方式:运行模型生成的函数,将输出结果与准备好的测例结果进行比对进行打分。将输出结果与准备好的测例结果进行比对进行打分,最终计算生成代码的一次通过率 pass@1。

●  评测流程:给定问题、单元测试代码、以及测例,模型首先根据问题生成目标函数;运行生成的目标函数,以测例中的输入作为参数得到函数运行输出,与测例中的标准输出进行比对,输出匹配得分,输出不匹配或函数运行错误均不得分。

w~大模型~合集6_大模型_23

整体表现:

w~大模型~合集6_大模型_24

在代码编写能力评测中,国内模型与国际一流模型之间仍有明显差距,GPT-4 系列模型、Claude-3 模型在代码通过率上明显领先,国内模型中 GLM-4,文心一言 4.0 与讯飞星火 3.5 表现突出,综合得分达到 40 分以上;然而,即使是表现最好的模型在代码的一次通过率上仍只有 50% 左右,代码生成任务对目前的大模型来说仍是一大挑战。

分类表现:

w~大模型~合集6_大模型_25

在 Python、Java、中文、英文四个维度的数据集中 GPT-4 系列模型包揽头名,体现出强大而全面的代码能力,除 Claude-3 外其余模型差距明显;

●  英文代码指令:GPT-4 Turbo 比 Claude-3 在 Python 和 Java 问题上分别高出 6.8 分和 1.5 分,比 GLM-4 在 Python 和 Java 问题上分别高出 14.2 分和 5.1 分,国内模型与国际模型在英文代码指令上差距比较明显;

●  中文代码指令:GPT-4 Turbo 比 Claude-3 在 Python 上高出 3.9 分,在 Java 上低 2.3 分,差距不大。GPT-4 Turbo 比 GLM-4 在 Python 和 Java 问题上分别高出 5.4 分和 2.8 分,国内模型在中文编码能力上与国际一流模型仍存在一定差距。

PART/3 对齐评测

AlignBench 旨在全面评测大模型在中文领域与人类意图的对齐度,通过模型打分评测回答质量,衡量模型的指令遵循和有用性。它包括 8 个维度,如基本任务和专业能力,使用真实高难度问题,并有高质量参考答案。优秀表现要求模型具有全面能力、指令理解和生成有帮助的答案。

“中文推理” 维度重点考察了大模型在中文为基础的数学计算、逻辑推理方面的表现。这一部分主要由从真实用户提问中获取并撰写标准答案,涉及多个细粒度领域的评估:

●  数学计算上,囊括了初等数学、高等数学和日常计算等方面的计算和证明。

●  逻辑推理上,则包括了常见的演绎推理、常识推理、数理逻辑、脑筋急转弯等问题,充分地考察了模型在需要多步推理和常见推理方法的场景下的表现。

“中文语言” 部分着重考察大模型在中文文字语言任务上的通用表现,具体包括六个不同的方向:基本任务、中文理解、综合问答、文本写作、角色扮演、专业能力。这些任务中的数据大多从真实用户提问中获取,并由专业的标注人员进行答案撰写与矫正,从多个维度充分地反映了大模型在文本应用方面的表现水平。具体来说:

●  基本任务考察了在常规 NLP 任务场景下,模型泛化到用户指令的能力;

●  中文理解上,着重强调了模型对于中华民族传统文化和汉字结构渊源的理解;

●  综合问答则关注模型回答一般性开放问题时的表现;

●  文本写作则揭示了模型在文字工作者工作中的表现水平;

●  角色扮演是一类新兴的任务,考察模型在用户指令下服从用户人设要求进行对话的能力;

●  专业能力则研究了大模型在专业知识领域的掌握程度和可靠性。

评测方法 & 流程

●  评测方式:通过强模型(如 GPT-4)打分评测回答质量,衡量模型的指令遵循能力和有用性。打分维度包括事实正确性、满足用户需求、清晰度、完备性、丰富度等多项,且不同任务类型下打分维度不完全相同,并基于此给出综合得分作为回答的最终分数。

●  评测流程:模型根据问题生成答案、GPT-4 根据生成的答案和测试集提供的参考答案进行详细的分析、评测和打分。

w~大模型~合集6_大模型_26

整体表现:

w~大模型~合集6_大模型_27

在人类对齐能力评测中,GPT-4 网页版占据榜首,文心一言 4.0 和 GPT-4 Turbo 同分(7.74)紧随其后,国内模型中 GLM-4 同样表现优异,超越 Claude-3,位列第四,通义千问 2.1 略低于 Claude-3,排名第六,同为第一梯队大模型。

分类表现:

w~大模型~合集6_大模型_28

中文推理整体分数明显低于中文语言,当下大模型推理能力整体有待加强:

●  中文推理:GPT-4 系列模型表现最好,略高于国内模型文心一言 4.0,并且和其他模型拉开明显差距;

●  中文语言:国内模型包揽了前四名,分别是 KimiChat 网页版(8.05 分)、通义千问 2.1(7.99 分)、GLM-4(7.98 分)、文心一言 4.0(7.91 分),超过 GPT-4 系列模型和 Claude-3 等国际一流模型。

各分类细拆分析:

w~大模型~合集6_大模型_29

中文推理:

●  数学计算:GPT-4 系列模型包揽前两名,国内模型文心一言 - 4.0、通义千问 2.1 分数超过 Claude-3,但与 GPT-4 系列模型仍有一定差距。

●  逻辑推理:7 分以上为第一梯队,由国内模型文心一言 4.0 领跑,同在第一梯队的还有 GPT-4 系列模型、Claude-3、GLM4 和 Abab6。

中文语言:

●  基本任务:GLM-4 拿下榜首,通义千问 2.1、Claude-3 和 GPT-4 网页版占据二到四位,国内其他大模型中文心一言 4.0 和 KimiChat 网页版也表现较好,超过了 GPT-4 Turbo。

●  中文理解:国内模型整体表现较好,包揽了前四名,文心一言 4.0 领先优势明显,领先第二名 GLM-4 0.41 分;国外模型中,Claude-3 表现尚可,排在第五位,但 GPT-4 系列模型表现较差,排在中下游,并且和第一名分差超过 1 分。

●  综合问答:各大模型均表现较好,超过 8 分的模型达到了 6 家,GPT-4 网页版和 KimiChat 网页版拿下最高分,GLM-4 和 Claude-3 分数相同,与榜首分数接近,并列第三。

●  文本写作:KimiChat 网页版表现最好,同时也是唯一一个 8 分以上的模型,GPT-4 Turbo 和通义千问 2.1 分列二、三位。

●  角色扮演:国内模型 Abab6、通义千问 2.1 和 KimiChat 网页版包揽前三名,且均在 8 分以上,超过 GPT-4 系列模型和 Claude-3 等国际一流模型。

●  专业能力:GPT-4 Turbo 占据了首位,KimiChat 网页版超过 GPT-4 网页版拿下第二名,国内其他模型中,GLM-4 和通义千问 2.1 同样表现不俗,并列排名第四。

PART/4 智能体评测

AgentBench 是一个评估语言模型在操作系统、游戏和网页等多种实际环境中作为智能体性能的综合基准测试工具包。

代码环境:该部分关注 LLMs 在协助人类与计计算机代码接口互动方面的潜在应用。LLMs 以其出色的编码能力和推理能力,有望成为强大的智能代理,协助人们更有效地与计算机界面进行互动。为了评估 LLMs 在这方面的表现,报告引入了三个代表性的环境,这些环境侧重于编码和推理能力。这些环境提供了实际的任务和挑战,测试 LLMs 在处理各种计算机界面和代码相关任务时的能力。

游戏环境:游戏环境是 AgentBench 的一部分,旨在评估 LLMs 在游戏场景中的表现。在游戏中,通常需要智能体具备强大的策略设计、遵循指令和推理能力。与编码环境不同,游戏环境中的任务不要求对编码具备专业知识,但更需要对常识和世界知识的综合把握。这些任务挑战 LLMs 在常识推理和策略制定方面的能力。

网络环境:网络环境是人们与现实世界互动的主要界面,因此在复杂的网络环境中评估智能体的行为对其发展至关重要。在这里,报告使用两个现有的网络浏览数据集,对 LLMs 进行实际评估。这些环境旨在挑战 LLMs 在网络界面操作和信息检索方面的能力。

评测方法 & 流程

●  评测方式:模型和预先设定好的环境进行多轮交互以完成各个特定的任务,情景猜谜子类会使用 GPT-3.5-Turbo 对最终答案进行评分,其余子类的评分方式根据确定的规则对模型完成任务的情况进行打分。

●  评测流程:模型与模拟环境进行交互,之后对模型给出的结果采用规则评分或 GPT-3.5-Turbo 评分。

●  打分规则:由于不同子任务的分数分布不同,直接按平均分计算总分受极值的影响较为严重,因此需要对各子任务的分数进行归一化处理。如下表所示,各个子任务对应的 “Weight (-1)” 的值即是归一化的权重,这个值为在 Agentbench 上最初测试的模型在该子任务上得分的平均值。计算总分时将各个子任务的分数除以 Weight (-1) 后求平均值即可。根据该计算方式,具有平均能力的模型最终得到的总分应为 1。

w~大模型~合集6_大模型_30

SR:成功率

#Avg.Turn:解决单一问题所需的平均交互回合数

#Dev、#Test:开发集和测试集单个模型的预期总交互轮数

Weight⁻¹:各单项分在计算总分的时候的权重的倒数

整体表现:

w~大模型~合集6_大模型_31

在作为智能体能力评测中,国内模型整体明显落后于国际一流模型;Claude-3 和 GPT-4 系列模型占据了前三甲,GLM-4 在国内模型中表现最好,但与榜首的 Claude-3 仍有较大差距;国内外大模型在本能力下均表现欠佳,主要原因是智能体对模型要求远高于其他任务,现有的绝大部分模型还不具有很强的智能体能力。

分类表现:

w~大模型~合集6_大模型_32

除网上购物被国内模型 GLM-4 拿到头名外,其他分类下,榜首均被 Claude-3 和 GPT-4 系列模型占据,体现出相对强大的作为智能体能力,国内模型仍需不断提升。

●  具身智能(Alfworld)前三甲均被 Claude-3 和 GPT-4 系列模型包揽,和国内模型差距最大。

●  在数据库(DB)和知识图谱(KG)两个维度下,国内模型 GLM-4 均进入 top3,但是与前两名仍有一定差距。

PART/5 安全评测

SafetyBench 是首个全面的通过单选题的方式评估大型语言模型安全性的测试基准。包含攻击冒犯、偏见歧视、身体健康、心理健康、违法活动、伦理道德、隐私财产等。

评测方法 & 流程

●  评测方式:每个维度收集上千个多项选择题,通过模型的选择测试对各个安全维度的理解和掌握能力进行考察。评测时采用 few-shot 生成方式,从生成结果中抽取答案与真实答案比较,模型各维度得分为回答正确的题目所占百分比,最终总分取各个维度得分的平均值。针对拒答现象,将分别计算拒答分数和非拒答分数,前者将拒答题目视为回答错误,后者将拒答题目排除出题库。

●  评测流程:从模型针对指定问题 few-shot 的生成结果中提取答案,与真实答案比较。

w~大模型~合集6_大模型_33

整体表现:

w~大模型~合集6_大模型_34

在安全能力评测中,国内模型文心一言 4.0 表现亮眼,力压国际一流模型 GPT-4 系列模型和 Claude-3 拿下最高分(89.1 分),在国内其他模型中,GLM-4 和 Claude-3 同分,并列第四。

分类表现:

w~大模型~合集6_大模型_35

在违法活动、身体健康、攻击冒犯、心理健康、隐私财产这五个分类下,各模型各有胜负,但是在伦理道德和偏见歧视上,各个模型分差较大,并保持了和总分较为一致的偏序关系。

●  伦理道德:文心一言 4.0 力压 Claude-3 位列第一,国内大模型 GLM-4 同样表现亮眼,超过 GPT-4 Turbo 位列前三甲。

●  偏见歧视:文心一言 4.0 继续排名榜首,领先 GPT-4 系列模型,GLM-4 紧随其后,同为第一梯队模型。



# 5亿个token之后,得出关于GPT的七条宝贵经验

ChatGPT 正确的使用姿势。

自 ChatGPT 问世以来,OpenAI 一直被认为是全球生成式大模型的领导者。2023 年 3 月,OpenAI 官方宣布,开发者可以通过 API 将 ChatGPT 和 Whisper 模型集成到他们的应用程序和产品中。在 GPT-4 发布的同时 OpenAI 也开放了其 API。

一年过去了,OpenAI 的大模型使用体验究竟如何,行业内的开发者怎么评价?

最近,初创公司 Truss 的 CTO Ken Kantzer 发布了一篇题为《Lessons after a half-billion GPT tokens》的博客,阐述了在使用 OpenAI 的模型(85% GPT-4、15% GPT-3.5)处理完 5 亿个 token 之后,总结出的七条宝贵经验。

经验 1:prompt,少即是多

我们发现,如果 prompt 中的信息已经是常识,那么该 prompt 不会帮助模型产生更好的结果。GPT 并不愚蠢,如果您过度指定,它实际上会变得混乱。

这与编码不同,编码中的一切都必须是明确的。

举一个让我们感到困扰的例子:

pipeline 的一部分读取一些文本块,并要求 GPT 将其分类为与美国 50 个州之一相关。这不是一项艰巨的任务,可以使用字符串 / 正则表达式,但有足够多奇怪的极端情况,因此需要更长的时间。所以我们的第一次尝试大致是这样的:

Here's a block of text. One field should be "locality_id", and it should be the ID of one of the 50 states, or federal, using this list:
[{"locality: "Alabama", "locality_id": 1}, {"locality: "Alaska", "locality_id": 2} ... ]

这有时会起作用(约超过 98% 的情况),但失败的情况足以让我们不得不进行更深入的挖掘。

在调查时,我们注意到字段「名称」始终返回州的全名,尽管我们没有明确要求它这样做。

因此,我们改用对名称进行简单的字符串搜索来查找状态,然后模型就一直运行良好。

总而言之,GPT 显然知道 50 个州。当 prompt 更加模糊时,GPT 的质量和泛化能力都可以提高,这太疯狂了 —— 这是高阶思维的典型标志。

经验 2:不需要 langchain

你只需要 chat API,不需要 langchain,甚至可能不需要 OpenAI 去年在其 API 中发布的任何其他内容。

Langchain 是过早抽象的完美例子。我们开始认为我们必须使用它。但相反,数百万个 token 之后,我们可能在生产中使用了 3-4 个非常多样化的 LLM 函数,而我们的 openai_service 文件中仍然只有一个 40 行的函数:

def extract_json(prompt, variable_length_input, number_retries)

我们使用的唯一 API 是 chat API。我们不需要 JSON 模式、函数调用等等(尽管我们做了所有这些),我们甚至不使用系统 prompt。gpt-4-turbo 发布时,我们更新了代码库中的一个字符串。

这就是强大的广义模型的美妙之处 —— 少即是多。

该函数中的 40 行代码大部分都是围绕 OpenAI API 被关闭的 500s/socket 的错误处理。

我们内置了一些自动截断功能,因此不必担心上下文长度限制,我们有自己专有的 token 长度估计器。

if s.length > model_context_size * 3
  # truncate it!
end

在存在大量句点或数字的极端情况下(token ratio < 3 characters /token),这种方法会失败。所以还有另一个专有的 try/catch 重试逻辑:

if response_error_code == "context_length_exceeded"
   s.truncate(model_context_size * 3 / 1.3)

我们已经依靠上述方法取得了很大进展,并且该方法足够灵活,可以满足我们的需求。

经验 3:通过流式 API 改善延迟并向用户显示变速输入的单词是 ChatGPT 一项重大的用户体验创新

我们曾经认为这只是一个噱头,但实际上用户对「变速输入字符」的反应非常积极 —— 这感觉就像是人工智能的鼠标 / 光标用户体验时刻。

经验 4:GPT 不擅长产生零假设

「如果找不到任何内容,则返回空输出」—— 这可能是我们遇到的最容易出错的 prompting 语言。在此情况下,GPT 不仅会经常出现幻觉而不返回任何内容,还会导致「缺乏信心」,返回空白的次数比应有的要多。

我们大多数的 prompt 都是以下形式:

“Here’s a block of text that’s making a statement about a company, I want you to output JSON that extracts these companies. If there’s nothing relevant, return a blank. Here’s the text: [block of text]”

有一段时间,我们会遇到 bug,[文本块] 可能为空,幻觉不时出现。顺便说一句,GPT 很喜欢幻想面包店,这里有一些很棒的面包店:

  • 阳光面包店
  • 金粮面包店
  • 极乐面包店

幸运的是,解决方案是修复该 bug,并在没有文本的情况下根本不向其发送 prompt。

经验 5:「上下文窗口」命名不当

「上下文窗口」只会因输入而变大,而不会因输出而变大。

一个鲜为人知的事实是,GPT-4 的输入窗口可能有 128k token,但输出窗口却只有区区 4k!

我们经常要求 GPT 返回 JSON 对象的列表 —— 一个 json 任务的数组列表,其中每个任务都有一个名称和一个标签,而 GPT 无法返回超过 10 项。

我们最初认为这是因为上下文窗口大小是 4k,但我们发现 10 个项目,可能只有 700-800 个 token,GPT 就会停止。

经验 6:向量数据库和 RAG / 嵌入对我们普通人来说几乎毫无用处

我认为矢量数据库 / RAG 确实是用于搜索的,以下是一些原因:

1. 相关性没有界限。有一些解决方案,你可以创建自己的相关性截止启发式,但它们并不可靠。在我看来,这确实「杀死了 RAG」—— 你总是冒着用不相关的结果危害检索的风险;或者过于保守,错过重要的结果。

2. 为什么要将向量放入专门的专有数据库中,远离所有其他数据?除非你处理的是 google/bing 规模的工作,否则上下文的丢失绝对不值得进行权衡。

3. 除非你正在进行非常开放的搜索(例如整个互联网),否则用户通常不喜欢返回他们没有直接输入的内容的语义搜索。

在我看来(未经验证),对于大多数搜索案例,LLM 的更好用法是使用正常的完成 prompt 将用户的搜索转换为分面搜索(faceted-search),甚至是更复杂的查询。但这根本不是 RAG。

经验 7:幻觉基本上不会发生

我们的每个用例本质上都是「这是一段文本,从中提取一些内容」。通常,如果要求 GPT 提供一段文本中提到的公司名称,它不会为你提供「随机公司」(除非文本中没有公司,即零假设问题)。

类似地,GPT 并不会真正产生幻觉代码。如果用例完全、详细,那么 GPT 实际上非常可靠。

原文链接:

https://kenkantzer.com/lessons-after-a-half-billion-gpt-tokens/




# LLaMA-Adapter


LLaMA-Adapter,现在已经完全解锁了。通用多模态工具,微调7B模型只用单GPU

作为一个通用的多模态基础模型,它集成了图像、音频、文本、视频和3D点云等各种输入,同时还能提供图像、文本和检测的输出。

相比于之前已经推出的LLaMA-Adapter,这次的升级版研究人员将它命名为LLaMA-adapter V2。

论文:https://arxiv.org/abs/2304.15010

这是升级之后的多模态和双语功能示意图:

w~大模型~合集6_大模型_36

它是唯一可以结合多种模态的模型,例如,从3D点云和背景音频生成真实的图像。

而且,它还支持双语功能,能接收和生成多种语言的文本。

它还能和LLaMA / ImageBind,Falcon,LangChain等模型整合。

在8个A100 GPU上,仅用15个小时就训练出了LLaMA-Adapter,仅仅引入了650M的参数。

真·多模态

接下来,让我们体验下LLaMA-Adapte的魔力。

无论是文本、图像、视频、音频还是3D点云,这些真实世界的输入都可以通过它转换为高质量的文本。

输入一个三角钢琴的3D点云,它就会详细描述出这个三维物体的细节。

显然,英文的回答会比中文的回答详细得多。

3D点云输入令人非常印象深刻,因为它提供了比照片更准确的信息,并且可以集成到摄影测量应用中。

输入一段街道上车辆正在行驶的语音,问它当事人会是什么心情,它就猜测出,现在当事人可能比较愤怒和不满。

输入一段LOL的游戏视频,它就能识别出游戏的名字,还能答出里面的人物。

LLaMA-Adepter不仅仅是可以创建文本,还能够生成检测结果,这就为我们理解世界和与世界互动带来新的维度。

把检测GPT-4的这幅图输给它,它也很顺利地描述出了这幅图的怪异之处在哪里。

从3D点云或音频中,LlaMA-Adapter可以唤起一个生动而令人惊叹的视觉世界。它不仅仅是数据处理,它是从原始输入 创造艺术。

输入一阵海浪声,它会给你生成对应语音的图片。

根据3D点云,它可以生成很生动的图片。

LLaMA-Adapter会模拟人类互动,听声音、看视频,还能生成文本,从而与世界建立更深层次的联系,实现AI通信的飞跃。

输入一个视频,它就会告诉你,图中人物正在做瑜伽。

更精彩的是,只要输入3D点云和背景音频,LLaMA-Adapter就可以重建现实世界的镜像。这是一种沉浸式体验的突破!

LLaMA-Adapter由LangChainAI提供支持,不仅可以与人类通信,还可以释放AI交互的无限潜力。

LLaMA-Adapter,这是一种轻量级适配方法,用于微调指令遵循和多模态LLaMA模型。

下图是LLaMA-Adapter和Alpaca的参数对比。

w~大模型~合集6_大模型_37

通过将适配器插入LLaMA的Transformer,研究者只引入了1.2M的可学习参数,并在1小时内将LLaMA转换为指令跟随模型。

为了在早期阶段稳定训练,研究者提出了一种具有zero gating机制的新型Zero-init注意力机制,以自适应地合并教学信号。

经过微调后,LLaMA-Adapter可以生成高质量的指令跟随句子,可与完全微调的Alpaca和Alpaca-Lora相媲美。

w~大模型~合集6_大模型_38

此方法可以简单地扩展到多模态输入指令。用于ScienceQA的图像条件LLaMA-Adapter的推理框架如下,其他模态(如音频和视频)也共享该框架。

w~大模型~合集6_大模型_39

LLaMA-Adapter V2让多模态和语言能力进一步提升

针对LLaMA-Adapter V2的重要改进,知友「星空」做了一个比较清晰的总结:

1. 通过线性层的偏差调整来增强语言模型的性能。

2. 使用不相交参数进行联合训练来平衡视觉指令调整。

3. 使用视觉知识的早期融合增强文本和图像的理解能力。

4. 通过与专家集成来提高了多模态的推理能力。

线性层的偏差调整

LLaMA-Adapter在冻结的LLaMA模型上采用可学习的适应提示和零初始化注意机制,从而可以有效地整合新知识。

但是,参数更新受限于自适应提示和门控因子,没有修改LLMs的内部参数,这限制了它进行深度微调的能力。

鉴于此,研究人员提出了一种偏差调整策略,除了适应提示和门控因素之外,进一步将指令提示融合到LLaMa中。

具体来说,为了自适应地处理指令跟随数据的任务,研究人员首先解冻LLaMA 中的所有规范化层。

对于Transformer中的每个线性层,研究人员添加一个偏差和一个比例因子作为两个可学习的参数。

研究人员将某个线性层的输入和预训练权重分别表示为 x 和 W。在LLaMA-Adapter V2中,研究人员使用偏置 b 和尺度 s 修改线性层为

w~大模型~合集6_大模型_40

与零初始化注意力类似,研究人员分别用零和一初始化偏差和比例因子,以稳定早期阶段的训练过程。

通过结合偏置调整策略和高质量指令数据,LLaMA-Adapter V2获得了卓越的指令跟随能力。

值得注意的是,新增参数的数量仅占整个LLaMA的 0.04%(∼5M),表明 LLaMA-Adapter V2仍然是一种参数高效的方法。

使用不相交参数进行联合训练

研究人员目标是同时赋予LLaMA-Adapter V2生成长语言响应和多模态理解的能力。

下图所示,研究人员提出了LLaMA-Adapter V2的联合训练范例,以利用图像文本字幕数据和纯语言指令示例。

由于500K图像文本对和50K指令数据之间的数据量差异,直接将它们组合起来进行优化会严重损害LLaMA-Adapter的指令跟随能力。

因此,研究人员的联合训练策略优化了LLaMA-Adapter V2中不相交的参数组,分别用于图像文本对齐和指令跟随。

具体来说,只有视觉投影层和带门控的早期零初始化注意力针对图文字幕数据进行训练,而后期适应提示与零门控、未冻结范数、新添加的偏差和比例因子(或可选的低秩适应)被用于从指令跟随数据学习。

不相交的参数优化很好地解决了图文理解和指令跟随之间的干扰问题,这有助于 LLaMA-Adapter V2的视觉指令跟随能力。

w~大模型~合集6_大模型_41

视觉知识的早期融合

为了避免视觉和语言微调之间的干扰,研究人员提出了一种简单的早期融合策略,以防止输入视觉提示和适应提示之间的直接交互。

在LLaMA-Adapter中,输入的视觉提示由具有可学习视觉投影层的冻结视觉编码器顺序编码,然后在每个插入层添加到自适应提示。

在LLaMA-Adapter V2中,研究人员将编码的视觉标记和自适应提示注入不同的Transformer层,而不将它们融合在一起,如下图所示。

对于数据集共享的自适应提示,研究人员跟随LLaMA-Adapter,将它们插入到最后L层(比如,L=30)。

对于输入的视觉提示,研究人员直接将它们与单词标记连接起来,这是具有零初始化注意力的Transformer层,而不是将它们添加到自适应提示中。

与提出的联合训练一起,这种简单的视觉标记早期融合策略可以有效地解决两类微调目标之间的冲突。

这样就使得参数高效的LLaMA-Adapter V2具有良好的多模态推理能力。

w~大模型~合集6_大模型_42

与专家集成

最近的视觉指令模型,如MiniGPT4和LLaMA需要大规模的图像文本训练来连接视觉模型和LLM。

相比之下,研究人员的LLaMA-Adapter V2对更小规模的常见图像字幕数据进行了微调,使其数据效率更高。

然而,研究人员的方法的图像理解能力相对较弱,导致偶尔出现不准确或无关的响应。

研究人员建议集成字幕、OCR和搜索引擎等专家系统,以补充LLaMA-Adapter V2额外的视觉推理能力,而不是收集更多的图像文本数据或采用更强大的多模态模块。

如下图所示,研究人员利用字幕、检测和OCR等专家系统来增强LLaMA-Adapter V2的视觉指令跟随能力。

w~大模型~合集6_大模型_43

小编立马上手试了一波,输入这幅图。

w~大模型~合集6_大模型_44

Prompt是,可以向我介绍一下这个电脑游戏吗?

它就会在输出中告诉你,这是“塞尔达传说:旷野之息”,并为你详细介绍游戏内容。

针对双语表现比较好的模型Bilingual (CN / EN) ImageBind-LLM,我们先测了一个比较简单的问题,找了一幅梵高的自画像来给它看。

中文的回答内容上没有问题,但是表达上最后一句话似乎没有说完就断了,类似的情况在后面的测试里还反复出现了。 

英文的回复内容和表达上都没有问题。

但是如果问题稍微难一点,小编实测后发现,它的英文能力很强,但中文的理解力明显就不是很行。

测狗狗币的时候,它就闹笑话了。

没有看出图片的精髓,还“指狗为猫”。

英文生产的答案明显在表达上好一些,但是还是没有识别出狗狗币。

应该是它识别的时候忽略了图中最关键的那一圈文字信息。

在视频的表现中我们找了一段Dota2 TI8的名局片段,用中文问它,他的回答就完全是不懂装懂。

但是同样的游戏录像,用英文提问,回答得就比较令人满意。

游戏识别对了,而且介绍的内容也都很靠谱。

我们再测了一下声音,找了一首霉霉的歌放进去。

他能识别出人声声音的音调,但是听不出歌曲。

英文的回复直接猜了一个歌手,但是没猜对。

网友反应

前威斯康星大学教授第一时间发推说自己上手用LLaMA-Adapter微调了一个40B Falcon的模型。

在这条微博下面他回复了大家提出的相关问题,对LLaMA-Adapter的评价非常高。

他说如果不用LLaMA-Adapter微调7B的模型,至少需要8个A100GPU,自己用了LLaMA-Adapter只用了一块GPU,门槛大大降低!

 另外一位网友询问和Lora/qlora/full相比,推理质量如何,他回答说自己正在体验,进一步的信息稍后带来。

参考资料:

https://twitter.com/lupantech/status/1668387311011401728





# MeshGPT

在计算机图形学中,「三角形网格」是 3D 几何物体的主要表现形式,也是游戏、电影和 VR 界面中主要使用的 3D 资产表示方法。业界通常基于三角形网格来模拟复杂物体的表面,如建筑、车辆、动物,常见的几何变换、几何检测、渲染着色等动作,也需要基于三角形网格进行。

连续「预测下一个 token」能生成句子,同理,连续「预测下一个三角形网格」也能生成 3D 模型。Transformer变革3D建模,MeshGPT生成效果惊动专业建模师,网友:革命性idea

与点云或体素等其他 3D 形状表示法相比,三角形网格提供了更连贯的表面表示法:更可控、更易操作、更紧凑,可直接用于现代渲染流水线,以更少的基元获得更高的视觉质量。

w~大模型~合集6_大模型_45

此前,已有研究者尝试过使用体素、点云和神经场等表示方法生成 3D 模型,这些表示也需要通过后处理转换成网格以在下游应用中使用,例如使用 Marching Cubes 算法进行 iso-surfacing 处理。

遗憾的是,这样做的结果是网格密度过高、网格划分过细,经常出现过度平滑和等值曲面化带来的凹凸不平的错误,如下图所示:

w~大模型~合集6_大模型_46

相比之下,3D 建模专业人员建模的 3D 网格在表示上更加紧凑,同时以更少的三角形保持了清晰的细节。

一直以来,很多研究者都希望解决自动生成三角形网格的任务,以进一步简化制作 3D 资产的流程。

在最近的一篇论文中,研究者提出了新的解决方案:MeshGPT,将网格表示直接生成为一组三角形。

论文链接:https://nihalsid.github.io/mesh-gpt/static/MeshGPT.pdf

受语言生成模型 Transformer 的启发,他们采用了一种直接序列生成方法,将三角形网格合成为三角形序列。

按照文本生成的范式,研究者首先学习了三角形词汇,三角形被编码为潜在量化嵌入。为了鼓励学习到的三角形嵌入保持局部几何和拓扑特征,研究者采用了图卷积编码器。然后,这些三角形嵌入由 ResNet 解码器解码,该解码器将其处理表示三角形的 token 序列,生成三角形的顶点坐标。最终,研究者在所学词汇的基础上训练基于 GPT 的架构,从而自动生成代表网格的三角形序列,并获得了边缘清晰、高保真度的优势。

在 ShapeNet 数据集上进行的多个类别的实验表明,与现有技术相比,MeshGPT 显著提高了生成 3D 网格的质量,形状覆盖率平均提高了 9%,FID 分数提高了 30 个点。

w~大模型~合集6_大模型_47

在社交媒体平台上,MeshGPT 也引发了热议:

有人说:「这才是真正革命性的 idea。」

一位网友指出,该方法的亮点在于克服了其他 3D 建模方法的最大障碍,即编辑能力。

有人大胆预测,或许每一个自上世纪 90 年代以来尚未解决的难题,都可以从 Transformer 中得到启发:

也有从事 3D / 电影制作相关行业的用户对自己的职业生涯表示担忧:

不过,也有人指出,从论文给出的生成示例来看,这一方法还未达到大规模落地的阶段,一位专业建模人员完全可以在 5 分钟内制作出这些网格。

这位评论者表示,下一步可能是由 LLM 控制 3D 种子的生成,并将图像模型添加到架构的自回归部分。走到这一步后,游戏等场景的 3D 资产制作才能实现大规模的自动化。

接下来,就让我们看看 MeshGPT 这篇论文的研究细节。

方法概述

受大语言模型进步的启发,研究者开发了一种基于序列的方法,将三角形网格作为三角形序列进行自回归生成。这种方法能生成干净、连贯和紧凑的网格,具有边缘锐利和高保真的特点。

w~大模型~合集6_大模型_48

研究者首先从大量的 3D 物体网格中学习几何词汇的嵌入,从而能够对三角形进行编码和解码。然后,根据学习到的嵌入词库,以自回归下索引预测的方式训练用于网格生成的 Transformer。

w~大模型~合集6_大模型_49

为了学习三角形词汇,研究者采用了图形卷积编码器,对网格的三角形及其邻域进行操作,以提取丰富的几何特征,捕捉 3D 形状的复杂细节。这些特征通过残差量化被量化为 codebook 中的 Embedding,从而有效减少了网格表示的序列长度。这些内嵌信息在排序后,在重建损失的指导下,由一维 ResNet 进行解码。这一阶段为 Transformer 的后续训练奠定了基础。

然后,研究者利用这些量化的几何嵌入,训练出一个 GPT 类型的纯解码器 transformer。给定从网格三角形中提取的几何嵌入序列,训练 transformer 来预测序列中下一个嵌入的 codebook 索引。

训练完成后,transformer 可以自回归采样,以预测嵌入序列,然后对这些嵌入进行解码,生成新颖多样的网格结构,显示出与人类绘制的网格类似的高效、不规则三角形。

w~大模型~合集6_大模型_50

w~大模型~合集6_大模型_51

MeshGPT 采用图卷积编码器处理网格面,利用几何邻域信息捕捉表征 3D 形状复杂细节的强特征,然后利用残差量化方法将这些特征量化成 codebook 嵌入。与简单的向量量化相比,这种方法能确保更好的重建质量。在重建损失的指导下,MeshGPT 通过 ResNet 对量化后的嵌入进行排序和解码。

w~大模型~合集6_大模型_52

w~大模型~合集6_大模型_53

该研究使用 Transformer 从预先学习的 codebook 词汇中生成网格序列作为 token 索引。在训练过程中,图形编码器会从网格面提取特征,并将其量化为一组面嵌入。这些嵌入会被扁平化,用开始和结束 token 进行标记,然后送入上述 GPT 类型的 transformer。该解码器通过交叉熵损失进行优化,预测每个嵌入的后续 codebook 索引。

实验结果

该研究将 MeshGPT 与常见的网格生成方法进行了比较实验,包括:

  • Polygen,通过首先生成顶点,然后生成以顶点为条件的面来生成多边形网格;
  • BSPNet,通过凸分解来表征网格;
  • AtlasNet,将 3D 网格表征为多个 2D 平面的变形。

此外,该研究还将 MeshGPT 与基于神经场的 SOTA 方法 GET3D 进行了比较。

w~大模型~合集6_大模型_54

如图 6、图 7 和表 1 所示,在全部的 4 个类别中,MeshGPT 都优于基线方法。MeshGPT 可以生成尖锐、紧凑的网格,并具有较精细的几何细节。

具体来说,与 Polygen 相比,MeshGPT 能生成具有更复杂细节的形状,并且 Polygen 在推理过程中更容易积累错误;AtlasNet 经常出现折叠瑕疵(folding artifact),导致多样性和形状质量较低;BSPNet 使用平面的 BSP 树往往会产生具有不寻常三角测量模式的块状形状;GET3D 可生成良好的高层次形状结构,但三角形过多,且平面不完美。

w~大模型~合集6_大模型_55

w~大模型~合集6_大模型_56

w~大模型~合集6_大模型_57

如表 2 所示,该研究还让用户对 MeshGPT 生成网格的质量进行了评估,在形状和三角测量质量方面,MeshGPT 明显优于 AtlasNet、Polygen 和 BSPNet。与 GET3D 相比,大多数用户更喜欢 MeshGPT 生成的形状质量(68%)和三角测量质量(73%)。

w~大模型~合集6_大模型_58

形状新颖性。如下图 8 所示,MeshGPT 能生成超出训练数据集的新奇形状,确保模型不仅仅是检索现有形状。

w~大模型~合集6_大模型_59

w~大模型~合集6_大模型_60

形状补全。如下图 9 所示,MeshGPT 还可以基于给定的局部形状推断出多种可能的补全,生成多种形状假设。

w~大模型~合集6_大模型_61





# BlueLM


大语言模型,vivo 也做到了几个「业内第一」,发布蓝心大模型,手机端运行且开源,自研系统亮相

国内头部手机厂商,最近正在集中发布通用大模型和自研操作系统,而 vivo 正在把两者高度融合在一起。

11 月 1 日,vivo 在 2023 开发者大会上正式发布了自研 AI 大模型「蓝心 BlueLM」和全平台自研操作系统「蓝河 BlueOS」。与此同时,最新一代手机系统 OriginOS 4 也进行了正式亮相。

「经过多年的准备,今天 vivo 发布自研大模型矩阵,其中也包含手机行业内的首个开源大模型。」vivo 高级副总裁、首席技术官施玉坚说道。「我们的自研大模型可以把新的用户体验带到每个用户手中,它可以完成各种你想做的事情。」

昨天 vivo 正式发布的自研蓝心大模型 BlueLM 经历了六年研究,覆盖了十亿、百亿、千亿三个参数量级,全面覆盖了目前应用的核心场景。

在这其中,10 亿量级模型是主要面向端侧场景打造的专业文本大模型,在手机上进行推理的速度可达 64 字 / 秒,具备本地化的文本总结、摘要等能力。70 亿模型是面向手机打造的端云两用模型,具有优秀的语言理解、文本创作能力。

同时,上述两个量级的模型支持高通和联发科(MTK)最新旗舰平台(也就是骁龙 8Gen3 和天玑 9300)的端侧化部署,在保证数据安全的同时,在 token 输出速度、响应时间、内存占用等方面也非常优秀。

除了面向端侧的模型,vivo 在更大体量的模型上也做到了较好的效果。蓝心大模型 70B 是面向云端服务的主力模型,用于角色扮演、知识问答等任务,其综合能力,在 C-Eval、CMMLU、SuperCLUE(10 月)等榜单中均处于中文大模型的第一梯队。另外,vivo 提供的 1300 亿、1750 亿参数大模型将在更为复杂的场景,如逻辑推理、任务编排中为用户带来更专业的体验。

w~大模型~合集6_大模型_62

w~大模型~合集6_大模型_63

什么样的大模型才能在今天的「百模大战」中脱颖而出?vivo 副总裁、OS 产品副总裁、vivo AI 全球研究院院长周围认为,真正优秀的大模型需要五个特点:

  • 首先是模型规模足够大,支持模态要全,这样才能让人工智能具备人类的很多能力。
  • 其次是算法强,要在基础算法上不断突破,在评测榜单中领先。
  • 第三是安全性,要保证大模型的价值观、道德规范符合要求,同时保证数据和隐私安全。此外还要不断提升模型训练的数据安全,提升抗攻击能力。
  • 第四是自我进化能力,大模型需要不断更新数据以提升能力,适应用户的需求。
  • 最后是开源开放,vivo 希望降低模型应用的门槛和成本,推动整个产业的共同进步。

据介绍,为了构建自有大模型体系,vivo 组建了千人规模的 AI 专家团队,自 2018 年成立人工智能图谱研究院以来,已经积累了 13000T 的多种模态数据以及 2800T 高质量中文文本数据。其工程师不断从多维度入手持续丰富训练数据,强化算法,同时通过信息技术应用创新去解决算力问题并不断提升技术安全能力。

在大会现场,vivo 还表示刚刚在工程上实现了 13B 参数大模型在手机 SoC 上的完整跑通。可以预见,随着移动端算力提升和模型的不断优化,我们很快就会拥有更加强大的移动版通用 AI。

基于开源的大模型和 API 工具,vivo 推出了蓝心大模型开发套件 Bluekit,中小开发者可以直接调用大模型的端侧推理能力,真正实现了大模型的开箱即用。另一方面,对于希望进行微调的开发者,vivo 提供模型参数热插拔机制,通过系统级计算调度,将开发者模型进行组合推理,帮助构建高自由度的定制化模型。

蓝心大模型在 vivo 的生态中已经有了两种应用,首先是类似于 ChatGPT 应用的自然语言对话 APP「蓝心千询」:

w~大模型~合集6_大模型_64

和目前我们能看到的很多大模型应用一样,蓝心千询不仅可以与你进行自然对话,搜索整合知识,还可以进行文学创作、图片生成,甚至还能编写程序。

在现场,vivo 着重展示了代码生成的能力。「即使是编写量化框架这样的复杂任务,用蓝心千询来写,你只需要提出需求,大模型 30 秒就能搞定,」周围说道。「它也可以用来写 Python 界面、写算法、写表格、处理数据库。以后写代码,不用动手,开口即可。」

vivo 表示,蓝心千询将登录应用市场,vivo 品牌以外的手机也将可以使用这款 APP。

还有融合在 OriginOS 4 系统里的首款全局智能助理蓝心小 V。在大模型的加持下,这个智能助理拥有行业领先的智慧,它可以通过语音、文字、文件拖拽等方式接收信息进行处理。如果遇到简单的问题,小 V 会以文字或图片进行回复。面对复杂的问题,它还可以通过 SWOT 模型或思维导图的形式输出回答。

比如手机上刚收到一个英文的论文,想让 AI 帮你写个摘要,只需要在小 V 的对话框里写:总结一下刚接收到文件的内容,保存到原子笔记里。

只用几秒钟的时间,你就可以快速地了解论文的主要内容了。

蓝心小 V 还可以帮助你整理复杂内容的逻辑,生成企划,构建日程等等。当然,目前生成式 AI 主打的生成图片、知识问答等能力它也都有。

有了相比以往更强的 AI 算法,vivo 的新一代系统会是什么样子?在开发者大会上,OriginOS 4 正式亮相,新一代系统在在设计、场景应用、AI 能力、系统底层等方面进行了很多升级。

为了解决用户的部分痛点场景,OriginOS 4 带来了全链路解决方案。例如专门针对地下停车场的定位进行优化,新增了停车助手等功能,让用户在停车、寻车、离库等场景下拥有更优的体验。

针对办公场景,OriginOS 4 打造了全链路会议助手,可以在你开在线会议的时候,实时以文字方式进行会议内容速记,并自动添加你截好的图片。任何安装 vivo 办公套件的电脑都可以自动连接手机,互相分享文件,也可以搜索手机中的内容。 

此外,OriginOS 4 还升级了超级省电、AI 离线翻译等实用功能。

在系统性能的优化上,OriginOS 4 的改进包括通过「虚拟显卡」实现更快的应用程序响应。它将应用程序的打开和关闭时间减少了 36%,并将帧速率稳定性提高了 70%。对于多任务算力的分配也有了进一步优化,操作系统会优先分配 CPU 和 GPU 资源处理屏幕上的任务,并阻止「不相关的计算」。

w~大模型~合集6_大模型_65

最近,国内头部厂商正在比拼自研系统。vivo 打造的自主研发的全新智慧操作系统 —— 蓝河操作系统 BlueOS 也在昨天首次亮相。

蓝河操作系统从底层引入了蓝心 AI 大模型能力,支持复杂的意图识别和交互方式,既为用户提供了声音、图片、手势等自由交互方式,也为开发者提供了自动编写代码等应用开发新范式。

「BlueOS 可以了解你的需求,自动生成代码,生成专属于你的桌面主题、壁纸和挂件。随着大模型能力的增强,我们都可以在其中进行创作,人人都可以成为软件工程师和 UI 工程师。」周围表示。

vivo 表示,蓝河操作系统没有安卓的虚拟机层,作为一个标准的操作系统,兼容不同的硬件体系结构。通过内核抽象层实现了对不同内核兼容,蓝河是符合 Posix 标准的操作系统,支持 Linux 内核,RTOS 内核。它结合了先进的 AI 大模型,从系统、应用,到工具链进行了全新的设计,会接入蓝心大模型的多模态能力。

蓝河不只是面向手机的系统,它可以运行在 CPU 频率 200MHz,内存 32MB 的可穿戴设备上。第一个搭载此系统的是智能手表 vivo Watch 3,它将在本月面世。

w~大模型~合集6_大模型_66

由于是 Linux/RTOS 为底层的自研架构,因此 BlueOS 不兼容安卓应用。目前支付宝、百度地图、喜马拉雅等应用已为蓝河开发了定制版的应用。蓝河生态为开发者提供了蓝河开发套件,包括蓝河 SDK 和蓝河 Studio,为开发者提供了开发套件支持。

另外有趣的是,蓝河操作系统是行业首个系统框架由 Rust 语言编写的操作系统,在根本上解决了内存使用不当引起的安全漏洞问题。

有了包括大模型的 AI 技术、自研操作系统和新一代硬件,vivo 迈出了大模型时代移动交互的重要一步,将实现「1+2+N」的智能系统体验。

在这其中:1 是指 vivo 自研的通用大模型矩阵 —— 蓝心大模型 BlueLM;2 是指系统全局智能辅助应用「蓝心小 V」和以公版 APP 形式推出的自然语言对话机器人「蓝心千询」;N 则是指开发者依托 vivo 70 亿蓝心大模型及其微调框架、大模型开发套件 BlueKit 打造的高效、低成本专属大模型。

w~大模型~合集6_大模型_67

正如主 Keynote 所提到的,目前想要在端侧运行大模型,我们需要使用最新一代旗舰级芯片的手机。在昨天开发者大会的展台上,iQOO 12 真机已被提前曝光了。这款手机搭载骁龙 8Gen3,16+16G 内存,还有自研电竞芯片 Q1。

我们期待大模型在新一代移动设备上的表现。





# OpenAgents

1开源版「ChatGPT Plus」来了,能做数据分析、插件调用、自动上网,落地真实世界的智能体

OpenAI ChatGPT Plus 订阅付费功能强大,可以实现高阶「数据分析」(Advanced Data Analysis)、「插件调用」(Plugins)以及「自动网页浏览」(Browse with Bing),能够作为日常生活中的重要生产力工具。可是因为商业原因而选择了闭源,研究者和开发者也只能使用而没有办法在其上面做任何的研究或改进。

基于此,来自香港大学、XLang实验室、Sea AI实验室和Salesforce的研究者联合打造了一款用于真实世界生产力工具的开源智能体框架——OpenAgents,并开源了全栈代码(完整前后端,研究代码),以满足从研究者到开发者再到用户的所有人的需要。

OpenAgents 用基于「大语言模型」(LLMs)的技术和全栈工程代码尝试近似复刻了 ChatGPT Plus 的功能。智能体能执行 Python/SQL 代码,熟练调用工具,也能上网找地图发帖子,一路从研究代码实现到后端前端,让其变成了人人都能用的落地级别应用。OpenAgents 完整披露了他们采用的技术和遇到的困难,完全开源了代码,包含从科研到逻辑代码到前端代码的一切。代码完善、易于拓展,本地直接可以一键部署,配套提供了含有丰富的使用案例的文档,帮助研究者和开发者在模型上搭建自己的智能体和应用。

w~大模型~合集6_大模型_68

OpenAgents 总览图,面向用户的网页界面,面向开发者的本地部署,面向研究者的语言智能体。

  • 代码链接:https://github.com/xlang-ai/OpenAgents
  • 论文链接:https://arxiv.org/abs/2310.10634
  • Demo 链接:https://chat.xlang.ai/
  • 文档链接:https://docs.xlang.ai/

与 ChatGPT Plus 的 “一样” 和 “不一样”

左边是 OpenAgents 的实现,右边是 ChatGPT Plus:

w~大模型~合集6_大模型_69

先来看看「数据分析」功能。同一个分析股票价格的任务,OpenAgents 和 ChatGPT 都能不错地完成用户对股价和交易的分析要求。不过 OpenAgents 可以自动搜索 Kaggle 数据集并下载,ChatGPT 需要用户从本地上传。

w~大模型~合集6_大模型_70

再试试 OpenAI 最早推出的「插件」功能。用户想要画一些八面体,两者都成功调用了 Wolfram 插件画出多种八面体的图片。

w~大模型~合集6_大模型_71

最后看看「网页浏览」。用户想要查询 10 月 20 日从中国香港到纽约的机票,OpenAgents 识别用户意图后直接跳转到 Skycanner,像 “真人” 一样一边思考一边在网站中填入信息,最后回到聊天页面总结信息;而 ChatGPT 处于安全考虑保证可控性,和调用插件类似,在云端做网页浏览,将最后搜寻到的信息返回。

由于 OpenAgents 提供了开源的代码,开发者和研究者可以定制,若干行代码适配自己想要的模型,改进、创造自己想要的功能,甚至创造新的 Agent。这对于该方向的进一步开展开发和研究至关重要。

看似简单,「生产力能用」的智能体为什么踩坑这么多?

智能体的开源框架不少,基于大模型的中间件更是层出不穷,为什么搭建一个真正方便可用的智能体并不容易,OpenAgents 在他们论文中与其他智能体框架进行了对比:

w~大模型~合集6_大模型_72

对比 OpenAgents 和其他的框架。

从表格中可以看出,「界面」(Interface) 和「配套环境」(Environment) 是 OpenAgents 与众不同的两个因素。现有的开源框架比如 LangChain,AutoGPT 和 BabyAGI 等旨在为开发者提供早期概念验证实现和控制台界面,但在真实世界中却不够鲁棒,这限制了更广泛受众的接入,特别是那些不熟悉编程或控制台的普通用户。而在闭源体系中,OpenAI 在 ChatGPT Plus 中部署了精心设计的产品,尤其是高级数据分析(之前称为代码解释器)、插件和 Bing 浏览等功能,利用进一步训练的模型、业务逻辑代码和培育的软件社区(例如,插件商店)。但是闭源导致它们难以作为开发和研究平台使用,社区无法站在巨人肩膀上探索、评估和改进。在侧重考量这些维度之后,OpenAgents 作为面向真实场景的开源 Agent 框架,为社区提供了一个可与 ChatGPT Plus 一较高下的平台。

在「界面」上,OpenAgents 提供线上的网页 demo (以及配套的开源代码),非程序员背景的普通用户也可轻松与智能体进行交互,而之前的工作通常不提供或者以「控制台指令界面」(CLI) 形式提供交互,极大地提高了智能体的使用门槛。在「配套环境」上,OpenAgents 支持真实世界环境和可控环境,支持超过 200 + 的日常工具调用,支持网页自动浏览。

这些功能侧重和配备使得 OpenAgents 成为对于普通用户最没有门槛的选择;也为研究、开发人员等提供可能是最好的直接面向用户的机会。

作为生产力的 Agent 未来的第一步:「用户」,「开发人员」,「研究人员」都能用的 Agent 平台

为了解决上述问题,OpenAgents 的动机是作为一个开源平台,为使用和部署智能体提供,目前包括三个关键智能体:

  • 用于 Python 和 SQL 的数据智能体;
  • 200 多个工具使用的插件智能体;
  • 自动网络浏览的 Web 智能体。

OpenAgents 相信,为了让大语言模型发挥其全部潜力,它们必须从纯粹的理论或面向开发者的工具转变为为广泛用户群提供的动态、交互式系统。「普通用户」可以通过在线 Web UI 轻松探索智能体功能,无需编码专业知识。此外,OpenAgents 为「开发者」提供完整的业务逻辑和研究代码,以便在本地轻松部署,「研究人员」可以进一步构建语言智能体。最后,OpenAgents 旨在成为一个真实而全面的人类可交互的智能体评估平台:根据真实需求,真实用户与智能体互动以完成其任务,并记录整个用户 - 智能体互动过程和用户反馈以供进一步评估。与现有的基准测试和平台相比,OpenAgents 提供了一个真实环境,智能体可以满足各种真实的用户需求。

面临和克服的挑战

挑战 1: 基于提示来构建真实世界语言模型的弊端

在为真实用户构建基于提示的应用程序时,使用提示中的指令来设定特定要求。这些指令有不同目的,有一些是为了确保大语言模型的输出符合后端逻辑处理的特定格式(以特定键的字典形式输出);有一些是提升输出的美观度(尽可能一条条单独列出项目);有一些是用于防止潜在的攻击(拒绝用户恶意构造的无限循环程序并且执行)。

这些带着约束目的提示来约束语言模型需要开发者研究者反复调试出来一些可以使用的指令,这些指令加在一起通常会是几百个「词元」(token)甚至上千个词元,这些指令作为前缀会被反复输入到模型造成显卡资源的大量消耗;另外一方面,词元越多越依赖 LLM 有很好的性能,所以说这一条技术路线对大语言模型的指令跟踪能力和支持的上下文长度提出了一定的要求。

当前的开源模型在这些方面已经取得了显著的改进,但是在实验中仍然是不足以用来实际使用的,这方向的研究还可以继续。此外,需要更加重视智能体模型的基础开发和研究,以及针对特定领域和要求训练专用的智能体模型。这种方法可能比仅依赖于提示一个通用强大但固定模型更高效,也更可控。

挑战 2: 无法控制的现实因素

实现真实世界的语言智需要面对很多无法控制的现实因素,这些因素包括用户行为、互联网的基础设施和业务逻辑等,它们在过去的研究中并未得到充分建模。这就需要重新评估,甚至推翻许多过去研究中的假设和方法。必须考虑到的事是,调用的 API 所在的服务器可能会崩溃。这种情况需要监控并稳定地完成用户命令,而不是像过去的工具使用研究中所假设的那样。在生成回复的过程中,用户可能会感到不满意,这可能导致语言模型在生成过程中被中断。

此外,像 CAPTCHA 弹出或广告改变网页这样的不可预测事件,可能会在相对稳定的网页结构中引入一定程度的随机性,这在以前的自动浏览网页的工作中未曾考虑过。诸如此类的问题还有很多,比如说在智能体反应和思考的时间内(现在往往需要数秒)就改变的环境,等等。

挑战 3: 来自真实场景的额外指标

具体的研究通常过于强调性能指标,而忽视了现实场景中的基本需求。例如,使用流式(即每生成一个词元都尽快显示给用户)可以让用户能够快速感知系统的反馈,而无需等待长篇大论的文本生成完毕再一起看到。特意设计的提示可以让智能体的回复格式更加美观,这对用户体验有着显著影响。然而,现有的方法并未充分考虑这些影响。导致了尽管在准确性上的性能指标优秀,但在实际应用中,它们可能导致响应时间过长、文本可读性差等等导致用户体验不佳的问题,接下来的研究需要进一步考虑性能和用户体验之间的权衡问题。

挑战 4: 由系统问题引发的评估复杂性

构建直接针对应用程序的智能体可以满足更多用户需求,同时也能揭示更多评估挑战。但基于 LLM 的应用程序构建会带来额外的复杂性,使得难以判断失败案例是来源于 LLM 应用的限制还是逻辑代码的不足。举例说明,如果说一个用户因为没法从界面中直接拖拽上传文件而造成没有完成用户想要的操作而判断智能体能力不行是不合理的。因此,对智能体设计和操作逻辑的系统进行改进,简化智能体流程以及用户使用逻辑,或者构建一个更加完善的设计和实现逻辑,是有前景且必要的。

未来展望

OpenAgents 可以怎么样帮助社区做下一步的研究和开发?在他们的构想中至少有如下几点:

未来工作 1: 搭建更多智能体应用

OpenAgents 打通了一套完整的应用级语言智能体开发流程以及所需要的技术,并且开放了代码。这为其他创新应用与终端用户提供了可能。开发者们可以基于此开发任何自己想要的新应用,比如说多模态对话、语音对话、库级别代码助手等。 

未来工作 2: 工具和组件集成

OpenAgents 致力于探索和解决构建实用级智能体应用的基本需求,为社区提供了一个强大的基础,使得社区可以轻松地通过集成其他组件进行水平扩展。同时,还可以扩展更多的基础模型,比如最近的大型多模态模型,以及适应新的 UI 设计等。

未来工作 3: 人机交互领域研究

开发者和研究者基于 OpenAgents 平台能轻松构建基于大语言模型的新智能体应用程序。OpenAgents 因此能帮助构建应用程序演示,供人机交互(HCI)研究人员深入研究更直观、更用户友好的界面设计。这将提升用户的参与度和满意度。

未来工作 4: 自适应用户界面生成

自动创建用户界面是一个有趣且具有挑战性的领域。这些界面能根据特定标准,如用户的设备、偏好或上下文,进行自我调整或定制。研究人员可以深入研究在基于 OpenAgents 的自适应 UI 中,如何应用大语言模型,以及它们对用户体验的影响。

未来工作 5: 大语言模型在实际应用场景下的评估

为大语言模型建立公正且稳健的评估方法,对于公平评价其能力和性能至关重要。目前,通过使用预先收集的数据和受控环境,对智能体进行基准测试。虽然这些评估非常关键,但它们往往无法全面反映真实世界中的动态挑战。鼓励社区对这些评估指标和平台进行扩展或完善,这将显著推动该领域的发展,并为大语言模型的实际性能和能力提供更准确的评估和洞察。

 




# MimicGen

千亿级大模型正迅速耗尽世界的高质量数据。对此,英伟达和UT提出了MimicGen系统。从人工合成数据中获得人工智能,将是未来的发展方向。AI智能超越人类终破解!李飞飞高徒新作破圈,5万个合成数据碾压人类示例,备咖啡动作超丝滑

AI巨佬Geoffrey Hinton称,「科技公司们正在未来18个月内,要使用比现在GPT-4多100倍的算力训练新模型」。

更大参数的模型,对算力需求巨大的同时,对数据也提出了更高的要求。

但是,更多的高质量数据该从何来?

英伟达高级科学家Jim Fan表示,「合成数据,将为我们饥渴的模型提供万亿个token」。

作为例证,英伟达与UT的研究人员在最新研究中,提出了一个MimicGen系统,能够大量生成机器人训练数据。

论文地址:https://arxiv.org/pdf/2310.17596.pdf

具体过程是,通过在模拟环境中,使用数字孪生技术复制真实世界中,人类的操作数据。

仅用了不到200个人类演示,MimicGen实现了在18个任务、多个模拟环境,甚至是现实世界中,自主生成5万个训练数据。

值得一提的是,这项研究所有数据集全部开源。

w~大模型~合集6_大模型_73

在Jim Fan看来,合成数据和模拟对AI发展非常重要,可以获得更多训练数据,维持学习算法的进步。它不仅适用于机器人领域,也会应用到其他AI领域。

我们正在迅速耗尽来自网络的高质量的真实token。从人工合成数据中获得人工智能,将是未来的发展方向。

恰恰,MimicGen展示了合成数据和模拟的力量,让「缩放法则」(scaling law)得以延续。

准备咖啡,操作如此丝滑

MimicGen实际表现如何,一起看些演示。

在下图的示例中,MimicGen仅从10个人类演示中,为3种不同的环境分布生成了1000个演示。

w~大模型~合集6_大模型_74

下面,将展示MimicGen在跨多个不同任务和环境分布中生成的几个数据集,比如积木堆叠、「穿针引线」、咖啡准备、拼装等等。

w~大模型~合集6_大模型_75

对于从未见过的杯子,MimicGen也能够将其收纳到抽屉里。

w~大模型~合集6_大模型_76

不同的机械臂,也能灵活自如地操作。

w~大模型~合集6_大模型_77

MimicGen在长期复杂的任务中的表现。

w~大模型~合集6_大模型_78

另外,MimicGen适用于需要毫米级精度的接触式任务。

w~大模型~合集6_大模型_79

准备咖啡的过程很丝滑。

w~大模型~合集6_大模型_80

而在其他生成示例中,合成数据都能完成高性能的展示,效果惊人!

w~大模型~合集6_大模型_81

MimicGen:生成式数据无限扩展

可以看到,从人类演示中进行模仿学习,已成为训练机器人执行各种操作行为的有效范例。

最为常见的方法是,人类通过不同的控制接口远程操作机器臂,生成执行各种任务的示例,然后用这些数据训练机器人自己完成这些任务。

然鹅,这种方法既费时,又费力。

另外,研究人员提出了另一个问题,在这些数据集中,实际上有多少数据包含了独特的操作技能?

在最新研究中,作者提出了一种新型系统MimicGen,通过对人类演示进行处理,自动生成不同场景下的大规模数据集,进而用于机器人的模仿学习。

具体来说:

- 人类远程操控机器人完成一个任务,生成非常高质量演示数据,但缓慢且昂贵。

- 在高保真的GPU加速的模拟环境中,创建机器人和场景的数字孪生。

- 在模拟环境中移动对象,替换新的物体,甚至改变机械臂,基本上是使用程序生成的方式扩充训练数据。

- 导出成功的场景,提供给神经网络进行训练。这样就获得了一个近乎无限的训练数据流。

总而言之,这项研究的主要贡献在于,展示了MimicGen可以在各种新的场景配置、对象实例和机械臂上生成高质量数据,来通过模仿学习训练出熟练的智能体,这些都是人类演示中没有的。

w~大模型~合集6_大模型_82

MimicGen广泛适用于需要不同操作技能的长序列任务和高精确度任务,比如抓放、组装等。

在2个模拟环境和1个物理机械臂上,只用大约200个人类演示就生成了5万个新的演示,涵盖18个任务。

与收集更多人类演示相比,这一方法更加优越。

使用MimicGen生成的合成数据(例如从10个人类演示生成200个演示)与200个人类演示训练出的智能体性能相当。

论文细节

问题设定

模仿学习

研究人员将每一个机器人操纵任务视为一个马尔可夫决策过程(MDP),并旨在学习一个将状态空间S映射到动作空间A的机器人操纵策略。

问题陈述和假设

研究人员的目标是使用一个源数据集D1,该数据集由在任务M上收集的一小组人类演示组成,并用它来生成一个大型的数据集D(用于相同任务或任务变体,其中初始状态分布 D、对象或机器人臂可能发生变化)。

生成新演示的步骤如下:

(1)从研究人员想要生成数据的任务中抽样一个起始状态,

(2)从D1中选择并适应一个演示以生成一个新的机器人轨迹τ',

(3)机器人在当前场景中执行轨迹τ',如果任务成功完成,则将状态和动作的序列添加到生成的数据集D中(具体的每一步请参见方法)。接下来,研究人员概述系统利用的一些假设。

假设 1:增量末端执行器位姿( delta end effector Pose)动作空间。动作空间(action space)A包括用于末端执行器控制器和夹持器开/关命令的增量位姿命令。

这使研究人员能够将演示中的动作视为末端执行器控制器的一系列目标位姿。

假设 2:任务由已知的对象中心子任务序列组成。设 O = {o₁, ..., oₖ} 为任务 M 中的对象集合。

w~大模型~合集6_大模型_83

研究方法

研究人员展示了如何使用一个小型的人类演示源数据集来生成新的演示(下图 2 )。

w~大模型~合集6_大模型_84

MimicGen首先将源数据集解析为多个段(segment) — 每个段对应于任务中的一个对象中心子任务。

然后,为了在新场景中生成一个演示,MimicGen会为每一个子任务生成并执行一个轨迹(末端执行器控制位姿的序列,sequence of end-effector control poses)。

方法是从源示例中选择一个参考段,根据新场景中对象的位姿进行转换,然后使用末端执行器控制器执行目标位姿的序列。

将源数据集解析为对象中心的段

每个任务都由一系列对象中心的子任务组成 — 研究人员希望将源数据集中的每个轨迹τ解析为多个段 {τᵢ}ₘⁱ=₁,其中每个段τᵢ对应于一个子任务Sᵢ(oₛᵢ)。

为新场景转换源数据段

为了在新场景中生成一个任务演示,MimicGen会为任务中的每一个对象中心子任务生成并执行一个段。如上图2(右)所示,这包括每个子任务的三个关键步骤:

(1)在源数据集中选择一个参考子任务段,

(2)为新的上下文转换子任务段,

(3)在场景中执行该段。

w~大模型~合集6_大模型_85

转换源子任务段:研究人员可以将选定的源子任务段 τᵢ 视为末端执行器控制器的目标位姿序列。

执行新段(Executing the new segment)

最后,MimicGen通过在每个时间步取目标位姿,将其转换为增量位姿动作,与源段中相应的抓取器打开/关闭动作配对,并执行新动作来执行新段τ′ᵢ。

以上步骤重复每个子任务,直到执行了最后一个段。

然而,这个过程可能是不完美的——由于控制和手臂运动学问题导致的小轨迹偏差可能导致任务失败。

因此,MimicGen在执行所有段后检查任务成功与否,并仅保留成功的演示。研究人员将成功生成轨迹的数量与总尝试次数之间的比率称为数据生成率。

这个流程只依赖于对象框架和机器人控制器框架——这使得数据生成可以在具有不同初始状态分布、对象(假设它们有规范框架定义)和机器人手臂(假设它们共享末端执行器控制框架的约定)的任务之间进行。

在研究人员的实验中,研究人员为每个机器人操作任务设计了任务变体,其中研究人员改变初始状态分布(D)、任务中的一个对象(O)或机器人手臂(R),并表明 MimicGen 支持这些变体之间的数据收集和模仿学习。

175个人类演示,生成5万个数据集

研究人员将MimicGen应用于多种不同的任务(见下图3)和任务变体,以展示它如何为模仿学习在包括拾取-放置、富有接触性的交互以及关节动作在内的多样化的操控行为生成有用的数据。

w~大模型~合集6_大模型_86

实验和结果

研究人员进行了实验,目的是(1)突出显示MimicGen能够生成数据的多样情境;(2)展示MimicGen与收集额外人类示范相比在努力和数据下游政策性能方面都有优势;(3)提供系统不同方面的洞见;(4)证明MimicGen能在真实世界的机器人手臂上工作。

MimicGen的应用

研究人员概述了几个展示MimicGen有用属性的应用场景。

MimicGen数据大幅提升了代理在源任务上的性能。MimicGen一个直接的应用就是收集某个感兴趣任务的小型数据集,然后为该任务生成更多数据。与在小型源数据集上训练的代理相比,使用MimicGen生成的D0数据集训练的代理表现有显著提升。

MimicGen数据能在广泛的初始状态分布下生成高性能的代理。如下图4所示,使用在广泛的初始状态分布(D1、D2)上生成的数据集训练的代理具有很高的性能。

w~大模型~合集6_大模型_87

MimicGen能为不同对象生成数据。例如,在「Mug Cleanup(马克杯收纳)」任务的源数据集中只有一个马克杯,但研究人员用MimicGen为一个未见过的马克杯(O1)和一组12个马克杯(O2)生成了演示。

MimicGen可以为多种机器人硬件生成数据。研究人员将MimicGen应用于使用Panda手臂的Square和Threading源数据集,并为Sawyer、IIWA和UR5e生成了跨D0和D1重置分布变体的数据集。

将MimicGen应用于移动操纵。在「Mobile Kitchen(移动厨房)」任务中,MimicGen使得成功率从2.0%提升到46.7%。

MimicGen是模拟器不可知的。研究人员证明MimicGen不仅限于一个模拟框架,通过将其应用于在Isaac Gym之上构建的Factory模拟框架中需要毫米级精度的高精度任务。

MimicGen和人类数据对比

MimicGen可以利用少量人类示例生成大规模数据集:

在18个任务中,只用175个人类示例就生成了超过5万个示例。在Square任务中,只用10人类示例就生成了1000个示例,覆盖不同场景配置。

而且MimicGen生成的数据集可以训练出高性能策略,甚至比人类示例的效果好很多:

在Square任务中,从10人类示例的数据集成功率11.3%,从生成数据集成功率可达90.7%。

在复杂的Coffee Preparation任务中,成功率从12.7%提升到97.3%,在高精度装配任务Gear Assembly中,成功率从14.7%提升到98.7%。

MimicGen生成的数据集与人类数据集性能相当:

在Square任务中,200人类示例成功率为12%,200个生成示例成功率为11.3%,在Three Piece Assembly任务中,200人类示例成功率为14%,200生成示例成功率为13.3%。

在机械臂上的表现上,MimicGen生成的数据的Stack任务从源域0%的成功率提升到了36%,Coffee任务,成功率从源域的0%成功率到目标域14%成功功率。

w~大模型~合集6_大模型_88

网友热议

合成数据将主导大部分生成式人工智能行动!

终有一天,人类标注和演示成为过去。

有网友惊呼,这与AGI大差不差了,人类灵巧程度的机器人也会突然能力大爆发。

这正是我之前思考的AI智能超越人类智能,大概率只是时间问题:因为真实世界有限的数据并不是限制,数据可以通过AI合成,之后再投入到模型训练中:Artificial synthetic data ⇒ Training AI ⇒ AI smarter ⇒ Generating more synthetic data ⇒ more into trianing AI model;  Feedback Loop已建立。

有网友表示,「这可以用来生成自动驾驶训练集吗?这样汽车公司就不必仅仅依靠真实世界的数据来训练他们的模型了?」

参考资料:

https://twitter.com/DrJimFan/status/1717930311869444477

https://arxiv.org/abs/2310.17596




# LLaVA-UHD

GPT-4V 的推出引爆了多模态大模型的研究。GPT-4V 在包括多模态问答、推理、交互在内的多个领域都展现了出色的能力,成为如今最领先的多模态大模型。

然而,近期很多工作发现 GPT-4V 在很多基本能力上却意外的出现短板。例如,在微软一篇长达 166 页的技术报告《The Dawn of LMMs:Preliminary Explorations with GPT-4V (ision)》中,作者发现,对于一个不太复杂的图像中的苹果数量,GPT-4V 竟然怎么数也数不对。

w~大模型~合集6_大模型_89

然而,学术界和工业界尚不清楚导致这些问题的底层原因。

这个问题在清华大学、新加坡国立大学和中国科学院大学的一篇题为《LLaVA-UHD: an LMM Perceiving Any Aspect Ratio and High-Resolution Images》的论文中得到了解释。

  • 论文链接:https://arxiv.org/pdf/2403.11703.pdf
  • 项目链接:github.com/thunlp/LLaVA-UHD

其原因在于 GPT-4V 很可能存在:视觉编码漏洞。

该工作对当前最强的商业大模型 GPT-4V 和最受欢迎的开源模型 LLaVA-1.5 进行了实验,揭示了目前多模态大模型中的视觉编码漏洞。

w~大模型~合集6_大模型_90

漏洞 1:GPT-4V 将图像进行有重叠的切片后再编码

作者首先设计了一个实验来观察:图像中的位置如何影响 GPT-4V 的计数回答。

具体来说,作者合成了如图 1 (a) 所示的图像,并向 GPT-4V 提问题:“图像中有多少个圆圈?” 同时,通过改变圆圈的位置而保持提问不变,进一步生成了一系列图像变体。

图 1 (b) 中以热图的形式显示了 GPT-4V 对图像中每个位置平均回答的数量,作者发现了一个与图像中目标位置高度相关的有趣模式如图 1(b)所示,具体表现为被 256×256 的正方形网格分割的三种不同模式:

(1) 中央正方形区域展示了最高的响应数量,

(2) 中间边缘区域的响应数量较低,

(3) 角落区域的响应数量最接近于真实值。

在对 GPT-4V 的响应进行数值区分后,作者发现除了正确答案和接近正确答案的情况,还有两种异常答案(8 个圆和 16 个圆),这些异常答案呈现了答案数量翻倍或四倍的错误模式。结合 OpenAI 公开的信息,这一现象的最可能原因是,当图像分辨率无法被 512 整除时,GPT-4V 处理图像的切片之间会出现重叠。如图 1 (e) 所示,两个切片之间的重叠区域导致数量翻倍,而四个切片的交叉重叠区域会使得识别出的数量增加至四倍。

w~大模型~合集6_大模型_91

作者设计了另一个实验来观察:图像分辨率如何影响 GPT-4V 的计数回答。

具体来说,作者将图 2 (a) 中的图像按比例缩放至连续递增的分辨率,并询问 GPT-4V 其中圆圈的个数。

w~大模型~合集6_大模型_92

图 2 (b) 中展示了 GPT-4V 的回答结果。随着图像分辨率的变化,GPT-4V 的回答显示出显著的相位变化:(1)在第 1 阶段,由于没有图像切片,大多数答案是正确的;(2)在第 2 阶段,答案 12 在响应中占主导地位,可能是由于每个切片中的圆不完整;(3)第 3 阶段显示了 9、12 和 16 的混合答案。请注意,16 可以很好地解释图 1 (e) 中的错误模式。

以上两个实验结果揭示了 GPT-4V 在处理高分辨率图像时存在重叠切片,导致错误响应,启发作者需要进一步研究更合理的图像预处理和编码方式。

漏洞 2:LLaVA-1.5 进行大范围的图像填充(Padding)

LLaVA-1.5 作为出色的开源多模态大模型被学术界广泛关注。

为了处理具有不同长宽比的图像,LLaVA-1.5 在将图像输入视觉编码器之前将其填充为正方形。这种编码方法导致非正方形图像的计算浪费。例如,将 1:4 图像填充为正方形后,有效计算量仅为 25%。

更重要的是,LLaVA-1.5 实际上无法确定填充像素是来自图像预处理还是原始输入图像的实际部分。

w~大模型~合集6_大模型_93

为了演示这个问题,作者合成了一系列输入图像,如图 3(右)所示,其中不同长宽比的绿色矩形被灰色(即填充对应的 RGB 值)所包围。给定输入图像,作者提示:“最左 / 最右 / 最上 / 最下区域的颜色是什么?” 从图 3(左)的结果中,作者观察到 LLaVA-1.5 忽略了灰色输入区域(将其视为填充),并置信地回答了中心矩形的颜色。

综合以上 2 个明显的视觉编码漏洞可以知道,多模态模型中的视觉策略必须谨慎设计。常见做法,如填充、形状扭曲调整和重复切片,可能导致计算资源的浪费、模型能力的丧失,甚至容易受到对抗性攻击。

于是,作者提出 LLaVA-UHD,该模型可以对 180 万像素任意长宽比图像进行编码,相比于 LLaVA-1.5 在 9 个主流评测基准实现提升,训练和推理计算开销相比于 LLaVA-1.5 均有显著下降。

w~大模型~合集6_大模型_94

LaVA-UHD 包括三个关键部分:一种图像模块化策略,将原始分辨率的图像分成更小的可变大小的切片,以便进行高效和可扩展的编码;一个压缩模块,进一步压缩来自视觉编码器的图像 tokens,一个空间装饰模式,用于为 LLMs 组织片段 tokens。

图像模块化策略中主要包含两个部分:

1. 高分辨率图像划分策略(如图 4 左侧)。目标是确定高分辨率图像的划分方式,使每个切片的分辨率变化最小。给定图像分辨率和和在固定分辨率上预训练的 ViT,首先确定处理图像所需的切片数。然后将切片数因式分解为和几种划分方式。为了选择最合适的划分,作者定义一个评分函数来衡量与 ViT 标准预训练设置的偏差,进而选择最佳的划分方法。

2. 任意宽高比切片编码(如图 4 右侧)。目的是等比例调整图像以适应预训练模型的位置嵌入数量。首先将 ViT 的 1D 位置嵌入转换为 2D 格式,并进行插值以匹配动态切片分辨率,从而获得自适应图像尺寸的视觉编码。实验表明,此方法在保持 ViT 和位置嵌入参数不变的情况下,通过后期微调即可提升性能。此外,还编码一张低分辨率概览图像,有助于提供全局语义信息,增强模型对图像的整体理解。 

LLaVA-UHD 利用压缩模块(Resampler)压缩每张切片的 tokens,实现比 LLaVA-1.5 在 336×336 分辨率图像中更低的计算成本来编码 672×1008 分辨率的图像。由于图像切片在不同图像之间是动态的,因此有必要通过位置修饰符来告知 LLM 图像切片的相对位置。

w~大模型~合集6_大模型_95

表 1 报告了主要的实验结果。在性能表现上,LLaVA-UHD 相对于 LLaVA-1.5 取得了显著的改进。通过简单地感知原生高分辨率图像,LLaVA-UHD 在 TextVQA 上实现了 6.4 的准确率提升,在 POPE 上实现了 3.2 的准确率提升。原因在于低分辨率图像中的模糊内容可能会阻止 LMMs 准确识别具有挑战性的细粒度目标和 OCR 字符。在计算效率和可拓展性上,LLaVA-UHD 仅使用 94% 的推理计算即支持任意宽高比的 672×1088 分辨率图像,能够适应更大分辨率的拓展。

w~大模型~合集6_大模型_96

为了更直观地展示 LMM 在处理高分辨率图像方面的能力,在图 5 中提供了 LLaVA-UHD 和 LLaVA-1.5 的定性结果。可以看到,LLaVA-UHD 可以正确识别课表上的密集内容,小海报上的文字以及手机上的图标和文字,实现了细粒度的识别和推理。

未来展望

LLaVA-UHD 将图像分辨率限制在最大 672×1008。但是在未来,考虑到其具有潜力的效率和可扩展性,将探索更高分辨率的图像以及更具挑战性的任务,如小目标检测和分割。此外,目前图像片段是独立编码的,只在 LLMs 中进行交互。计划通过改进的视觉编码策略,在图像片段之间建立高效的连接,实现细粒度全局信息交互。