Skip to content
LLMs 能否可视化图形?评估人工智能对符号程序的理解
大型语言模型(LLMs)已经展示了生成通用计算机程序的能力,并提供了对程序结构的理解。然而,测试 LLMs 的真实能力是一个挑战,尤其是在找到它们训练期间未见过的任务时。确定 LLMs 是否能真正“理解”这些在执行时生成视觉内容的符号图形程序至关重要。研究人员将这种理解定义为在仅基于程序的原始文本输入的情况下,理解呈现图像的语义内容。这种方法涉及在不实际查看图像的情况下回答有关图像内容的问题,这对于有视觉输入的情况来说很容易,但仅依赖程序文本则要困难得多。
现有的符号图形程序研究主要集中在 2D 形状和 3D 几何的程序化建模上。这些程序包括构造实体几何(CSG)、计算机辅助设计(CAD)和可扩展矢量图形(SVG),它们提供了清晰且可解释的视觉内容表示。此外,LLMs 已被应用于各种编程任务,如代码检索、自动化测试和代码生成;然而,理解符号图形程序与这些任务有很大不同,因为其语义意义通常是通过视觉定义的。现有的 LLMs 评估基准主要关注非图形程序的理解,而视觉语言模型则使用多模态数据集进行图像字幕生成和视觉问答等任务的评估。
来自马普智能系统研究所、剑桥大学和麻省理工学院的研究人员提出了一种新的方法来评估和增强 LLMs 对符号图形程序的理解。引入了名为 SGP-Bench 的基准,用于测试 LLMs 在解释 SVG(2D 矢量图形)和 CAD(2D/3D 对象)程序方面的语义理解和一致性。此外,基于一个名为符号指令调优的收集指令跟随数据集,研究人员开发了一种新的微调方法以提升性能。此外,研究人员创建的符号 MNIST 数据集显示了 LLM 和人类在理解符号图形程序方面存在重大差异。
构建评估 LLMs 符号图形程序理解能力的基准过程采用了一个可扩展且高效的流水线。它使用一个强大的视觉语言模型(GPT-4o)根据符号程序渲染的图像生成语义问题,进一步由人工校对人员验证这些自动生成的问答对的质量和准确性。与传统的数据创建方法相比,这种方法减少了所需的人工工作。对于 SVG 和 2D CAD 程序,这个过程很简单,因为它们直接生成 2D 图像,但在 3D CAD 程序中,3D 模型首先需要从多个固定的摄像机位置转换为 2D 图像。
LLMs 对符号图形程序理解的评估是在由 1,000 个生成类似 MNIST 数字图像的 SVG 程序组成的 SGP-MNIST 数据集上进行的,每个数字(0-9)有 100 个程序。虽然人类可以轻松识别这些图像,但 LLMs 发现解释这些符号程序极其具有挑战性。即使是先进的 GPT-4o 模型也仅比随机猜测稍好。人类和 LLMs 在处理和理解视觉信息符号表示方面的显著差异突显了一个重要的差距。
综上所述,研究人员提出了一种新的评估 LLMs 的方法,通过评估它们直接从符号图形程序中理解图像的能力,而无需视觉输入。研究人员创建了 SGP-Bench,这是一个有效衡量 LLMs 在这一任务中表现的基准。他们还引入了符号指令调优(SIT)以增强 LLMs 解读图形程序的能力。这项研究有助于更清晰地了解 LLMs 的能力,并促进多样化评估任务的创建。未来的研究包括调查 LLMs 在这一领域的语义理解,并致力于开发先进的方法以提高它们在这些任务中的性能。
零样本即可时空预测!港大、华南理工等发布时空大模型UrbanGPT | KDD 2024
UrbanGPT是一种创新的时空大型语言模型,它通过结合时空依赖编码器和指令微调技术,展现出在多种城市任务中卓越的泛化能力和预测精度。这项技术突破了传统模型对大量标记数据的依赖,即使在数据稀缺的情况下也能提供准确的预测,为城市管理和规划提供了强大的支持。
时空预测技术致力于深入分析和预测动态的城市环境,它不仅关注时间的变化,也考虑空间的布局。这项技术的目标是揭示城市生活中交通、人口迁移和犯罪率等各个方面的未来趋势和模式。尽管许多研究集中于利用神经网络来提高时空数据预测的准确性,但这些方法通常需要大量的训练数据来生成可靠的时空特征。
然而,在实际的城市监测场景中,数据往往不足,特别是在某些情况下,收集有标记的数据变得非常困难,这进一步加剧了挑战。因此,开发一个能够适应不同时空背景并具备强大泛化能力的模型显得尤为关键。
受到大型语言模型(LLMs)在多个领域的显著进展的启发,香港大学、华南理工大学等机构的研究人员发布了一个全新的时空大语言模型UrbanGPGT,将时空依赖的编码器和指令微调技术相结合,其目标是开发一个能够广泛适用于城市任务的时空大型语言模型。
项目链接:https://urban-gpt.github.io/
代码链接:https://github.com/HKUDS/UrbanGPT
论文链接:https://arxiv.org/abs/2403.00813
视频展示:https://www.bilibili.com/video/BV18K421v7ut
这种结合使得模型能够深入理解时间和空间的复杂关系,并在数据有限的情况下提供更全面和精确的预测。
为了测试这一方法的有效性,我们在多个公共数据集上进行了广泛的实验,这些实验涉及多种时空预测任务。实验结果一致显示,UrbanGPT 在性能上始终超越了现有的顶尖模型。这些成果证明了在数据标记较少的情况下,利用大型语言模型进行时空学习的巨大潜力。
概述
现有挑战
C1. 标签数据的稀缺性与重新训练成本高昂: 尽管现有的时空神经网络在预测准确性方面表现出色,但它们对大量标注数据的依赖性极大。
在实际的城市监测环境中,数据的稀缺性是一个显著的障碍。例如,考虑到成本问题,在整个城市范围内部署传感器来监测交通流量或空气质量是不现实的。此外,现有的模型在面对新的地区或城市预测任务时,往往缺乏足够的泛化能力,需要重新训练才能生成有效的时空特征。
C2. 大型语言模型和现有时空模型在零样本场景下的泛化能力不足: 如图2所示,大型语言模型LLaMA能够根据输入文本推断流量模式。然而,它在处理具有复杂时空依赖性的数字时间序列数据时,有时会出现预测失误。
与此同时,虽然预训练的基线模型在编码时空依赖关系方面表现良好,但它们可能会因为过度适应源数据集而在零样本场景中表现不佳。
C3. 将大型语言模型的推理能力扩展到时空预测领域: 时空数据的独特性质与大型语言模型中编码的知识之间存在显著差异。如何缩小这种差异,进而构建一个在广泛的城市任务中具有卓越泛化能力的时空大型语言模型,是一个亟待解决的重要问题。
图1:与LLM和时空图神经网络相比,UrbanGPT 在零样本场景下有着更好的预测性能
现有挑战
(1)据我们了解,这是首次尝试创建一个能够跨多个数据集预测各种城市现象的时空大型语言模型,特别是在训练数据有限的情况下。
(2)本文介绍了一个名为UrbanGPT的时空预测框架,它允许大型语言模型深入理解时间和空间之间的复杂联系。通过将时空依赖编码器与指令微调技术紧密结合,有效地将时空信息融入语言模型中。
(3)在真实世界数据集上进行的广泛实验验证了UrbanGPT在零样本时空学习环境中的卓越泛化能力。这些结果不仅展示了模型在预测和理解时空模式方面的高效性,还证明了其在缺乏样本的情况下依然能够提供准确的预测。
方法
图2:UrbanGPT 整体框架
时空依赖编码器
尽管大型语言模型在处理语言文本方面取得了显著成就,但它们在解析时空数据中的时序变化和动态模式时仍存在挑战。
为了应对这一问题,本研究提出了一种创新的方法,即整合时空依赖编码器,以提升大型语言模型在捕捉时空上下文中的时间序列依赖性的能力。
具体来说,我们设计的时空编码器由两个核心组件构成:一个是门控扩散卷积层,另一个是多层次关联注入层。
上式 为初始化时空嵌入,从原始时空数据中获取。Er’是Er的切片,用于进行残差操作以缓解梯度消失。
我们使用一维扩散卷积来编码时间关联。
Sigmoid 激活函数δ 用于控制多层卷积运算的信息保留程度。
经过门控时间扩展卷积层的处理,我们能够精确地捕捉到连续多个时间步长内的时间序列依赖性,进而生成丰富的时间特征表示。这些表示涵盖了多层次的时间依赖关系,揭示了不同粒度级别的时间演变模式。
为了完整地保留这些时间信息,我们引入了一种多层次关联注入层,该层特别设计用于捕捉并整合不同层次之间的相互联系:
其中是形如的卷积核,在通过L层的编码处理之后,我们利用一个简单的线性层将门控扩散卷积层和多层次关联注入层的输出进行整合,最终生成的时空依赖性特征表示为
为应对可能在各种城市场景中出现的复杂情况,本文设计的时空编码器在处理空间相关性时不依赖于特定的图结构。这是因为在零样本预测环境中,实体间的空间联系往往是未知的或难以预测的。这样的设计使得UrbanGPT能够在广泛的城市应用场景中保持其适用性和灵活性。
时空指令微调框架
时空数据-文本对齐
为了使语言模型能够深入理解时空动态,确保文本内容与时空数据的一致性是关键。这种一致性使得模型能够整合多种数据类型,生成更加丰富的数据表示。通过将文本内容与时空领域的上下文特征相结合,模型不仅能够捕捉到补充性的信息,还能够提炼出更高层次的、具有更强表现力的语义特征。
为了实现这一点,本文采用轻量对齐模块来投影时空依赖性表示。
投影操作采用线性层参数进行,其中dL表示大语言模型常用的隐藏维度。所得到的投影 ,在指令中使用特殊的标记表示为:,,…,,。在这里, 和 是用来标记时空信息起始和终止的特殊符号,它们可以通过扩展词汇库的方式被纳入到大型语言模型中。
占位符 代表时空标记,它对应于隐藏层中的向量 H。利用这种技术,模型能够识别时空依赖关系,这显著增强了其在城市环境中进行时空预测任务的能力。
时空提示指令
在进行时空预测时,时间和空间数据都蕴含着关键的语义信息,这些信息对于模型捕捉特定情境下的时空规律至关重要。
比如,交通流量在早晨和高峰时段会有显著变化,商业区与住宅区的交通模式也各有不同。因此,将时间与空间信息作为提示文本引入时空预测任务,可以显著提升模型的预测效果。我们利用大型语言模型在文本理解方面的专长来处理这些信息。
在UrbanGPT的架构中,我们整合了不同粒度的时间数据和空间细节,作为大型语言模型的指令输入。时间信息涵盖了一周中的日期和具体时间点,而空间信息则包括城市区域、行政区划以及周边的兴趣点(POI)等,如图3所示。
通过整合这些多样化的元素,UrbanGPT能够深入识别并理解在复杂时空背景下,不同区域和时间段的时空动态,进而提升其在零样本情况下的推理能力。
图3: 编码时间和位置感知信息的时空提示指令
大语言模型的时空指令微调
在利用指令微调大型语言模型(LLMs)生成时空预测的文本描述时,面临两大挑战。一方面,时空预测通常基于数值型数据,这些数据的结构和模式与自然语言处理中的语言模型所擅长的语义和句法关系不同。
另一方面,LLMs在预训练阶段通常采用多分类损失函数来预测词汇,这导致其生成的是词汇的概率分布,而时空预测任务则需要连续值的输出。
为了克服这些问题,UrbanGPT采取了一种创新的方法。它不是直接预测未来的时空值,而是生成辅助性的预测标记。这些标记随后通过一个回归层处理,将模型的隐藏层表示转换为更精确的预测值。这种方法使得UrbanGPT能够更有效地进行时空预测。
上式中预测标记的隐藏表征用表示,其中预测标记可通过扩充LLMs词表的方式引入。W1,W2,W3为回归层的权重矩阵,[⋅,⋅]为拼接操作。
实验
零样本预测性能
相同城市内未见区域的预测
在跨区域预测中,我们利用同一城市中某些区域的数据来预测模型未接触过的其他区域的未来状况。通过深入分析模型在此类跨区域预测任务中的表现,我们注意到:
(1)卓越的零样本预测能力。表1中的数据展示了所提出模型在不同数据集上的回归和分类任务中超越基线模型的优异表现。UrbanGPT的出色表现主要归功于两个核心要素。
i)时空数据-文本对齐。将时空上下文信号与语言模型的文本理解能力对齐,对模型的成功至关重要。这种整合使得模型能够充分利用编码自时空信号的城市动态信息,同时结合大语言模型对文本上下文的深入理解,从而扩展了模型在零样本场景下的预测能力。
ii)时空指令的微调。通过自适应调整,LLMs能够更有效地吸收指令中的关键信息,提升其对空间和时间因素复杂关系的理解。UrbanGPT通过将时空指令微调和时空依赖编码器相结合,成功地保留了通用且可转移的时空知识,实现了在零样本场景中的准确预测。
(2)对城市语义的深入理解。城市语义提供了对空间和时间特性的深刻洞察。通过在多种数据集上训练模型,增强了其对不同时间段和地理位置的时空动态的理解。
相比之下,传统的基准模型通常更注重编码时空依赖关系,而忽略了区域、时段和数据类型之间的语义差异。通过将丰富的语义信息融入UrbanGPT,我们显著提升了其在未见过的区域中进行精确零样本预测的能力。
(3)在稀疏数据环境中,提升预测性能。在数据点稀疏的环境中预测时空模式是一项挑战,主要因为模型在这种情况下容易过拟合。例如,在预测犯罪等场景中,数据往往较为稀疏,这使得基线模型在跨区域预测任务中表现不佳,召回率低,暗示可能存在过拟合的问题。
为解决这一挑战,我们的模型采用了一种创新的策略,将时空学习与大型语言模型相结合,并通过有效的时空指令微调方法进行优化。这种方法通过整合丰富的语义信息,增强了模型对时空数据的理解和表示能力,使其能够更有效地处理稀疏数据,并显著提高了预测的准确性。
表1:跨区域零样本预测场景性能比较
跨城市预测任务
为了检验模型在不同城市间的预测能力,我们选择了芝加哥的出租车数据集进行实验验证。(注意,此数据集并未在训练阶段使用)。如图4所示,测试结果表明,模型在所有时间点上均展现出优于对比方法的性能,这证明了UrbanGPT在跨城市知识迁移方面的有效性。
通过将时空编码器与时空指令微调技术相结合,模型能够捕捉到普遍性和特殊性并存的时空规律,从而进行更准确的预测。此外,模型通过综合考虑不同的地理位置、时间因素以及学习到的知识迁移,能够将不同功能区域和历史时期的时空模式联系起来。这种全面的时空理解为在跨城市场景中进行精确的零样本预测提供了关键的洞察。
图4:跨城市零样本预测场景性能比较
典型的有监督预测任务
本章节重点研究UrbanGPT在完全监督的预测环境中的表现,具体来说,我们通过使用时间跨度较大的测试数据集来评估模型在长期时空预测任务中的效果。例如,模型使用2017年的数据进行训练,并用2021年的数据进行测试。
测试结果显示,UrbanGPT在长期时间跨度的预测任务中明显优于基线模型,这突出了其在处理长期预测时的卓越泛化能力。这一特性减少了对频繁重新训练或增量更新的需求,使得模型更加适合实际应用场景。此外,实验结果还证实,引入额外的文本信息不仅不会影响模型的性能,也不会引入噪声,这进一步证明了利用大型语言模型来增强时空预测任务的有效性。
表2:端到端有监督设置下的预测性能评估
消融实验
(1)时空上下文的重要性:STC。 当从指示文本中移除时空信息后,模型的性能出现了下降。这可能是因为缺少时间信息,使得模型只能依赖时空编码器来处理与时间相关的特征并执行预测任务。同时,空间信息的缺失也限制了模型捕捉空间相关性的能力,使得分析不同区域的时空模式变得更加困难。
(2)多数据集指令微调的效果:Multi。 我们仅在NYC-taxi数据集上对模型进行训练。由于缺乏其他城市指标的信息,这限制了模型揭示城市时空动态的能力。因此,模型的表现欠佳。通过整合来自不同城市的不同时空数据,模型能够更有效地捕捉不同地理位置的独特特征和时空模式的演变。
(3)时空编码器的作用:STE。 当从模型中移除时空编码器时,结果表明,这种缺失显著降低了大语言模型在时空预测任务中的预测能力。这突出了时空编码器在提升模型预测性能中的关键作用。
(4)指令微调中的回归层:T2P。 我们指导UrbanGPT直接以文本格式输出其预测结果。模型的性能表现不佳,主要是因为在训练过程中依赖于多类损失函数进行优化,这导致了模型输出的概率分布与时空预测任务所需的连续值分布不匹配。为了解决这个问题,我们在模型中引入了一个回归预测器,显著提升了模型在回归任务中生成更准确数值预测的能力。
图5:UrbanGPT消融实验
模型鲁棒性研究
在本节中,我们对UrbanGPT在处理不同时空模式场景时的稳定性进行了评估。我们根据特定时间段内数值变化的幅度(如出租车流量)对区域进行区分。较小的方差通常意味着区域具有稳定的时间模式,而较大的方差则暗示着区域的时空模式更为多样化,常见于商业活跃区或人口密集区。
如图6所示,多数模型在方差较低的区域表现出色,因为这些区域的时空模式较为一致和可预测。然而,基线模型在方差较高的区域表现不佳,尤其是在方差处于(0.75, 1.0]区间的区域,这可能是因为基线模型在零样本场景下难以准确推断出这些区域复杂的时空模式。在城市管理中,如交通信号控制和安全调度等,对人口密集或繁华区域的准确预测至关重要。UrbanGPT在(0.75, 1.0]区间内显示出显著的性能提升,这证明了其在零样本预测场景中的强大能力。
图6:模型鲁棒性研究
案例研究
案例研究对不同大型语言模型在零样本时空预测场景中的有效性进行了评估,结果如表3所示。研究结果表明,各类LLMs能够根据提供的指令生成预测,这验证了提示设计的有效性。
具体来看,ChatGPT在预测时主要依赖于历史平均值,而没有明确地将时间或空间数据纳入其预测模型中。Llama-2-70b虽然能够分析特定时间段和区域,但在处理数值时间序列的依赖性时遇到了挑战,这影响了其预测的准确性。
相比之下,Claude-2.1能够更有效地总结和分析历史数据,利用高峰时段的模式和兴趣点来实现更准确的流量趋势预测。
而我们提出的UrbanGPT通过时空指令微调的方式,将时空上下文信号与大型语言模型的推理能力紧密结合,显著提升了预测数值和时空趋势的准确性。这些发现突出了UrbanGPT在捕捉普遍时空模式方面的潜力和有效性,使得零样本时空预测成为可能。
表3:不同的LLMs对纽约市自行车流量的零样本预测案例
总结与展望
本研究提出了UrbanGPT,这是一种具备在多样城市环境中良好泛化能力的时空大型语言模型。为了实现时空上下文信号与大型语言模型(LLMs)的无缝整合,本文提出了一种创新的时空指令微调方法。这种方法赋予了UrbanGPT在各种城市数据中学习普遍和可迁移的时空模式的能力。通过广泛的实验分析,证明了UrbanGPT架构及其核心组件的高效性和有效性。
尽管当前的成果令人振奋,但未来研究中仍有一些挑战需要克服。首先,我们将积极收集更多类型的城市数据,以增强UrbanGPT在更广泛城市计算领域的应用能力。其次,理解UrbanGPT的决策机制同样重要。尽管该模型在性能上表现出色,但提供模型预测的可解释性也是未来研究的关键方向。未来的工作将致力于使UrbanGPT能够解释其预测结果,从而增加其透明度和用户信任。
参考资料:
https://arxiv.org/abs/2403.00813
万字技术干货!LLM工程师必读量化指南,可视化图解揭秘大模型如何压缩
面对LLM逐渐膨胀的参数规模,没有H100的开发者和研究人员们想出了很多弥补方法,「量化」技术就是其中的一种。这篇可视化指南用各种图解,将「量化」的基本概念和分支方法进行了全方位总结。
大语言模型(LLM)通常过于庞大,无法在消费级硬件上运行。这些模型的参数可能超过数十亿,通常需要显存较大的GPU来加速推理过程。
因此,越来越多的研究开始关注如何缩小模型,比如改进训练方法或使用适配器。该领域的一项主要技术被称为量化(quantization)。
ML工程师Maarten Grootendorst撰写了一篇博客文章,在语言建模背景下专门介绍了量化技术,并通过可视化的方法逐一探索相关概念,以帮助我们建立对该技术的直观理解。
在这篇博文中,Maarten将探讨各种方法、使用案例以及量化背后的原理。
文章目录以及涵盖内容如下图所示,主要介绍了训练后量化(PTQ)以及量化感知训练(QAT)两种方法,建议有AI基础的读者直接跳转至对称量化部分:
第一部分:LLM的「问题」
「大语言模型」就是大在模型参数量上,规模通常达到数十亿的级别(其中主要是权重)。
这些参数不仅存储成本相当高,推理阶段的计算量也很大。
在推理过程中,激活值是输入和权重的乘积,因此权重数量越多,激活值也会越大。
因此,我们希望尽可能高效地表示数十亿个值,从而尽可能减少存储参数所需的空间。
让我们从头开始,探索数值是如何表示的,然后再进行优化。
如何表示数值
数值存储的形式通常是浮点数(floting point number,或简称为floats):一个带有小数点的正数或负数。
这些值由每一位(bit)上的二进制数字表示。
IEEE-754标准描述了每一位上的数字如何表示具体数值,具体来说共有三种映射:符号、指数或小数(尾数)。
这三个部分可以结合起来,根据一组bit值计算出所表示的数值:
使用的位数越多,表示的数值值通常越精确,比如FP32形式就能比FP16精确到小数点后更多位数:
内存限制
可用的位数越多,不仅数值越精确,可表示的数值范围也越广。
给定位数和表示形式,可表示的数值区间称为动态范围(dynamic range),而两个相邻值之间的距离称为精度(precision)。
这种表达形式的一个巧妙特性在于,我们可以计算出设备需要多少内存来存储某个给定值。
由于内存中的每个字节含有8位,我们可以为大多数形式的浮点数创建一个基本公式——
在实际应用中,还有更多因素会影响推理过程中所需的显存/内存大小,例如上下文大小和模型架构
现在假设我们有一个包含700亿参数的模型。大多数模型本身使用32位浮点数(通常称为全精度)表示,这需要280GB的内存来加载模型。
但如果能将所有参数用16位浮点数表示,所需的内存大小就可以直接减少一倍。
因此,将模型参数的表示位数最小化(不仅是推理,还有训练过程)是非常有吸引力的。
然而,这种方法不是没有代价的。随着表示位数减少导致精度降低,模型的准确性通常也会下降。
我们希望在保持准确性的同时减少表示数值的位数……此时,量化技术就派上用场了。
第二部分:量化入门
现在我们知道,量化的目的是将模型参数的精度从较高位宽(如32位浮点数)降低到较低位宽(如8位整数)。
在减少表示原始参数的位数时,通常也会伴随一些精度(粒度,granularity)的损失。
为了让这种效果更直观,我们可以用照片颜色作为类比。比如,选择任意图像(左图),但只用8种颜色表示(右图):
注意看,放大的曲奇饼干看起来比原来更有「颗粒感」。
与之相似,量化的主要目标是减少表示原始参数所需的比特数(颜色),同时尽可能保留原始参数的精度。
常见数据类型
首先,让我们看看常见的数据类型以及使用它们替代32位(称为全精度或FP32)表示的影响。
FP16
首先是一个从32位到16位(称为半精度或FP16)浮点数的例子:
FP16可取的数值范围比FP32小得多。
BF16
为了获得与原始FP32相似的数值范围,引入了bfloat 16作为一种「截断的FP32」类型:
BF16使用的位数与FP16相同,但增加了指数位,因此能取到更广泛的数值范围,常用于深度学习领域。
INT8
进一步减少位数时,就更接近整数而非浮点数的表示方法。比如,从FP32到只具有8位的INT8,只有原始位数的1/4:
每次减少位数时,都会进行映射,将初始的FP32表示「压缩」到较少的位数中。
但在实际操作中,我们不需要将整个FP32范围[-3.4e38, 3.4e38]全部映射到INT8中。我们只需找到一种方法,将实际模型参数的数据范围映射到INT8中。
常见的压缩/映射方法可以有对称量化和非对称量化两种,都属于线性映射。
接下来将要探讨的就是从FP32到INT8的量化方法。
对称量化
在对称量化中,原始浮点值的范围被映射到量化空间中以零为中心的对称范围,量化前后的范围都以零为中点。
这意味着,原来浮点空间中的零,映射到量化空间后也恰好是零。
一种对称量化的典型例子是最大绝对值(absmax)量化。
给定一个数值列表,我们取其中最高的绝对值(α)作为执行线性映射的范围。
[-127, 127]表示受限范围(restricted range),未受限范围是[-128, 127],取决于量化方法
由于这是一个以零为中心的线性映射,公式很简单。
首先用以下公式计算比例因子(s):
– b是我们要量化到的字节数(8)
– α是最高的绝对值
然后,我们使用s来量化输入x:
如上图所示,最大绝对值α为10.8,将FP32映射到INT8时,即有如下公式:
如果要恢复原始的FP32值,也可以使用先前计算的比例因子(s)来进行反量化。
先量化,再反量化以恢复原始值,全过程如下所示:
可以看到某些值,如3.08和3.02,在量化为INT8时都是36。因此进行反量化恢复到FP32时,它们失去了一些精度并且不再可区分。
这种原始值和反量化值之间的差异被称为量化误差。通常,量化结果的位数越少,误差越大。
非对称量化
与对称量化不同,非对称量化不是以零为中心的对称。相反,它将浮点范围内的最小值(β)和最大值(α)分别映射到量化范围的最小值和最大值。
这里我们探讨的方法被称为零点量化(zero-point quantization)。
注意0的位置是如何移动的。这就是为什么它被称为非对称量化。在范围[-7.59, 10.8]中,最大值和最小值到0的距离不同。
由于零点位置的偏移,我们必须计算INT8范围内的零点才能执行线性映射。与之前一样,我们还必须计算比例因子(s),但使用INT8范围的差值[-128, 127]。
由于需要在INT8范围内计算零点(z)以移动权重,这有点复杂。
像之前一样,让我们填入公式:
为了将量化后的值从INT8反量化回FP32,我们需要使用先前计算的比例因子(s)和零点(z)。
除此之外,反量化很简单:
当我们将对称和非对称量化并排放置时,可以快速看出两种方法之间的区别:
在上图中,我们能看到对称量化的零中心特性与非对称量化的偏移。
范围映射和剪裁(Clipping)
在之前的例子中,我们探讨了如何将给定向量中的值范围映射到低位表示。虽然这样可以映射整个向量值的范围,但有一个主要缺点,即异常值(outlier)。
想象一下,你有一个包含以下值的向量:
一个值比其他所有值都大得多,可以被认为是异常值。如果我们映射整个向量的范围,所有小值将被映射到相同的低位表示,并失去它们的区分度:
这是之前使用的absmax方法。如果不进行剪裁,非对称量化也会发生同样的情况
相反,我们可以选择剪裁某些值。剪裁是指设置原始值的不同动态范围,使所有异常值都被设为相同的值。
在下面的例子中,我们手动将动态范围设置为[-5, 5],所有超出该范围的值将被映射到-127或127,无论它们的实际值是多少:
这种方法的主要优点是非异常值的量化误差显著减少。然而会导致异常值的量化误差增加。
校准(Calibration)
上面的例子中,我们随机将动态范围设置为[-5, 5],但其实应该通过「校准」过程做出决定,找到一个合适的范围,包含尽可能多的值,同时最小化量化误差。
校准步骤的具体执行对于不同类型的参数是不一样的。
权重(和偏置)
我们可以将大语言模型(LLM)的权重和偏置(weights & biases)视为静态值,因为它们在运行模型之前是已知的。例如,Llama 3的约20GB文件大部分由其权重和偏置组成。
由于偏置变量的数量(数百万)显著少于权重(数十亿),因此偏置通常保持较高精度(如INT16),而量化的主要工作集中在权重上。
对于已知的静态权重,选择范围的校准技术包括:
– 手动选择输入范围的百分位数
– 优化原始权重和量化权重之间的均方误差(MSE)
– 最小化原始值和量化值之间的熵(KL散度)
例如,选择一个百分位数,会导致类似于我们之前看到的剪裁行为。
激活值
在整个大语言模型中不断更新的输入通常被称为激活值(activations)。
之所以被称为激活值,因为它们通常会经过一些激活函数,如sigmoid或relu
与权重不同,激活值在推理过程中随输入数据而变化,因此难以准确量化。
由于这些值在每个隐藏层之后都会更新,因此在推理阶段,只有输入数据通过模型后才能得知它们的具体数值。
总体来说,有两种方法用于校准权重和激活值,应用于模型的不同阶段:
– 训练后量化(Post-Training Quantization,PTQ)
– 顾名思义,即训练后进行的量化
– 量化感知训练(Quantization Aware Training,QAT)
– 训练/微调期间的量化
第三部分:训练后量化(PTQ)
训练后量化(PTQ)是最流行的量化技术之一。它是在模型训练完成后,对模型的参数(包括权重和激活值)进行量化。
权重的量化可以采用对称量化或非对称量化的方法。
然而,激活值的量化需要经过推理阶段来获取其潜在分布,因为我们事先并不知道它们的范围。
激活值的量化有两种形式:
– 动态量化(dynamic quantization)
– 静态量化(static quantization)
动态量化
数据通过隐藏层后,其激活值会被收集,比较出每一层的最大值(α)和最小值(β):
然后利用这些激活值的分布来计算量化输出所需的零点(zeropoint,z)和比例因子(scale factor,s)值:
每次数据通过新的网络层时,这个过程都会重复。因此,每一层都有其独立的z和s值,从而使用不同的量化方案。
静态量化
与动态量化不同,静态量化并不是在推理过程中计算零点(zeropoint,z)和比例因子(scale factor,s),而是在推理之前计算这些值。
为了找到这些值,我们会使用一个校准数据集,并将其输入模型以收集这些潜在的激活值分布。
收集到这些分布之后,就可以计算出在推理过程中进行量化所需的s和z值。
在实际推理时,不会重新计算s和z值,而是在所有激活中全局使用它们来对其进行量化。
总体来说,动态量化为每个隐藏层计算s和z值,往往更准确。然而,这可能会增加计算时间,因为这些值需要在每次推理时计算。
相反,静态量化虽然不如动态量化准确,但速度更快,因为它已经预先知道用于量化的s和z值。
4-bit量化领域
低于8-bit的量化一直是一个挑战,因为每减少一位,量化误差就会增加。幸运的是,有几种巧妙的方法可以将位数减少到6、4,甚至2-bit(尽管通常不建议将位数降到低于4-bit)。
我们将探讨在HuggingFace上常见的两种方法:
– GPTQ(全模型在GPU上运行)
– GGUF(可能将层卸载到CPU上)
GPTQ
GPTQ可以说是实际应用中最著名的4-bit量化方法之一。
它使用非对称量化,并逐层进行处理,每层独立处理后再继续处理下一层:
在这个逐层量化过程中,它首先将层的权重转换为逆Hessian矩阵。逆Hessian矩阵是模型损失函数的二阶导数,表示模型输出对每个权重变化的敏感性。
简单来说,它本质上展示了每个层中权重的重要性(逆重要性)。
Hessian矩阵中较小值的权重更为重要,因为这些权重的微小变化可能导致模型性能的显著变化。
在逆Hessian矩阵中,较低的值表示更「重要」的权重
接下来,我们量化并反量化权重矩阵的第一行:
这一过程使我们能够计算量化误差(q),我们可以使用之前计算的逆Hessian值(h_1)来加权这个量化误差。
本质上,我们是在基于权重的重要性创建加权量化误差:
接下来,我们将这个加权量化误差重新分配到该行的其他权重上。这有助于保持网络的整体功能和输出。
例如,如果对第二个权重(即x_2=0.3)进行此操作,我们会将量化误差(q)乘以第二个权重的逆Hessian(h_2)加上去:
接下来,继续对给定行中的第三个权重进行相同的操作:
重复这个重新分配加权量化误差q的过程,直到所有值都被量化。
这个方法所以有效,是因为权重通常是相互关联的。因此,当一个权重有量化误差时,相关的权重会通过逆Hessian进行相应的更新。
GGUF
虽然GPTQ是一种很好的在GPU上运行整个大语言模型(LLM)的量化方法,但如果没有相应的硬件条件,也可以通过GGUF将LLM的任意层卸载到CPU上。
相当于同时用CPU和GPU运行模型,以弥补显存(VRAM)不足的情况。
量化方法GGUF经常更新,而且依赖于具体的量化位数,但基本原理如下。
首先,给定层的权重被分成「超级块」,每个「超级块」包含一组「子块」。从这些「子块」中,我们计算出比例因子(s)和α值:
为了量化给定的「子块」,可以使用之前提到的absmax量化,将给定的权重乘以比例因子(s_sub):
比例因子s_sub是使用「子块」中的信息计算的,但用「超级块」中的信息s_super进行量化:
总而言之,这种以块为单位的量化使用「超级块」的比例因子(s_super)来量化「子块」的比例因子(s_sub)。
每个比例因子的量化级别可能不同,「超级块」的比例因子通常比「子块」有更高的精度。
为了说明这一点,让我们探讨几个量化级别(2-bit、4-bit和6-bit):
根据量化类型,还需要一个额外的最小值(m)来调整零点,这些与比例因子(s)一样被量化
第四部分:量化感知训练(QAT)
第三部分讲述了如何在训练后对模型进行量化。这种方法的缺点在于,没有考虑到实际的训练过程。
这就是量化感知训练(QAT)派上用场的地方。与训练后量化(PTQ)不同,QAT的目标是在训练中学习量化过程。
QAT往往比PTQ更准确,因为在训练过程中已经考虑了量化。其工作原理如下:
在训练过程中,引入了所谓的「假」量化。比如先将权重量化为INT4,然后再反量化回FP32:
这一过程让模型在训练阶段进行损失计算和权重更新时,就已经考虑到了量化误差。
如下图所示,QAT尝试探索「宽」极小值情况下的损失值,以减少量化误差,因为「窄」极小值往往会导致更大的量化误差。
假设在反向传播过程中没有考虑量化,梯度下降过程就会选择损失值最小的权重。然而,如果它处于「窄」极小值中,那将引入更大的量化误差。
相反,如果我们考虑量化,将在「宽」极小值中选择一个不同的更新权重,其量化误差要小得多。
因此,尽管PTQ方法在高精度(例如FP32)有较低的损失值,但QAT在低精度(例如INT4)下损失值也很低,这是我们所追求的。
1-bit时代:BitNet
之前我们看到,将量化精度降低到4-bit已经相当小了,但如果我们进一步降低呢?
这就是BitNet的用武之地,它将模型的权重表示为单个比特,即-1或1,通过将量化过程直接注入到Transformer架构中来实现这一点。
Transformer架构是大多数LLM的基础,由涉及线性层的计算组成:
这些线性层通常以更高的精度表示,如FP16,而且是大多数权重所在的位置。
BitNet用BitLinear层替换了这些线性层:
BitLinear层的工作原理与普通线性层相同,用权重乘以激活值来计算输出。
但不同的是,BitLinear层仅用1位表示模型的权重,使用INT8表示激活值:
BitLinear层像量化感知训练(QAT)一样,在训练期间执行一种「假」量化,以分析权重和激活值的量化效果:
让我们一步步地了解BitLinear。
权重量化
在训练过程中,权重以INT8存储,然后使用一种称为符号函数(signum function)的基本策略将其量化为1位。
本质上,它将权重的分布移动至以0为中心,然后将所有小于0的值分配为-1,将所有大于0的值分配为1:
此外,它还跟踪一个值β(平均绝对值),我们将在之后的反量化过程中使用。
激活值量化
为了量化激活值,BitLinear使最大绝对值方法(absmax)将激活值从FP16转换为INT8,因为它们需要以较高的精度进行矩阵乘法(×)。
此外,它还跟踪一个值α(最大绝对值),我们将在之后的反量化过程中使用。
反量化
我们跟踪了α(激活值的最大绝对值)和β(权重的平均绝对值),这些值将帮助我们将激活值反量化回FP16。
输出激活值使用{α, γ}重新缩放,以将其反量化到原始精度:
这个过程相对简单,并且允许模型仅用两个值表示,即-1或1。
通过这种方法,作者观察到,随着模型规模的增长,1位训练和FP16训练之间的性能差距越来越小。
然而,这仅适用于较大的模型(>30B参数),较小模型之间的差距仍然很大。
所有LLM都是1.58位
为了改善之前提到的扩展性问题,BitNet 1.58b被引入。
在这种新方法中,模型的每个权重不仅可以是-1或1,还可以取0,使每个变量成为三元值(ternary)。
有趣的是,仅仅是添加0这个简单的操作,就大大改进了BitNet,加速了计算过程。
0的力量
为什么添加0是一个重大改进呢?
这与矩阵乘法有关!
首先,让我们探讨一下矩阵乘法的基本工作原理。
当计算输出时,我们将权重矩阵与输入向量相乘。下面是权重矩阵的第一层的第一行乘法的可视化:
这种乘法涉及两个动作,将单个权重与输入相乘,然后将它们全部相加。
相比之下,BitNet 1.58b设法避免了乘法的动作,因为三值权重本质上告诉你以下内容:
– 1:我想加上这个值
– 0:我不想要这个值
– -1:我想减去这个值
因此,如果你的权重被量化到1.58 bit,你只需要执行加法:
这不仅可以显著加快计算速度,还允许特征过滤。
将给定的权重设置为0就相当于忽略了这个输入,而不是像1-bit那样,表示加上或减去输入值。
量化
为了执行权重量化,BitNet 1.58b使用平均绝对值量化(absmean),这是我们之前见过的最大绝对值量化(absmax)的变体。
它只是压缩权重的分布并使用绝对均值(α)来量化值。然后将它们四舍五入为-1、0或1:
与BitNet相比,激活值量化是相同的,除了一个方面:不是将激活值缩放到范围[0, 2ᵇ⁻¹],而是使用最大绝对值方法缩放到[-2ᵇ⁻¹, 2ᵇ⁻¹]。
总结一下,1.58-bit量化主要涉及两个技巧:
– 添加0以创建三值表示[-1, 0, 1]
– 权重的绝对均值量化
BitNet论文中有这样的结论:「13B BitNet b1.58在延迟、内存使用和能耗方面比3B FP16 LLM更高效。」
论文地址:https://arxiv.org/abs/2402.17764
由于只有1.58个计算效率高的bit,我们得到了轻量级模型。
参考资料:
https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-quantization
87.8%准确率赶超GPT-4o登顶!谷歌DeepMind发布自动评估模型FLAMe
谷歌DeepMind推出LLM自动评估模型FLAMe系列,FLAMe-RM-24B模型在RewardBench上表现卓越,以87.8%准确率领先GPT-4o。
大语言模型都卷起来了,模型越做越大,token越来越多,输出越来越长。
那么问题来了,如何有效地评估大语言模型的长篇大论呢?要是输出长度长了但胡言乱语输出质量差,又臭又长,岂不是白搭?
首先能想到的方法就是人工评估。人工评估虽然对于评价模型性能至关重要,但受到主观性、评估者之间的差异性以及广泛评估的高成本的限制。
考虑到这些因素,谷歌DeepMind研究团队提出了自动评估解决方案FLAMe。
论文地址:https://arxiv.org/abs/2407.10817
模型本身在经历多轮大规模指令任务调整后,可以遵循一套新的指令,使它们适合用作模型输出的自动评估器。
一方面,为了使LLM自动评分更加合理、准确并与人类偏好保持一致,对人类判断的数据收集极其重要。
然而,获得这些判断数据既昂贵又耗时。从以前的研究中收集现有的人类评估貌似可行,但面临着缺乏标准、文档数据不充分、数据隐私和专有权等问题。
另一方面,直接使用模型输出进行自动评分器训练可提供一致性,但也存在风险,包括强化偏见和幻觉。
此外,它可能违反专有LLM服务的使用条款,条款禁止使用其模型的输出来开发竞争模型。
为了解决这些限制和显著降低成本,谷歌引入了一个用于自动评分的大型基础模型系列—-FLAMe。
FLAMe模型的主要优势和贡献是:
– 数据收集:仅使用获得许可的数据集,并对人类评估结果进行标准化。共包含102个评估任务、530万条人类评估意见。为了促进未来的研究,论文公开了所有数据集来源。
– LLM自动评分器:既包括使用多任务组合来训练通用 LLM自动评分器 (FLAMe) ,也包括针对下游应用程序优化过的LLM 自动评分器 ( FLAMe-RM 和 FLAMe-Opt-RM)。
在12个自动评分器评估基准中的8个基准上,FLAMe及其变体的自动评分性能优于用专有数据训练的GPT-4o、Gemini-1.5-Pro等模型。
– 计算高效的多任务训练:引入了一种计算更为高效的方法,使用创新的微调策略来优化目标分布的多个任务,显著减少计算量来实现更佳的性能。
自动评估方法
为了将人工评估的流程自动化,作者对LLM任务和评估标准进行了细致的定义。
数据收集
和领域内很多科技巨头的做法形成鲜明对比的是,DeepMind这篇论文不仅披露了使用的数据集列表,而且从数据收集步骤开始,就坚持了几个公认正确但很难做到的原则。
首先,为了论文的透明度和可复现,作者仅使用HuggingFace、TensorFlow这些平台上的公共开源数据集,以及得到原作者许可的GitHub库。
为了避免GPT-4等模型生成数据带来的不准确性和潜在法律问题,作者只使用了带有人工标注的数据集,并涵盖了各种任务类型(图3)和LLM能力(图4)。
最终用于训练的数据集含有102项评估任务、共530万条经过标准化处理的人类评估意见。
任务类型主要包含以下四种:
– 成对评估(pairwise evaluation):比较两个响应结果并确定偏好
– 逐点评估(pointwise evaluation):对单个响应结果的指定属性进行打分
– 分类:将单个响应划分为某个预定义类别,例如:模型输出是否遵循说明?(是/否)
-开放式评估:自由形式、不受限制的评估结果
按照评估的LLM能力划分数据集,则大致有6类能力:
– 一般响应质量:包括有用性、连贯性、流畅性、创造力、复杂性和冗长性等多个属性,以及指令跟随能力
– 事实性/内容出处:针对LLM应用中日益重要的幻觉问题,几个数据集都用于评估响应输出的事实准确性及其基础,看模型提出的声明是否有源文档作为依据
– 数学推理:区分LLM生成数学解题方案的正确或错误
– 编码:涵盖Python、JavaScript、Java、C++、Go和Rus等流行编程语言,训练FLAMe从备选答案中选出正确程序或修复程序
– 安全性:为了使FLAMe能够识别出更有帮助且无害的模型响应
– 指令微调:结合数据集中的指令微调数据和人类编写的响应,帮助保留模型的指令微调能力
统一任务格式
精心选择好合适的数据集后,作者受到T5统一任务格式的启发,将所有数据都标准化为统一的「文本到文本」格式。这种灵活的格式可以轻松适应上述各种评估任务。
任务定义、评估指令和所需的输出字段被列在输入的INSTRUCTION部分,具体的输入内容和目标输出分别放在CONTEXT和EVALUATION部分(图2)。
其中任务定义和评估指令都经过精心设计,确保一致性和标准化,并忠实于原始数据集。
模型训练
为了训练出通用LLM自动评估器,能够在推理过程中提示它们执行各种任务。实验训练了三种模型变体:
FLAMe,通用评分器;
FLAMe-RM,用FLAMe初始化,并均匀混合了四个成对评估数据集进行微调,性能评估标准包括聊天对话、推理和安全性;
FLAMe-Opt-RM,使用奖励模型优化的混合权重进行训练,并使用尾部补丁微调策略(tail-patch fine-tuning)。
FLAMe
从基准训练方法开始,使用监督多任务训练的方式,对PaLM-2-24B模型进行指令微调,进行固定数量的30K训练步骤。
采用示例比例混合权重(examples-proportiaonal mixture weights),每个任务采样上限为为2^16,以避免对大型数据集进行过采样。
FLAMe模型显著提高了对各种held-out任务的泛化能力,在许多任务上优于GPT-4、Claude-3和Llama-3等模型。
以上数据能够证明FLAMe具有的的基础功能,即进行大规模多任务指令微调,可以让模型发展出通用的质量评估能力。
然而,FLAMe对于奖励模型评估等专门的下游应用来说并不是最佳的,因此论文进一步提出针对特定下游分布的模型变体。
FLAMe-RM
受FLAMe研究结果的启发,作者更加深入地研究了FLAMe的拓展,将其作为进一步微调特定下游应用的起点。
作者采用了大量奖励模型评估作为案例研究。通过在四个成对评估数据集的混合上微调FLAMe来创建FLAMe-RM。
数据集包括:HelpSteer、PRM800K、CommitPack和HH-RLHF Harmless。
由于FLAMe已经在这些数据集上进行了训练,因此仅对其进行50个步骤的微调。
由此产生的FLAMe-RM模型将原始FLAMe的RewardBench总体得分从86.0%准确率提高到87.8%。
值得注意的是,FLAMe-RM-24B是专门在许可数据上训练的性能最佳的生成模型,超过了GPT-4(85.9%) 和GPT-4o (84.7%)。
FLAMe-Opt-RM
虽然FLAM在许多任务中表现良好,但它需要大量的训练才能在某些专门的下游应用程序(例如RewardBench)上获得强大的性能。
为了解决这个问题,研究引入了一种尾部补丁消融策略(tail-patch ablation),该策略分析每个数据集对目标分布的影响。
这能够帮助找到多任务混合中各个数据集的最佳比例,从而有效地优化混合权重超参数。
通过这种优化过的混合数据微调PaLM-2-24B仅需要5000步,相比RewardBench上的基线模型(86.0%)实现了有竞争力的性能 (87.0%),而且所用的训练数据也减少了约25倍。
研究直接根据RewardBench性能变化(由于缺乏开发集)优化了多任务混合。
值得注意的是,研究的目标不是实现最佳的RewardBench结果,而是展示如何针对目标分布进行多任务混合的优化方法。
通过测试发现,和FLAMe-RM 一样,微调进一步提高了RewardBench性能。
此外,FLAMe-Opt-RM在其他held-out任务中的优秀表现表明,moxing 并没有过度拟合RewardBench,这证实了FLAMe-Opt-RM在不同任务中的广泛适用性。
训练细节
研究使用了PaLM-2-24B模型对FLAMe和 FLAMe-Opt-RM进行初始化,并在Flan集合上进行指令调整,分别训练30000步和5000步,然后将FLAMe进一步微调50步以创建 FLAMe-RM。
模型使用T5X和Adam优化器进行训练,学习率为 0.0001,dropout为 0.05。
FLAMe在256个PU芯片上进行训练,批大小为32,而FLAMe-RM和FLAMe-Opt-RM使用128个TPU芯片,批大小为8。
评估实验
讨论过FLAMe系列模型的构建方法后,作者使用了包含12个自动评分器基准的评估套件,将FLAMe与几个流行的LLM-as-a-Judge自动评分器进行对比。
12个基准中,只有HelpSteer作为held-in验证,其余的RewardBench、LLM-AggreFact等11个作为held-out测试。
评估数据同样涵盖了53个任务,但为了降低模型API成本,每个测试集(除RewardBench)仅随机抽取256个样本。
对比的基线包括Llama-3-70B-Instruct、Mixtral8×7B、Claude-3-Opus等流行的LLM-as-a-Judge模型,以及RewardBench官方排行榜上列出的Gemini-1.5-Pro、Nemotron-4-340B-Reward等。
FLAMe的3种模型变体都参与了评估,而且还包括了进行指令微调前的PaLM-2-24B,以更好说明FLAMe训练的效果。
表1列举了FLAMe系列在12个基准上与流行基线模型的对比。
其中8个都取得了最优性能,尤其是Contr Search和HelpSteer上相比次优模型有大幅度提升,让我们看到了「许可数据」超越「专有数据」的希望。
在RewardBench排行榜上,截止7月15日,FLAMe-RM-24B在所有生成模型中排名第2(仅次于Gemini-1.5-Pro),在所有模型中排名第6,在4个类别中都取得了强劲表现。
虽然RewardBench是评估奖励模型时被广泛使用的基准,但作者也在实验时发现了其中的评估偏差问题,比如有对输出答案的长度偏好,以及偏爱「sorry」、「I’m sorry」等短语。
RewardBench4个类别任务对响应长度的不同偏好
在AggreFact基准的结果中(表3),FLAMe-24B获得了整体最佳性能,比GPT-4o高出将近1分。
在总共4个类别的用例中,FLAMe系列变体在其中3个取得了最优性能,仅在Long-formQA上表现不佳,与表1中LFQA Eval的结果相一致。
此外,上述3个表格中都能发现,相比原有的PALM-2-24B,经过训练后的FLAMe-24B性能有大幅度的提升,证明了FLAMe训练方法的有效性。
分析
模型大小、数据集大小和数据质量等因素在最近的多任务学习和指令调优工作中已经得到了广泛的研究。
论文更加着重探索LLM自动评分器固有的潜在偏见,这也是影响评估准确性的一个重要方面。
另外,FLAMe对于AI开发还有许多潜在用途,例如对高质量响应数据进行采样。
自动评分器偏差分析
对LLM自动评估器(LLM-as-a-Judge autorater)的常见批评主要涉及他们对某些判断的偏见。
通过在自动评估器偏见基准CoBBLEr上评估 FLAMe及其变体,论文发现FLAMe模型比其他流行的LLM自动评估器的偏见要小得多。
CoBBLEr主要测量LLM自动评估器中的6种偏见:
顺序:自动评估器对回复顺序是否有偏好?
同情心:当使用生成响应的LLM的实际名称(例如「GPT-4」)而不是「Model A」等别名时,自动评估者的判断会改变吗?
长度:自动评估器是否会偏好较长或较短的输出?
以自我为中心:自动评估器是否偏爱自己生成的输出?
见风使舵:自动评估器是否会被「90% 的人更喜欢回答 A」这样的句子所左右?
注意力:自动评估器是否被不相关的上下文信息干扰
评估结果如表4所示,可以看到,相比其他基线模型,FLAMe系列在大部分维度都表现出明显较低的偏见,而且总体偏见值最低。
使用FLAMe对解码输出重新排序
最后,研究还探索了LLM自动评估器在从多个响应中选择最佳输出方面的应用,这种方法称为「Best-of-N」采样。
实验中使用了OpenAI的3个代码生成模型,并通过循环机制(round-robin)让FLAMe分别对它们生成的10个代码样本进行重新排名,然后使用排名靠前的代码示例,在HumanEval Python基准中测试其性能。
结果表明,FLAMe在所有三个模型中都显著提高了pass@1准确率。
值得注意的是,FLAMe将CodeGen16B的pass@1准确率从21.2提高到31.1,与Oracle排名器 (46.9) 的差距缩小了近40%。
结论与讨论
FLAMe是一系列基础自动评估器模型,可以执行各种质量评估任务。训练所用的数据不仅大规模而且多样化, 仅来自许可数据集,包含标准化的人类评估意见且经过精心设计。
研究展示了FLAMe强大的零样本泛化能力,在许多悬而未决的任务中,其性能优于使用GPT-4和Claude-3等专有数据训练的模型。
FLAMe还可以有效地作为进一步下游微调的强大起点。FLAMe-RM变体针对奖励模型评估进行了微调,尽管仅在许可数据上进行训练,但仍是RewardBench上表现最好的生成模型之一,其性能优于GPT-4-0125和GPT-4o。
此外,论文提出了一种计算效率更高的方法,使用新颖的尾部补丁微调策略来优化目标分布的多任务混合FLAMe模型,以显著减少的计算量提供有竞争力的性能。
FLAMe变体在12个自动评估基准中的8个优于流行的专有LLM-as-aJudge模型,涵盖53项质量评估任务,包括RewardBench和LLM-AggreFact。
最后,分析表明,与CoBBLEr自动评分器偏差基准上流行的LLM-as-a-Judge模型相比,FLAMe表现出明显较低的偏见,同时能够有效地识别代码生成的高质量响应。
局限性和未来工作
由于评估标准不断变化以及评估新的LLM功能的需要,评估LLM具有挑战性,通过开源贡献扩大我们的数据收集范围可以解决这个问题。
此外,模型主要在上下文长度为2048个token的英语数据上进行训练,可能在多语言或长上下文上表现不佳。
在未来的版本中,作者计划包括对更多具有更长上下文的多语言数据集的训练。
最后,这项工作一直以有监督的多任务方式训练FLAMe模型。探索RLHF和DPO等其他训练方法是未来工作的一个有希望的方向。
道德考虑和道德风险
针对预训练和指令微调的LLMs工作概述的所有注意事项和风险也都适用于LLM自动评估器,研究也都遵循标准实践来负责任地开发FLAMe模型。
此外,由于评估能力和评估质量的增强,LLM自动评估器也带来了新的风险。
首先,模型可能会继承并放大人类评估的偏见,导致不公平或歧视性的结果。
例如,该模型可能会复制训练数据中与种族、性别或其他敏感属性相关的偏见,这可能会损害某些群体利益。
其次,过度依赖LLM自动评估器可能会导致需要人类理解和同理心的决策不经思考而只根据LLM判定。
为了减轻这些风险,模型开发和使用的透明度,以及偏见处理、数据匿名化和纳入不同观点等强有力的措施,对于促进公平、问责和可信度至关重要。
参考资料:
https://x.com/tuvllms/status/1813249272474968315
小扎自曝砸重金训Llama 4,24万块GPU齐发力!预计2025年发布
没想到,多模态Llama 4已经紧锣密鼓地开始训练中了。小扎表示,将投入Llama 3的十倍计算量训练模型,预计2025年发布。他不惜重金购买GPU,就是害怕为时已晚。
Llama 3.1刚发布不久,Llama 4已完全投入训练中。
这几天,小扎在二季度财报会上称,Meta将用Llama 3的十倍计算量,训练下一代多模态Llama 4,预计在2025年发布。
这笔账单,老黄又成为最大赢家
十倍计算量,是什么概念?
要知道,Llama 3是在两个拥有24,000块GPU集群完成训练。也就是说,Llama 4训练要用24万块GPU。
那么,Meta存货还够不够?
还记得小扎曾在年初宣布,计划到年底要部署35万块英伟达H100。
他还透露了更多的细节,Meta内部将为训练LLM打造两个单集群,一个配备22,000块H100,另一个集群配备24,000块。
有网友曾回顾了Llama模型迭代过程中,GPU的用量如何增长的:
Llama 1:2048块GPU
Llama 2:4096块GPU
Llama 3.1:16384块GPU
或斥资400亿美金,小扎不愿为时已晚
可见,训练大模型是一项代价高昂的业务。
财报显示,Meta第二季度在服务器、数据中心和网络基础设施上,资本支出增长了近33%。
从去年同期64亿美元,增至85亿美元。
现在,预计年度支出将达到370亿-400亿美元,高于之前预估的350亿-400亿美元。
Information一份报告称,OpenAI在训练模型上花费了30亿美元,另外还花费了40亿美元以折扣价从微软那里租用服务器。
可见,训练大模型算力花费,是多么地讽刺。
不过意义在于,Llama 3.1的开源将成为AI行业的一个重要转折点,开源人工智能开始像Linux一样成为行业标准。
Meta正在规划未来几年的计算集群和数据中心,以支持未来几代AI模型。
小扎承认,很难去预测未来AI技术的发展路径,但基建不是速成的。
尽管存在不确定性,我愿意冒险提前建立,也不愿意因准备不足而落后于竞争对手。
小扎这种先见之明,曾带领公司在元宇宙浪潮中,坚挺而出。
在2022年公司股价遭遇重创之际,小扎还是铤而走险,购买了大批H100。
当年第三季度财报显示,Meta资本支出高达320亿-330亿美元。
其中一部分大多流向数据中心、服务器和网络基础设施构建,以及在元宇宙上的巨额投入。
在采访中,小扎解释道,「当时Meta正大力发展短视频工具Reels,因此需要更多的GPU来训模型」。
因为模型推理对Meta来说,是至关重要的一件大事,需要为Facebook、Ins等自家应用的用户提供服务。
用小扎的原话来说就是:
我们所需的推理计算与训练的比率,可能远高于其他从事这一领域的公司,这是因为我们所服务的社区用户量非常庞大。
人手一个AI智能体
前段时间Meta AI科学家Thomas Scialom在一次博客采访中,同样提到了,6月份已经开始训练的Llama 4。
他表示,新模型可能重点在智能体技术上,并且已经在Toolformer等agent工具上进行了一些研究。
小扎相信,AI智能体很快将成为在线企业的「标配」。
「随着时间的推移,我认为,就像每个企业都有网站、社交媒体账号和电子邮件地址一样,未来每个企业也都会有一个AI智能体,让客户可以与之互动」。
Meta的目标是,让使每个小企业,最终甚至每个大企业,都能轻松地将自身的内容和产品整合到AI智能体中。
当这项技术大规模投入到现实应用中,这将大大加速我们的商业信息收入。
尽管投资者对Meta在AI和元宇宙上的高额支出提出批评,但小扎仍旧坚持自己的战略。
虽然在Meta最近几个季度,虚拟现实似乎已经退居次要地位,但扎克伯格确实提到,Quest 3的销量超出了公司的预期。
二季度数显示,这一领域的收入增长22%至391亿美元,利润增加73%至135亿美元。
对于第三季度,Meta预计收入在385-410亿美元之间。
消息人士表示,该公司将在9月份的Connect大会上宣布推出一款更便宜的耳机。
此外,AI助手Meta AI越来越受欢迎,小扎表示,它有望在年底前成为使用最广泛的AI助手。
参考资料:
https://the-decoder.com/meta-plans-to-use-10-times-more-compute-power-to-train-its-next-generation-lama-4-ai-model/
https://www.theverge.com/2024/7/31/24210786/meta-earnings-q2-2024-ai-llama-zuckerberg
OpenAI开发ChatGPT「反作弊神器」,99.9%超高命中率!但没发布
OpenAI又左右互搏上了,给AI生成的文本打水印,高达99.9%准确率抓「AI枪手」作弊代写。
去各大高校图书馆转一圈,会发现头上一副耳机、手边一杯咖啡,电脑上一个AI工具网页几乎成了当代大学生标配。
学生热衷于在ChatGPT的帮助下完成作业,教师们却头疼于无法杜绝学生用ChatGPT作弊的行为。
人工智能可以根据一个提示,在几秒钟内免费创建整篇论文或研究论文。教师和教授表示,他们迫切需要帮助来打击滥用行为。
《每日邮报》2023年1月30报道称,UNSW的1名学生使用ChatGPT自动生成论文被抓,这也是全澳第一个使用AI技术作弊被抓的学生。
UNSW人工智能教授Toby Walsh表示,各大高校都在评估如何阻止学生使用AI技术作弊。
随后,新州、昆州和塔州都封锁了校园网络对于ChatGPT的访问,以防学生通过该技术作弊。
但Walsh教授表示,阻止校园网络访问ChatGPT是没有意义的,因为学生们可以通过代理绕过封锁。
「想要彻底阻止学生作弊,只能把他们放在一个没有网络的环境里,给他们一张纸和一支笔。」
CDT最近进行的一项调查发现,59%的中学教师确信有些学生使用了AI来帮助完成学业,比前一个学年上升了17个百分点。
要想靠老师和学校的盯梢,避开ChatGPT的诱惑很难办到,解铃还须系铃人——让AI企业亲自出马解决抓「AI枪手」。
据悉,OpenAI已经开发出一款能够高精度识别ChatGPT生成文本的工具,但迟迟未发布。
「文本水印」抓作弊,成功率99.9%
ChatGPT由人工智能系统提供支持,生成原理是根据输入内容预测句子中接下来出现的token。
OpenAI正在讨论的反作弊工具将稍微改变token的选择方式,这些变化会留下一种称为水印的图案。
这些水印肉眼无法察觉,但可以通过OpenAI的检测技术发现,检测器提供整个文档或部分文档由ChatGPT编写的可能性的分数。
根据内部文件,当ChatGPT创建足够多的新文本时,水印的有效率可以达到99.9%。
虽然准确率超高,OpenAI工作人员仍然担心,换一种方式可以轻松卡Bug,通过简单的技术来删除水印。
例如让Google将文本翻译成另一种语言,然后再翻译回来,或者让ChatGPT在文本中添加表情符号,然后手动删除它们。
另一方面,公司内部普遍认为,谁可以使用该探测器将也是一个棘手的问题。
如果拥有该工具的人太少,工具基本上就没有用处。如果太多人获得访问权限,有些人可能会尝试破译水印技术。
OpenAI员工也讨论过,直接向教育工作者或外部公司提供检测器,帮助学校识别人工智能撰写的论文和抄袭作品。
谷歌其实也开发过一种水印工具,可以检测Gemini AI生成的文本,叫做SynthID,正处于Beta测试阶段,尚未广泛使用。
OpenAI有一个工具可以确定图像是否是使用文本到图像生成器DALL-E 3创建的,该工具于去年春天发布用于测试。
该知情员工表示,该公司优先考虑音频和视频水印而不是文本,因为其危害更为严重,尤其是在美国繁忙的选举年。
AI文本分类器
早在2023年1月,OpenAI就发布了一种算法,旨在检测多个AI模型(包括其自己的模型)编写的文本。
但它的成功率仅为26%,七个月后OpenAI就将其撤回。
其他公司和研究人员还开发了一些工具来检测人工智能创建的文本,许多教师表示他们已经使用过这些工具。
但它们有时无法检测由高级大语言模型编写的文本,并且准确率很低,可能产生误报。
最近在佐治亚州一所私立高中任教的教育工作者人工智能顾问Mike Kentz表示,起初,学生们确实被震慑到,以为老师们已经完全掌握了一种方法,可以弄清楚他们是否使用了人工智能代写。
但到了年底……他们慢慢发现,等一下,我的老师好像不知道。
一些老师鼓励学生使AI来帮助研究或提供想法反馈。但问题是,当学生使用像ChatGPT这样的应用程序来完成所有工作时,学生甚至不会去检查自己交的是什么。
去年,犹他大学政治学教授Josh McCrain给学生布置了一份写作作业,作业要求插入了难以辨认的小文字,其中提到了和作业无关的蝙蝠侠。
如果他们将作业复制并粘贴到人工智能中,作业提示内容就会被合并,「蝙蝠侠」就会干扰作业内容。果然,少数学生提交了作业——一篇蝙蝠侠论文。McCrain教授正在调整写作作业,更多地关注人工智能不太熟悉的时事,并恳求学生不要将他们的工作外包给人工智能。「这就是我试图向学生们强调这一点的地方:你需要自己学习这些东西。」McCrain教授说。
争论不休
知情人士称,有关水印工具的讨论早在OpenAI于2022年11月推出ChatGPT之前就已经开始。
它是由计算机科学教授Scott Aaronson开发的,过去两年他在德克萨斯大学休假期间一直在OpenAI从事安全工作。
2023年初,OpenAI联合创始人之一John Schulman在一份共享的Google文档中概述了该工具的优缺点。
OpenAI高管随后决定,在采取进一步行动之前,他们将征求一系列人士的意见。
在接下来的一年半时间里,OpenAI高管反复讨论,并寻求新数据集优化算法,犹豫是否发布该技术。
内部文件显示,2023年4月,OpenAI委托进行了一项调查,结果显示,世界范围的人们以四比一的比例支持人工智能检测工具的想法。
同月,OpenAI对ChatGPT用户进行了调查,发现69%的人认为作弊检测技术会导致使AI技术错误指控。
近30%的人表示,如果ChatGPT部署了水印功能,而竞争对手没有部署水印,他们会减少使用。
另外,OpenAI内部还有一种反对的声音是反作弊工具可能会损害ChatGPT的写作质量。
知情人士称,OpenAI今年早些时候进行了一项测试,发现文本水印不会降低输出质量。
6月初,OpenAI高级员工和研究人员再次聚会讨论该项目。该组织一致认为水印技术效果良好,但去年的ChatGPT 用户调查结果仍然是一个头疼的问题。
内部文件显示,OpenAI需要在今年秋天之前制定一项计划,围绕AI透明度以及相关潜在新法律来左右公众舆论——
「如果做不到这一点,我们就有可能失去负责任企业的信誉。」
参考资料:https://www.wsj.com/tech/ai/openai-tool-chatgpt-cheating-writing-135b755a?mod=tech_lead_story
手机上能跑的「GPT-4V」来啦!多图、视频理解首次上端!面壁小钢炮开源史上最强端侧多模态
面壁小钢炮MiniCPM-V 2.6重磅出击,再次刷新端侧多模态天花板!凭借8B参数,已经取得单图、多图、视频理解三项SOTA ,性能全面对标GPT-4V。
再次刷新端侧多模态天花板,面壁「小钢炮」 MiniCPM-V 2.6 模型重磅上新!仅8B参数,取得 20B 以下 单图、多图、视频理解 3 SOTA 成绩,一举将 端侧AI多模态能力拉升至全面对标超越 GPT-4V 水平。更有 多项功能首次上「端」:小钢炮一口气将 实时视频理解、多图联合理解(还包括多图OCR、多图ICL等)能力首次搬上端侧多模态模型,更接近充斥着复杂、模糊、连续实时视觉信息的多模态真实世界,更能充分发挥端侧 AI 传感器富集、贴近用户的优势。
亮点众多,延续了「小钢炮」系列一贯的以小博大与高效低成本,划重点如下:
「三合一」最强端侧多模态:首次在端侧实现单图、多图、视频理解等多模态核心能力全面超越 GPT-4V,单图理解越级比肩多模态王者 Gemini 1.5 Pro 和新晋顶流 GPT-4o mini 。
多项功能首次上端:实时视频理解、多图联合理解、多图 ICL 视觉类比学习、多图 OCR 等功能,第一次让端侧模型睁开观察、理解真实流动世界的「眼睛」,不仅看得清晰,还能有样学样、模仿学习。
极致高效,最高多模态像素密度: 类比知识密度,小钢炮2.6取得了两倍于GPT-4o的单 token 编码像素密度(token density),在端侧方寸之地,一路将大模型「能效比」挖到极限。这一进展,得益于视觉 token 相比上一代下降 30% ,比同类模型低 75%。
端侧友好:量化后端侧内存仅占 6 GB;端侧推理速度高达 18 tokens/s,相比上代模型快 33%。并且发布即支持 llama.cpp、ollama、vllm 推理;且支持多种语言。
统一高清框架,高效能力一拖三:小钢炮的传统优势 OCR 能力延续了其 SOTA 性能水平,并进一步覆盖单图、多图、视频理解。
MiniCPM-V 2.6 开源地址:
GitHub:https://github.com/OpenBMB/MiniCPM-V
HuggingFace:https://huggingface.co/openbmb/MiniCPM-V-2_6
llama.cpp、ollama、vllm 部署教程地址:
https://modelbest.feishu.cn/docx/Duptdntfro2Clfx2DzuczHxAnhc
MiniCPM 系列开源地址:
https://github.com/OpenBMB/MiniCPM
单图、多图、视频理解 3 SOTA!
GPT-4V级、三合一最强端侧多模态
注:指20B以下、端侧模型SOTA
以小博大,是端侧模型的核心竞争力。
仅 8B 参数,新一代 MiniCPM-V 2.6 不仅再一次取得了媲美 GPT-4V 的综合性能, 还首次作为端侧 AI 模型,掀开单图、多图、视频理解三项多模态核心能力全面超越 GPT-4V 之新格局,且均实现 20B 参数以下模型性能 SOTA。
在 MiniCPM-V 2.6 的知识压缩率方面,我们发现,MiniCPM-V 2.6 体现出极致的高效, 取得了两倍于 GPT-4o 的最高多模态大模型像素密度(Token Density) 。
Token Density = 编码像素数量 / 视觉 token 数量,是指单个 token 承载的像素密度即图像信息密度,直接决定了多模态模型实际的运行效率,数值越大,模型运行效率越高。
闭源模型的 Token Density 由 API 收费方式估算得到。结果表明 MiniCPM-V 2.6 是所有多模态模型中 Token Density 最高的,延续了小钢炮一贯的极致高效特点单图方面:在综合评测权威平台 OpenCompass 上,单图理解能力越级超越多模态王者 Gemini 1.5 Pro 和新晋顶流 GPT-4o mini。多图方面:在多图评测权威平台 Mantis-Eval 榜单上,MiniCPM-V 2.6 多图联合理解能力实现开源模型SOTA ,且超越 GPT-4V。视频方面:在视频评测权威平台 Video-MME 榜单上,MiniCPM-V 2.6 的视频理解能力达到端侧 SOTA,超越GPT-4V。此外,在 OCRBench上,MiniCPM-V 2.6 OCR 性能实现开源+闭源模型 SOTA,延续并加强了小钢炮系列 最强端侧 OCR 能力 的传统优势。在 幻觉 评测榜单Object HalBench上,MiniCPM-V 2.6 的幻觉水平(幻觉率越低越好)优于GPT-4o、GPT-4V、Claude 3.5 Sonnet 等众多商用模型。
实时视频理解,首次上端!
睁开端侧「眼睛」,打开具身广阔潜力
真实世界的视觉信息是流动的!
端侧视频理解具有天然优势,手机、PC、AR、机器人、智能座驾等端侧设备自带的摄像头,具有天然的多模态输入能力。相比云端,离用户更近,链路更短,效率更高,同时具有更强的信息安全优势。
有了实时视频理解功能,大模型犹如拥有一双「眼睛」,能够实时看到真实世界,这是多模态大模型走向具身智能等更多实际领域,实现 AGI 的必要条件之一。此外实时视频理解功能也让人机交互也更加自然友好。
MiniCPM-V 2.6 让实时视频理解功能第一次运行在端侧。
在下面对面壁智能公司实时拍摄中,室内场景的各种办公设备、墙上、会议室上的文字都能轻松被模型精准识别。此外,对于「太长不看」的视频,现在可以直接把文件拖进来,让模型为你总结重点信息,不用看完、不用倍速、也不用快进。这段 1 分钟左右的天气预报视频,MiniCPM-V 2.6 能在没有听到任何语音的情况下,发挥强大的视频 OCR 功能,识别出视频画面里密集的文字,给出不同视频段落中不同城市的详细天气描述。
注:该结果为代码环境中复现
多图联合理解,首次上端!
流畅、聪明,一直识图一直爽
钻研多模态模型能力的不竭动力,源自于它更接近真实世界的形态,充斥着画面、视频、语言等多种模态、同时并发的信息。
难以想象,当我们睁开眼睛看世界,只能一个画面、一个画面,顺次机械而卡顿地识别理解;也不会事事都能得到精准的文字指示,像小孩子模仿大人行为举止般「有样学样」地揣摩学习与动作跟随,是绝大多数我们学习与尝试新事物时所发生的样子。
将端侧AI的多模态能力进行极致探寻,最新发布的 MiniCPM-V 2.6 首次将 多图联合理解、多图ICL(上下文少样本学习 ) 功能集成在端侧模型,这也是此前业界多模态王者 GPT-4V 引以为傲的能力。
1. 流畅的多图多轮理解,爽!
就像人们习惯把多个文件拖拽给大模型处理,在日常生活和工作中,联合处理多张图像是高频刚需。
比如常令人头疼的记账或报销难题,小票上密密麻麻的数字难以辨别,更别提进行繁琐的总账计算。拍照下来,一口气甩给 MiniCPM-V 2.6,除了一一找出每张小票的金额,最后还把总账计算出来,十分方便。
强大的 OCR 能力+CoT (思维链)能力加持,不仅小票金额精准抓取,解题思路与卷面呈现都清晰简洁:端侧多模态复杂推理能力也被一并刷新:比如这道 GPT-4V 官方演示经典命题:调整自行车车座。这个对人很简单的问题对模型却非常困难,它非常考验多模态模型的复杂推理能力和对物理常识的掌握能力。仅 8B 的 MiniCPM-V 2.6 展现出顺利完成这项挑战的潜力,通过和模型进行多图多轮对话,它清晰地告知完成调低自行车车座的每一个详细步骤,还能根据说明书和工具箱帮你找到合适的工具。
2. 强悍的多图复杂推理能力,竟能读懂你的梗!
得益于强大的多图复杂推理能力,MiniCPM-V 2.6 不仅能联合识别多张图片的表面信息,还能「读懂」梗图背后的槽点。比如让模型解释下面两张图背后的小故事,MiniCPM-V 2.6 能够通过OCR精准识别到两张图片上的文字:「WFH Employees 8:59 AM」和 「WFH Employees 9:00 AM」, 推理出「WFH」居家办公状态,然后结合两张图片的视觉信息联合推理出「工作在家时,8:59还在床上睡觉,9点立马出现在视频会议上」的居家办公的「抓狂」状态,尽显梗图的槽点和幽默, 可谓是多图联合理解和 OCR 能力的强强结合。多图复杂推理能力表现惊艳,单图也不在话下。MiniCPM-V 2.6 能轻松揣测出梗图中很多未明显露出的潜台词,简直是充满幽默感的大模型「梗王」。
左右滑动查看
多图 ICL,首次上「端」!
大模型学会揣测模仿,有样学样
很多时候,很多场景,难以用语言完全说清,通过明确定义的语言 prompt 来控制模型的输出行为难以奏效。
这个时候,图文信息一起「看」来理解,就像我们婴童时期那样观察、模仿、学习,往往更加直接与准确。
这其实就是多图 ICL(In context learning)上下文少样本学习,它能激发出模型的潜力,让模型无需fine-tune,即可快速适配到特定领域和任务,显著提高模型的输出稳定性。
在下面的例子中,我们直接通过视觉 prompt 给大模型下指示:
给出两组神转折画面,以及对画面中的「梗」给出示意文字描述,例如一个戴着手套、重视卫生的厨师,下一秒却用戴手套的手直接去拿实际有些肮脏的纸币;一个看似热衷环保的人,却把塑料瓶装水打开装进环保水壶……
这时 MiniCPM-V 2.6 能够自动从前面两组图文关系,揣摩出题人的意图,并自动学会「答题模版」,给出神转折答案—— 一个人手握大量加密数字货币,可你猜怎么着,他出门购物,可是商店却只收现金!
统一高清视觉架构
高效多模态能力一拖三
新一代小钢炮的最大亮点: 单图、多图、视频理解 等核心能力对 GPT-4V 的全面对标。
从单一优势,到全面对标,大幅跃进从何而来?在 Qwen2-7B 基座模型的性能加持之外,要归功于采用了统一高清视觉架构。
统一高清视觉架构,让传统单图的多模态优势功能得以继承,并实现了一通百通。
例如, 多管齐下的 OCR SOTA 能力:
它将 MiniCPM-V 单图场景的「180万高清图像解析」进行能力迁移和知识共享,无缝拓展至多图场景和视频场景,并将这三种视觉理解场景统一形式化为图文交替的语义建模问题,共享底层视觉表示机制,实现相比同类型模型,视觉 token 数量节省超过 75% 。
OCR 信息提取的基础上,MiniCPM-V 2.6 还能进一步对表格信息进行 类似 CoT(思维链)的复杂推理。
比如让模型计算 2008 年奥运会获得金牌数最多的 3 个国家一共获得了多少枚金牌,CoT 的过程是:
首先利用 OCR 能力识别并提取出奖牌榜中金牌数量的前三名国家;
再将前三名国家的金牌总数相加。
8.2%的超低幻觉率,亦是发挥了小钢炮系列AI可信方面的传统优势。面壁 RLAIF-V 高效对齐技术对低幻觉贡献颇多,MiniCPM-V 2.6 的复杂推理能力和通用域多图联合理解能力亦因面壁 Ultra 对齐技术得到一并增强:
在多模态复杂推理能力对齐方面,MiniCPM-V 2.6 通过复杂题目的 CoT 解答数据,构造高效对齐种子数据,并通过模型自迭代完成数据净化和知识学习。
在多图联合理解方面,MiniCPM-V 2.6 从通用域自然网页中结合文本线索挖掘多图关联语义,实现多图联合理解数据的高效构造。
在端侧最强多模态的道路上,小钢炮 MiniCPM-V 系列已成为标杆性的存在。
自24年2月1日首次开创端侧部署多模态先河,短短半年,即接连完成了端侧模型从单一、到全面对标 GPT-4V 的重大突破,小钢炮系列下载量已破百万!
为何面壁「小钢炮」系列,频出以小博大的多模态端侧佳作?
可以说,MiniCPM 端侧模型系列,正是面壁长期以来「大模型科学化」路线的结晶。
一方面,通过科学提升训练方法与数据质量,不断提升大模型「知识密度」,得到同等参数,性能更强、成本更低的高效模型。 两倍于 GPT-4o 的巅峰级单 token 图像信息密度(Token Density),小钢炮 2.6 交出一份漂亮的多模态高效运行效率成绩单。
另一方面,面壁不断钻研 OCR、多图与视频理解等核心多模态能力创新技术,并持续突破对于端侧极为关键的能耗与内存极限,把最优秀的多模态模型放在离用户最近的地方!相比上代模型快 33%,高达 18 tokens/s 的推理速度,6GB 的内存占用…… 每一点滴对模型「能效比」的锱铢必较,只为了你将 iPad 捧在手心的那一刻,实时丝滑酣畅的体验。开源地址:https://github.com/OpenBMB/MiniCPM-V
https://huggingface.co/openbmb/MiniCPM-V-2_6
部署教程:https://modelbest.feishu.cn/docx/Duptdntfro2Clfx2DzuczHxAnhc
贾扬清:大模型尺寸正在重走CNN的老路;马斯克:在特斯拉也是这样
Transformer大模型尺寸变化,正在重走CNN的老路!
看到大家都被LLaMA 3.1吸引了注意力,贾扬清发出如此感慨。
拿大模型尺寸的发展,和CNN的发展作对比,就能发现一个明显的趋势和现象:
在ImageNet时代,研究人员和技术从业者见证了参数规模的快速增长,然后又开始转向更小、更高效的模型。
听起来,是不是和GPT哐哐往上卷模型参数,业界普遍认同Scaling Law,然后出现GPT-4o mini、苹果DCLM-7B、谷歌Gemma 2B如出一辙?
贾扬清笑称,“这是前大模型时代的事儿,很多人可能都不咋记得了:)”。
而且,贾扬清不是唯一一个感知到这一点的人,AI大神卡帕西也这么觉得:
大模型尺寸的竞争正在加剧……但是卷的方向反着来了!
模型必须先追求“更大”,然后才能追求“更小”,因为我们需要这个过程,帮咱把训练数据重构成理想的、合成的格式。
他甚至拍着胸脯打赌,表示我们一定能看到又好、又能可靠地思考的模型。
而且是参数规模很小很小的那种。
连马斯克都在卡帕西的评论区连连称是:
以上,大概可以称之为“大佬所见略同”。
展开说说
贾扬清的感慨,要从只在最强王座上短暂待了一天的LLaMA 3.1说起。
那是首次实现“最强开源模型=最强模型”,不出意外,万众瞩目。
However,贾扬清在这个时候提出了一个观点:
“但我认为, 行业会因小型垂直模型而真正蓬勃发展。”
至于啥是小型垂直模型,贾扬清也说得很清楚,比如以Patrouns AI的Iynx(该公司的幻觉检测模型,在幻觉任务上超过GPT-4o)为代表的那些很棒的中小模型。
贾扬清表示,就个人喜好而言,他本人是非常喜欢千亿参数模型的。
但现实情况里,他观察留意到,7B-70B参数规模之间的大模型,大家用起来更顺手:
它们更容易托管,不需要巨大的流量即可盈利;
只要提出明确的问题,就能得到质量还不错的输出——与和之前的一些看法相反。
与此同时,他听说OpenAI最新的、速度很快的模型也开始变得比“最先进的”大模型尺寸更小。
“如果我的理解是正确的,那么这绝对表明了行业趋势。”贾扬清直接表明了自己的观点,“即在现实世界中,使用适用的、具有成本效益、且仍然强大的模型。”
于是乎,贾扬清简单梳理了CNN的发展历程。
首先,是CNN的崛起时代。
以AlexNet(2012)为起点,开启了大约三年的模型规模增长时期。
2014年出现的VGGNet就是一个性能和规模都非常强大的模型。
其次,是缩小规模时期。
2015年,GoogleNet把模型大小从“GB”缩小到了“MB”级别,即缩小了100倍;但模型性能并没有因此骤减,反而保持了不错的性能。
遵循类似趋势的还有2015年面世的SqueezeNet模型等。
然后的一段时间,发展重点在追求平衡。
后续研究,如ResNet(2015)、ResNeXT(2016)等,都保持了一个适中的模型规模。
值得注意的是,模型规模的控制并没有带来计算量的减少——其实,大伙儿都愿意投入更多的计算资源,寻求一种“同等参数但更高效”的状态。
紧接着就是CNN在端侧起舞的一段时期。
举个例子,MobileNet是谷歌在2017年推出的一项有趣的工作。
有趣就有趣在它占用的资源超级少,但是性能却非常优异。
就在上周,还有人跟贾扬清提到:“Wow~我们现在还在用MobileNet,因为它可以在设备上运行,而且在出色的特征嵌入泛化(Feature Embedding Generality)。”
最后,贾扬清借用了来源于Ghimire等人的《A Survey on Efficient Convolutional Neural Networks and Hardware Acceleration》里的一张图:
并再一次发出自己的疑问:
大模型尺寸,会遵循与CNN时代相同的趋势来发展吗?
网友怎么看?
其实GPT-4o mini这样走在大模型发展道路上“不大反小”的例子不在少数。
当上述几位表达出这样的观点后,立马有人点头如捣蒜,还拿出了一些别的类似例子,证明他们看到了相同的趋势。
有人立马跟上:
我这儿有个新的正面例子!Gemma-2就是把27B参数大小的模型知识蒸馏成更小的版本。
还有网友表示,开发更大的模型,意味着能给后续几代更小、更垂直的模型的训练“上强度”。
这个迭代过程最终会产生所谓的“完美训练集”。
这样一来,较小的大模型在特定领域,能与现在参数巨大的大模型一样聪明,甚至更聪明。
一言以蔽之,模型必须先变大,然后才能变小。
大多数讨论此观点的人,还是对这个趋势比较认同,有人直言“这是一件好事,比‘我的模型比你的模型大’参数竞赛更实用和有用。”
但是,当然了!
翻遍网络评论区,也有人发出不同的声音。
比如下面这位朋友就在贾扬清推文底下留言:
Mistral Large(背后公司Mistral AI)、LLaMA 3.1(背后公司Meta)和OpenAI,持有最强竞争力模型的公司,目前可能都正在训练更大的模型。
我没发现有“更小型号模型搞定技术突破”的趋势哟。
面对这个问题,贾扬清倒也及时回复了。
他是这么说的:“没错!我说大模型尺寸可能在走CNN的老路,绝对不意味着号召大家停止训练更大的模型。”
他进一步解释道,这么说的本意是,随着技术(包括CNN和大模型)落地实践越来越广,大家已经开始越来越关注性价比更高的模型了。”
所以,或许更高效的小·大模型,能够重新定义AI的“智能”,挑战“越大越好”的假设。
你赞同这个观点不?
参考链接:
[1]https://x.com/jiayq/status/1818703217263624385
[2]https://x.com/fun000001/status/1818791560697594310
[3]https://www.patronus.ai/
[4]https://twitter.com/karpathy/status/1814038096218083497
想跑千亿大模型?算力厂商放大招!CPU通用服务器成为新选择
千亿参数规模的大模型推理,服务器仅用4颗CPU就能实现!
在一台CPU通用服务器上,浪潮信息成功跑通了102B大模型推理。
如果推广开来,没有专用芯片的传统行业,不必更换硬件,也能用上AI了。
△ 浪潮信息通用服务器NF8260G7服务器
成功运行千亿参数大模型
这套方案以极低的延时,近乎实时地进行推理运算。
如此之大的模型,只靠CPU运行,究竟是怎么实现的?
4颗CPU带动千亿大模型?
用CPU在单台通用服务器设备中运行大模型推理,特别是千亿参数的庞然大物,困难是可想而知的。
要想高效运行千亿参数大模型,计算、内存、通信等硬件资源的需求量都非常巨大。
内存方面,千亿参数大约需要200~300GB的显存空间才放得下。
除了内存资源,千亿参数大模型在运行过程中,对数据计算、计算单元之间及计算单元与内存之间通信的带宽要求也非常高。
按照BF16的精度计算,要想使千亿参数大模型的运行时延小于100ms,内存与计算单元之间的通信带宽至少要在每秒2TB以上。
就算解决了这些硬件需求,软件的优化适配同样是一个难题。
由于涉及到大量的并行运算,现有的大模型普遍针对GPU加速集群而设计,这就导致了CPU算力与大模型之间的匹配程度远不及GPU。
因为并行工作环境的缺乏,AI模型需要频繁地在内存和CPU之间搬运算法权重,但通用服务器默认模型权重只能传输给一个CPU的内存。
要想进一步搬运到其他CPU,就需要该CPU作为中介,这就导致了CPU与内存之间的带宽利用率较低,进一步加大了通信开销。
通用AI算力的新标杆
尽管困难重重,但伴随着大量的技术攻关,这些困难也被相继克服——
在2U四路的NF8260G7服务器上,浪潮信息成功运行了千亿参数的源2.0大模型。
运行过程中,服务器仅使用了4颗英特尔6448H芯片, 无需GPU或其他任何额外的AI加速卡。
可以说,浪潮信息这套通用服务器大模型运行方案填补了业界空白,成为了通用AI算力的新标杆。
框架和算法方面,该方案 支持PyTorch、TensorFlow等主流AI框架和DeepSpeed等流行开发工具,满足多样的生态需求。
在这种高效的千亿大模型通用服务器运行方案背后,无疑需要软硬件系统的协同创新。
在配置方面,浪潮信息NF8260G7选用了英特尔至强6448H处理器,共有32颗核心,主频为2.4GHz,L3缓存为60MB,基于32根32G的DDR5内存,内存容量1024GB,实测内存读带宽995GB/s。
更重要的是,该芯片具有AMX(高级矩阵扩展,类似于GPU的Tensor core)AI加速功能,能够更好地适配大模型的运算特点。
同时,为了解决带宽利用率低的问题,采用了“去中心化”的 全链路UPI总线互连,允许任意两个CPU之间直接进行数据传输。
这样的互联方案减少了通信延迟,并将传输速率提高到了16GT/s(Giga Transfers per second)。
但仅靠硬件优化还远远不够。
为了提升源2.0-102B模型在NF8260G7服务器上的推理计算效率,服务器上的CPU需要像GPU一样进行 张量并行计算。
为此,浪潮信息研发工程师将源2.0模型中的注意力层和前馈层的矩阵计算分别拆分到多个处理器,实现同时使用4颗CPU进行计算加速。
张量并行对模型参数的切分粒度较细,要求CPU在每次张量计算后进行数据同步,增加了对CPU间通信带宽的需求。
不过,UPI总线互联的通信方案,刚好能够满足CPU间通信要求。
同时,对于千亿参数大模型的张量并行计算,4颗CPU与内存之间海量的通信需求达到2TB/s,远高于CPU的内存通信带宽。
为降低千亿参数对CPU和内存的通信带宽门槛,浪潮信息对源2.0-102B模型采用了 NF4量化技术。
NF4(4位NormalFloat)是一种分位数量化方法,通过确保量化区间内输入张量的值数量相等,来实现对数据的最优量化。
特别地,NF4量化非常适合近似正态分布的数据,这与大模型的权重分布方式十分契合,所以通过NF4量化,可以获得比传统的INT4或FP4量化更高的精度。
△ INT4数据类型与NF4数据类型对比
但NF4量化也带来了新的问题——NF4量化后,会产生大量的scale参数。
假如按照64个参数作为一个量化块计算,对于一个千亿参数的大模型,仅存储scale参数就需要额外的6GB内存。
为了减少内存占用,浪潮信息还通过嵌套量化将这些scale参数量化到FP8精度,显著减少了所需的存储空间。
通过 NF4量化和嵌套量化,模型的每个权重仅占用1/2字节空间,Yuan2.0大模型占用内存容量缩小到原来的1/4。
有AI芯片,为什么还要用CPU推理?
浪潮信息的这套解决方案,的确让千亿大模型在通用服务器上的运行成为了可能。
但我们仍然想问,明明有很好的AI加速芯片,为什么还要执着于研究CPU推理呢?
首先一点,是拥有更低的部署和推理成本——
从传统行业用户需求看,通用服务器的成本优势显著,较AI服务器成本可降低80%。
这样的成本节约不仅仅包括设备的购置部署,还包括与行业用户现有系统的融合。
采用通用服务器,意味着大模型服务可以更容易地与已有的企业IT系统进行合并,免去了部署AI服务器带来的迁移适配工作。
当然在技术层面,CPU方案的一些优势也是AI加速卡无法比拟的。
内存方面,通用服务器的内存容量远大于现在GPU芯片能够提供的显存容量。
比如在一台双路服务器上,可以很轻松地把内存做到1TB,像NF8260G7这种四路服务器还能做到更大。
所以。对于一个千亿甚至数千亿的大模型,采用通用服务器进行部署,可以说在内存上完全“不受限”,完全能够放得进去。
相比之下,以GPU为代表的AI芯片虽然算力强劲,但内存就显得捉襟见肘了。
AI大模型的运行不仅需要大内存,更需要高速的CPU和内存通信带宽。而基于先进的量化技术,浪潮信息的研发工程师在不影响模型精度的情况下对模型进行量化“瘦身”,大大降低了千亿参数对CPU和内存的通信带宽门槛。
同时,为了满足模型需求,需要多颗芯片协同工作。这就涉及到了通用服务器芯片间的通信效率。
目前一些高端AI芯片也有高速带宽(比如NV Link),但由于成本较高,这样的方案往往在一些比较高端的芯片或者说高端的服务器上才会采用。
而且,这样的算力目前更多地被用于模型训练,用做推理在经济上并不划算。
在通用服务器当中,CPU和CPU之间拥有高速互联通信的链路,通过并行计算环境的优化,无论是在带宽还是在延迟上,完全可以满足千亿参数大模型运行过程中多计算核心通信的需求。
此外,随着新一代CPU开始加入AI加速指令集(如AMX),CPU的AI算力性能也在快速提升。
以浪潮信息现在采用的6448H为例,这样的一个四路服务器的算力也到430TOPS(INT8)或215TFLOPS(BF16),完美满足运行AI大模型推理的算力需求。
通用算力正在发生“智”变
站在更高的层次上看,基于NF8260G7的通用服务器大模型推理方案,也是浪潮信息战略中的重要一环。
包括AI技术在内,科技进步的最终目的是“落入凡间”,赋能千行百业。
与此同时,AI正在从专门的计算领域扩展到所有的计算场景,逐步形成“一切计算皆AI”的格局。
AI计算从以云端、服务器为主开始向手机、PC等各类端侧设备蔓延开来。
CPU、GPU、NPU等各种PU,也都被用于了AI计算。
在这样的趋势下, 传统上认为非典型的AI算力也在发生“智”变,向着智能算力演变。
具体到以CPU为核心的通用算力, 能否运行千亿参数大模型,是衡量其能否支撑千行百业智能涌现的关键。
浪潮信息此次的推出的新方案,填补了行业中千亿大模型通用服务器运行方案的空白,将作为一种更经济的千亿大模型部署方案,成为企业拥有AI的新起点。
未来,浪潮信息将继续坚持在算力、算法和数据三要素上的全面发力,实现更多的系统突破,让AI更深入地走进各行各业。
关于大模型「越狱」的多种方式,有这些防御手段
随着人工智能(AI)技术的迅猛发展,特别是大语言模型(LLMs)如 GPT-4 和视觉语言模型(VLMs)如 CLIP 和 DALL-E,这些模型在多个技术领域取得了显著的进展。LLMs 已经在自然语言处理任务中展现出了前所未有的能力,而 VLMs 则在图像和文本的融合任务中表现优异。这些技术的应用范围从自动化客服到智能创作,无不展示出其强大的潜力。然而,伴随着这些进展,安全性和伦理对齐的问题也日益凸显。
近年来,越来越多的研究者关注 LLMs 和 VLMs 的越狱现象,即通过特定技术手段绕过这些模型的内置安全机制,生成不符合伦理规范的输出。这些越狱行为不仅对模型的实际应用构成威胁,也对用户的安全和隐私带来潜在风险。因此,理解和防范这些越狱行为成为 AI 安全研究中的一个关键问题。
我们来看一个具体的关于越狱的例子:
在上述例子中,用户输入一个恶意问题(蓝色所示),通常而言,大语言模型会拒绝回答此类问题。然而,当攻击者增加一个精心制作的越狱前缀(黄色所示),大语言模型将会对恶意问题进行详细的解答。同样,防御者可以通过增加一些安全提示(红色所示),提醒大语言模型重新思考所给出的答案,中止恶意回复。
针对上述越狱现象,近期,来自伊利诺伊大学香槟分校,布朗大学,密歇根大学安娜堡分校,香港科技大学,卡内基梅隆大学和博伊西州立大学的研究者联合发布了一篇综述,详细探讨了 LLMs 和 VLMs 的越狱现象,对各种越狱类型和相应的防御机制进行了系统分类和分析。通过对现有研究的全面综述,旨在为学术界和工业界提供一个关于 AI 模型安全性的全面视角,并提出应对这些挑战的有效策略。
论文地址:https://arxiv.org/pdf/2407.01599
项目地址:https://github.com/Allen-piexl/JailbreakZoo
网站地址:https://chonghan-chen.com/llm-jailbreak-zoo-survey/
这篇综述提供了:
1. 越狱分类:我们将关于LLMs的越狱现象细分为5种类型,将关于VLMs的越狱现象细分为3种类型,提供了每种类型的详细分类和理解。以下是我们分类的主要内容:
LLMs
梯度攻击(Gradient-based Attacks)
进化攻击(Evolutionary-based Attacks)
演示攻击(Demonstration-based Attacks)
规则攻击(Rule-based Attacks)
多代理攻击(Multi-agent-based Attacks)
VLMs
提示到图像注入的越狱攻击(Prompt-to-Image Injection Jailbreaks)
提示-图像扰动注入越狱攻击(Prompt-Image Perturbation Injection Jailbreaks)
代理模型迁移越狱攻击(Proxy Model Transfer Jailbreaks)
此外,我们进一步整理了现有的利用越狱攻击对LLMs和VLMs进行评测的方法,以及一些相关的综述。
2. 防御机制:我们回顾并分类了各种防御策略,我们发现,LLMs和VLMs有着类似的防御机制,强调了统一方法以应对这些越狱漏洞的必要性。主要防御机制包括:
提示检测(Prompt Detection-based Defenses)
提示扰动(Prompt Perturbation-based Defenses)
演示防御(Demonstration-based Defenses)
生成干预(Generation Intervention-based Defenses)
响应评估(Response Evaluation-based Defenses)
模型微调(Model Fine-tuning-based Defenses)
3. 未来研究方向:我们的综述突出了当前研究中的关键空白,并提出了未来的研究方向,以增强LLMs和VLMs的安全框架。
越狱类型及实例 – 大语言模型(LLMs)
在我们的研究中,我们将大语言模的越狱现象进行了系统分类,归纳为七种主要类型。每种类型都有其独特的攻击方法和技术细节,通过对这些越狱类型的深入分析,我们希望能够揭示这些模型在安全性方面的潜在漏洞,并为未来的防御工作提供指导。
1. 梯度攻击(Gradient-based Attacks)
梯度攻击通过利用模型的梯度信息,生成有害响应。例如,使用梯度坐标贪婪算法(GCG)生成后缀,使模型生成有害内容。此方法通过梯度优化生成能避开模型检测的提示,从而使 LLM 输出有害的响应。此类攻击常用于测试模型的安全性和鲁棒性,研究者通过此类攻击可以发现模型的潜在漏洞,并进行相应的修复和优化。
2. 进化攻击(Evolutionary-based Attacks)
进化攻击使用遗传算法生成对抗性提示,优化语义相似性、攻击效果和流畅性。例如,FuzzLLM 通过随机组合模板、约束和问题集生成攻击指令。这些方法使用进化策略逐步改进提示,以找到最有效的攻击手段。进化攻击特别适合在黑盒环境中使用,即攻击者对模型内部结构和参数未知的情况下,也能进行有效攻击。
3. 演示攻击(Demonstration-based Attacks)
演示攻击通过创建特定的系统提示,指示 LLMs 生成预期的响应。这些方法通常是硬编码的,提示经过精心设计以引导模型生成所需的响应。例如,DAN 方法通过预设的对话框架,使模型在 “开发者模式” 下生成本不应生成的内容。演示攻击利用模型的上下文学习能力,通过提供一系列示例,使模型更容易产生目标响应。
4. 规则攻击(Rule-based Attacks)
规则攻击通过预定义的规则将恶意成分分解并重定向。攻击者设计复杂的规则,隐藏恶意内容。例如,通过词汇替换将有害意图编码为看似正常的内容,从而绕过模型的检测。这类攻击方法特别适用于绕过简单的基于关键字的检测系统,使攻击内容在输入时显得无害。
5. 多代理攻击(Multi-agent-based Attacks)
多代理攻击利用多个 LLMs 合作,生成、组织和改进越狱提示。这些方法通过模拟多模型协作的方式,提高越狱攻击的效果。例如,PAIR 方法利用多个代理模型生成和评估提示,不断优化攻击策略。这种方法特别适合用于需要迭代改进的攻击场景,通过多次尝试和反馈,找到最有效的攻击手段。
越狱类型及实例 – 视觉语言模型(VLMs)
与大语言模型(LLM)类似,与视觉语言模型(VLM)相关的越狱也已成为一个重要关注点。由于所有 VLM 都使用 LLM 组件进行文本编码,因此影响 LLM 的漏洞也可能会危及 VLM。此外,VLM 中视觉输入的引入不仅拓宽了其功能范围,还显著增加了攻击面,从而加剧了涉及的安全风险。与主要针对文本输入的 LLM 越狱不同,VLM 的恶意操纵可以通过视觉输入、文本组件或两者的组合进行,表现出更加复杂和多样的模式。
1. 提示到图像注入的越狱攻击(Prompt-to-Image Injection Jailbreaks)
通过将恶意提示注入到图像生成过程中来绕过模型的安全机制。攻击者设计特定的文本提示,使模型生成含有不良或不符合伦理的图像。例如,攻击者可以利用一些敏感词汇或语句来引导模型生成攻击性或误导性的图像。
2. 提示 – 图像扰动注入越狱攻击(Prompt-Image Perturbation Injection Jailbreaks)
提示 – 图像扰动注入越狱攻击结合了文本提示和图像扰动,通过在输入提示中加入微小的扰动,使模型生成错误或有害的响应。例如,攻击者可以在图像中加入几乎不可见的像素变化,同时调整文本提示,以引导模型生成偏离预期的描述或内容。这种方法利用了模型对微小变化的敏感性,使其难以检测和防御。
3. 代理模型迁移越狱攻击(Proxy Model Transfer Jailbreaks)
代理模型迁移越狱攻击利用代理模型进行攻击,即在较小的代理模型上训练和优化攻击,然后将其转移到目标模型上。攻击者在代理模型上进行大量试验,找到有效的攻击方式,再将这些攻击应用到目标模型上。此类攻击可以有效绕过目标模型的安全机制,因为代理模型和目标模型可能共享相似的弱点和漏洞。
防御机制及实例 – 大语言模型(LLMs)
1. 提示检测(Prompt Detection-based Defenses)
提示检测基于输入提示的特征,如困惑度(Perplexity)和长度,评估提示的有害性。例如,通过困惑度计算器 LLM 检测输入提示的困惑度,判断其是否安全。提示检测是最早的防御策略之一,利用模型对高困惑度提示的不敏感性来判断提示的安全性。
2. 提示扰动(Prompt Perturbation-based Defenses)
提示扰动通过对输入提示进行修改,破坏其恶意意图。例如,通过语义扰动和重新分词技术生成多个变体,评估每个变体的响应是否安全。此类方法利用了恶意提示对精确结构和词序的依赖,通过随机扰动破坏这些结构,使其难以成功执行攻击。
3. 演示防御(Demonstration-based Defenses)
演示防御通过设置安全的系统提示,引导 LLM 生成安全响应。例如,使用自我提醒提示模型生成安全的响应。演示防御利用了模型的上下文学习能力,通过提供正面示例,增强模型对安全响应的倾向。
4. 生成干预(Generation Intervention-based Defenses)
生成干预通过调整 LLM 的响应生成过程,确保输出的安全性。例如,RAIN 方法通过反复生成和评估 token,确保生成的内容安全。此类方法在生成过程中实时干预,动态调整输出内容,以避免生成有害响应。
5. 响应评估(Response Evaluation-based Defenses)
响应评估通过对生成的响应进行评估,确保其安全性。例如,利用辅助 LLM 评估响应的有害性,并进行迭代改进。此类方法利用模型对自身生成内容的评估能力,通过不断优化,确保最终输出的安全。
6. 模型微调(Model Fine-tuning-based Defenses)
模型微调通过调整 LLM 的内部参数,增强其安全性。例如,通过在混合数据上训练模型,使其对有害内容更加敏感,从而生成更安全的响应。此类方法直接改变模型的行为,使其在面对恶意提示时能够做出更安全的决策。
防御机制及实例 – 视觉语言模型(VLMs)
在视觉语言模型中,许多防御策略与大语言模型的防御策略相似。这些策略通过调整模型的内部参数、评估生成的响应以及扰动输入提示来增强模型的安全性。
1. 提示扰动防御(Prompt Perturbation-based Defenses)
提示扰动通过对输入提示进行修改,破坏其恶意意图。例如,通过语义扰动和重新分词技术生成多个变体,评估每个变体的响应是否安全。此类方法利用了恶意提示对精确结构和词序的依赖,通过随机扰动破坏这些结构,使其难以成功执行攻击。
2. 响应评估防御(Response Evaluation-based Defenses)
响应评估通过对生成的响应进行评估,确保其安全性。例如,利用辅助 VLM 评估响应的有害性,并进行迭代改进。此类方法利用模型对自身生成内容的评估能力,通过不断优化,确保最终输出的安全。
3. 模型微调防御(Model Fine-tuning-based Defenses)
模型微调通过调整 VLM 的内部参数,增强其安全性。例如,通过在混合数据上训练模型,使其对有害内容更加敏感,从而生成更安全的响应。此类方法直接改变模型的行为,使其在面对恶意提示时能够做出更安全的决策。
未来研究方向
我们的研究不仅分析了当前 LLMs 和 VLMs 越狱现象及其防御机制,还发现了现有研究中的一些关键空白。这些空白为未来的研究提供了重要的方向,以进一步增强 AI 模型的安全性和鲁棒性。以下是我们提出的几个未来研究方向:
1. 多模态越狱攻击与防御
随着多模态 AI 系统的快速发展,如何在结合文本和图像的环境中进行越狱攻击并有效防御成为一个重要课题。未来研究应重点关注多模态模型中的越狱技术,包括如何利用视觉和文本输入的协同作用来规避安全机制。同时,需要开发专门针对多模态系统的防御策略,以确保这些系统在处理复杂任务时的安全性。
2. 自动化越狱检测与修复
现有的越狱检测方法大多依赖于手工设计的规则和特征,效率较低且难以适应不断变化的攻击手段。未来研究可以探索利用机器学习和深度学习技术,开发自动化的越狱检测与修复系统。这些系统应能够实时检测并修复潜在的越狱攻击,提升模型的自我保护能力。
3. 强化学习在越狱防御中的应用
强化学习(Reinforcement Learning, RL)在越狱防御中的应用具有广阔前景。通过 RL,模型可以在不断的交互中学习如何识别和防御越狱攻击。例如,利用 RL 技术,模型可以动态调整其内部参数和响应策略,以应对不同类型的攻击。未来研究应深入探索 RL 在越狱防御中的应用,并开发相应的算法和工具。
4. 越狱攻击的伦理与法律研究
随着越狱技术的不断发展,其潜在的伦理和法律问题也逐渐显现。未来研究应关注越狱攻击的伦理和法律影响,包括如何制定相关法规和政策来规范越狱行为。此外,还需要探索如何在技术和法律层面有效平衡创新与安全,确保 AI 技术的可持续发展。
5. 开放与封闭模型的安全对比研究
当前的研究多集中于开放源代码的模型,而对封闭源代码模型的研究相对较少。未来应更多关注开放与封闭模型在安全性方面的差异,研究如何在封闭环境中实现高效的安全防御。同时,还需探索开放模型社区的协作机制,以共享和推广有效的防御策略。
6. 用户教育与防护
除了技术层面的防御,用户教育也是防范越狱攻击的重要环节。未来研究应开发针对不同用户群体的教育资源,提高用户对越狱攻击的认知和防范能力。通过增强用户的安全意识,可以有效减少越狱攻击的成功率,从而提升整体系统的安全性。
总结
大语言模型(LLMs)和视觉语言模型(VLMs)的越狱现象和防御机制有许多共性和差异。共性源于它们都基于深度学习技术和类似的神经网络结构,且主要处理自然语言内容,因此在面临梯度攻击、进化攻击等威胁时表现出相似的脆弱性。防御策略如提示检测、提示扰动、生成干预、响应评估和模型微调在两者中也有广泛应用。然而,VLMs 由于需要处理图像和文本的组合输入,其攻击手段更为复杂,包括 Prompt-to-Image Injection 和 Prompt-Image Perturbation Injection 等多模态攻击。防御机制也因此更复杂,需要同时考虑视觉和语言输入的特性。VLMs 的训练成本较高,Proxy Model Transfer Jailbreaks 在这种情况下更为常见,攻击者利用代理模型优化攻击,再将其应用于目标模型。此外,LLMs 和 VLMs 在应用场景上有所不同,LLMs 主要用于文本生成和对话系统,而 VLMs 则用于图像生成和图文理解任务。这些共性和差异为理解和应对 AI 模型的安全威胁提供了重要的洞见,未来研究应继续关注这些方面,以开发更有效的防御策略,确保 AI 技术的安全应用。