我自己的原文哦~ https://blog.51cto.com/whaosoft/13793158
#大模型高效推理综述
本文对现有的关于高效大模型推理的文献进行了全面的综述总结。
大模型由于其在各种任务中的出色表现而引起了广泛的关注。然而,大模型推理的大量计算和内存需求对其在资源受限场景的部署提出了挑战。业内一直在努力开发旨在提高大模型推理效率的技术。本文对现有的关于高效大模型推理的文献进行了全面的综述总结。首先分析了大模型推理效率低下的主要原因,即大模型参数规模、注意力计算操的二次复杂度作和自回归解码方法。然后,引入了一个全面的分类法,将现有优化工作划分为数据级别、模型级别和系统级别的优化。此外,本文还对关键子领域的代表性方法进行了对比实验,以及分析并给出一定的见解。最后,对相关工作进行总结,并对未来的研究方向进行了讨论。
论文:A Survey on Efficient Inference for Large Language Models
地址:https://arxiv.org/abs/2404.14294
1 Introduction
近年来,大模型受到了学术界和工业界的广泛关注。
LLM领域经历了显著的增长和显著的成就。许多开源llm已经出现,包括gpt-系列(GPT-1, GPT-2和GPT-3), OPT, lama系列(LLaMA , LLaMA 2,BaiChuan 2 ,Vicuna, LongChat), BLOOM, FALCON, GLM和Mtaistral[12],他们用于学术研究和商业落地。大模型的成功源于其处理各种任务的强大能力,如神经语言理解(NLU)、神经语言生成(NLG)、推理和代码生成[15],从而实现了ChatGPT、Copilot和Bing等有影响力的应用程序。越来越多的人认为[16]LMM士的崛起和取得的成就标志着人类向通用人工智能(AGI)迈进了一大步。
图1:大模型部署挑战
然而,LLM的部署并不总是很顺利。如图1所示,在推理过程中,使用LLM通常需要更高的计算成本,内存访问成本和内存占用。(根本原因分析见Sec. 2.3)在资源受限的场景中,推理效率也会降低(如,延迟,吞吐量,功耗和存储)。这对LLM在终端以及云场景这两方面的应用带来了挑战。例如,巨大的存储需求使得在个人笔记本电脑上部署70B参数量的模型来用于辅助开发是不切实际的。此外,如果将LLM用于每一个搜索引擎请求,那么低吞吐量将带来巨大的成本,从而导致搜索引擎利润的大幅减少。
幸运的是,大量的技术已经被提出来,以实现LLM的有效推理。为了获得对现有研究的全面了解,并激发进一步的研究,文章对当前现有的LLM高效推理工作采用了分级分类和系统总结。具体来说,将现有工作划分组织为数据级别、模型级别和系统级别的优化。此外,文章对关键子领域内的代表性方法进行了实验分析,以巩固知识,提供实际性建议并为未来的研究努力提供指导。
表1:综述对比
目前,综述[17],[18],[19],[20],[21],[22]均涉及LLM领域。这些综述主要集中在LLM效率的不同方面,但提供了进一步改进的机会。Zhu等[17],Park等[18]和Wang等。[19]将综述的重心放在,模型压缩技术上,是模型级别的优化。Ding等[20]将数据和模型架构作为研究重心。Miao等[21]从机器学习系统(MLSys)研究的角度研究LLM的有效推理。相比之下,本文提供了一个更全面的研究范围,在三个层次上解决优化:数据级别、模型级别和系统级别,同时也囊括了最近的研究工作。而Wan等[22]和Xu等[23]也对高效LLM研究进行了全面综述。基于在几个关键的子领域如模型量化和模型server端中进行的实验分析,本文通过整合对比实验,提供实际的见解和建议。如表1所示,展示了各种综述之间的比较。
本文行文结构划分如下:第二章介绍了LLMs的基本概念和知识,并对LLMs推理过程中效率瓶颈进行了详细的分析。第三章展示了本文提出的分类法。第四章到第六章从三个不同优化级别分别对相关工作进行展示讨论。第七章针对几个关键的应用场景进行更广泛的讨论。第八章总结本综述的关键贡献。
2 Preliminaries
2.1 transformer架构的LLM
语言建模作为语言模型的基本功能,包括对单词序列概率进行建模并预测后续单词的概率分布。近年来研究人员发现增加语言模型规模不仅提高了语言建模能力,除了传统的NLP任务之外,还产生了处理更复杂任务的能力[24],这些规模更大的语言模型是被称为大模型(LLMs)。
主流大模型是基于Transformer架构[25]设计的。典型的transformer架构的模型由数个堆叠的transformer block组成。通常,一个transformer block由一个多头自注意力(MHSA)模块,一个前馈神经网络(FFN)和一个LayerNorm(LN)层组成。每个transformer block接收前一个transformer block的输出特征,并将其作为输入,并将特征串行送进每个子模块中,最后输出。特别的是,在第一个transformer block前,需要用一个tokenizer将传统的输入语句转化为token序列,并紧接着使用一个embedding层将token序列转化为输入特征。且一个额外的位置embedding被加入到输入特征中,来对输入token序列的token顺序进行编码。
Transformer架构的核心是自注意力机制,其在多头自注意力(MHSA)模块被使用。MHSA模块对输入进行线性变换,得到了Q,K,V向量,如公式(1)所示:
其中 为输入特征, 为第 个注意力头的变换矩阵。接着自注意力操作被应用于每个 元组并得到第个注意力头的特征 , 如公式 (2)所示:
其中是query(key)的维度。自注意力计算包含矩阵乘法,其计算复杂度是输入长度的二次方。最后,MHSA模块将所有注意力头的特征进行拼接,并对他们做映射矩阵变换,如公式(3)所示:
其中是映射矩阵。自注意力机制可以让模型识别不同输入部分的重要性,而不用去考虑距离,也已就此可以获得输入语句的长距离依赖以及复杂的关系。FFN作为transformer block的另一个重要模块,被设置在多头自注意力(MHSA)模块之后,且包含两个使用非线性激活函数的。其接收MHSA模块的输出特征如公式(4)所示,进行计算:
其中,和为两个线性层的权重矩阵, 为激活函数。
2.2 大模型推理过程
最受欢迎的大模型,如,decoder-only架构的大模型通常采用自回归的方式生成输出语句,自回归的方式是逐token的进行输出。在每一次生成步中,大模型将过去的全部token序列作为输入,包括输入token以及刚刚生成的token,并生成下一个token。随着序列长度的增加,生过文本这一过程的时间成本也显著藏家。为了解决这个问题,一个关键技术,key-value(KV)缓存被提出来,用于加速文本生成。
KV缓存技术,包括在多头自注意(MHSA)块内,存储和复用前面的token对应的key 向量(K)和value向量(V)。此项技术在大模型推理以中得到了广泛的应用,因为其对文本生成延迟实现了巨大的优化。基于此项技术,大模型的推理过程可以划分为两个阶段:
①prefilling阶段:大模型计算并存储原始输入token的KV缓存,并生成第一个输出token,如图2(a)所示
②decoding阶段:大模型利用KV 缓存逐个输出token,并用新生成的token的K,V(键-值)对进行KV缓存更新。
图2:KV缓存技术在大模型推理中应用原理示意图
如图3所示,展示了提升推理效率的关键指标。对于横轴Latency(延迟,在预填充(prefilling)阶段,将first token latency记作生成第一个token的时间;在decoding阶段,将per-output token latency记作生成一个token的平均时间。此外,generation latency表示输出整个token序列的时间。对于纵轴Memory(内存),model size被用来表示存储模型权重所需要的内存大小以及KV cache size代表存储存储KV缓存的内存大小。此外,peak memory代表在生成工程中需要占用的最大内存。其大约为model size与KV cache size之和。对模型权重和KV缓存的内存和。除去延迟和内存中,吞吐量(throughput)也是大模型推理服务系统中的一个广泛使用的指标。token throughput表示每秒生成的token数量,request throughput表示每秒完成的请求数。
2.3 推理效率分析
在资源受限的场景中,部署大模型并保持其推理效率以及性能对于工业界和科研及都是巨大的挑战。例如,对有700亿参数量的LLaMA-2-70B进行部署,以FP16数据格式对其权重进行加载需要140GB显存(VRAM),进行推理需要至少6张 RTX 3090Ti GPU(单卡显存24GB)或者2张NVIDIA的A100 GPU(单卡显存80GB)。在推理延迟方面,2张NVIDIA的A100 GPU上生成一个token需要100毫秒。因此,生成一个具有数百个token的序列需要超过10秒。除去内存占用和推理延迟,吞吐量以及能源电量的消耗都需要被考虑。大模型推理过程中,三个重要因素将很大程度上影响上述指标。计算成本(computational cost),内存访问成本(memory access cost)和内存使用(memory usage)。大模型推理低效率的根本原因需要关注三个关键因素:
①Model Size:主流大模型通常包含数十亿甚至万亿的参数。例如,LLaMA-70B模型包括700亿参数,而GPT-3为1750亿参数。在推理过程中,模型大小对计算成本、内存访问成本和内存使用产生了显著影响。
②Attention Operation:如2.1和2.2中所述,prefilling阶段中,自注意操作的计算复杂度为输入长度的2次方,因此输入长度的增加,计算成本、内存访问成本和内存使用都会显著增加。
③Decoding Approach:自回归解码是逐token的进行生成。在每个decoding step,所有模型权重都来自于GPU芯片的片下HBM,导致内存访问成本巨大。此外,KV缓存随着输入长度的增长而增长,可能导致内存分散和不规则内存访问。
3 TAXONOMY
上述部分讲述了影响大模型推理性能的关键因素,如计算成本、内存访问成本和内存使用,并进一步分析了根本原因:Model Size、Attention Operation和Decoding Approach。许多研究从不同的角度对优化推理效率进行了努力。通过回顾和总结这些研究,文章将它们分为三个级别的优化,即:数据级别优化、模型级别优化和系统级别优化(如图4所示):
图4:大模型推理性能优化分类
- 数据级别优化:即通过优化输入prompt(例如,输入压缩)或者更好的组织输出内容(例如,输出组织)。这类优化通常不会改变原来的模型,因此没有高昂的模型训练成本(其中,可能需要对少量的辅助模型进行训练,但与训练大模型的成本相比,这个成本可以被忽略)。
- 模型级别优化:即在模型推理时,通过设计一个有效的模型结构(如有效的结构设计)或者压缩预训练模型(如模型压缩)来优化推理效率。优化第一种优化通常需要昂贵的预训练或少量的微调来保留或者恢复模型能力的成本,而第二种典型的会给模型性能带来损失。
- 系统级别优化:即优化推理引擎或者服务系统。推理引擎的优化不需要进行模型训练,服务系统的优化对于模型性能而言更是无损的。此外,文章还在章节6.3中队硬件加速设计进行了简单的介绍。
4.数据级别优化
数据级别的优化今年来的工作可以划分为两类,如优输入压缩或者输出组织。输入压缩技术直接缩短了模型的输入长度来减少推理损失。同时输出组织技术通过组织输出内容的结构来实现批量(并行)推理,此方法可以提升硬件利用率和降低模型的生成延迟。
4.1输入压缩
在大模型的实际应用中,提示词prompt至关重要,许多工作都提出了设计提示词的新方法,它们在实践中均展示出精心设计的提示可以释放大模型的性能。例如,上下文学习(In-Context Learning)建议在prompt中包含多个相关示例,这种方法能够鼓励大模型去进行类比学习。思维链(Chain-of-Thought, COT)技术则是在上下文的示例中加入一系列中间的推理步骤,用于帮助大模型进行复杂的推理。然而,这些提示词上的相关技巧不可避免地会导致提示词更长,这是一个挑战,因为计算成本和内存使用在prefilling期间会二次增长(如2.3节所示)。
为了解决这个问腿输入prompt压缩技术被提出来用于缩短提示词长度且不对大模型的回答质量构成显著性影响。在这一技术方面,相关研究可分为四个方面,如图5所示:提示词裁剪(prompt pruning),提示词总结(prompt summary),基于提示词的软压缩(soft prompt-based compression)和检索增强生成(retrieval augmented generation, RAG)。
图5:大模型输入压缩方法分类
4.1.1 提示词裁剪(prompt pruning)
提示词裁剪的核心思想是从输入prompt中基于预定义或者学习到的关键性指标中去在线去除不重要的token,语句或者文档。DYNAICL提出对给定输入,动态地确定上下文示例的最优数量,通过一个训练好的基于大模型的controller。Selective Context这篇论文提出将token合并为数个单元,接着使用一个基于self-information指标(如,negative log likelihood)的单元级别地prompt裁剪。STDC论文基于解析树进行提示词裁剪,其迭代地删除在裁剪后导致最小性能下降的短语node。PCRL论文引入了一种基于强化学习的token级别的裁剪方案。PCRL背后的核心思想是通过将忠实度和压缩比组合到奖励函数中来训练一个策略大模型。忠实度是通过计算经过裁剪后的输出提示符和原始提示词之间的相似度来衡量的。RECOMP方法实现了一种句子级别裁剪策略来压缩用于检索增强语言模型(Retrieval-Augmented Language Models, RALMs)的提示。该方法包括使用预训练的encoder将输入问题和文档编码为latent embedding。然后,它根据文档embedding与问题embedding的相似度决定要去除哪些文档。LLMLingua引入了一种粗到细的剪枝方案,用于prompt压缩。最初,它执行示范级别的裁剪,然后根据困惑度执行token级别的裁剪。为了提高性能,LLMLingua提出了一个预算控制器,在提示词的不同部分之间动态分配裁剪预算。此外,它利用迭代式的token级的压缩算法来解决由条件独立性假设引入的不准确性。LLMLingua还采用了一种分布对齐策略,将目标大模型的输出分布与用于困惑度计算的较小大模型进行对齐。LongLLMLingua[41]在LLMLingua的基础上进行了一些加强:(1)它利用以输入问题为条件的困惑度作为提示词裁剪的指标。(2)它为不同的演示分配不同的修剪比例,并根据其指标值在最终提示词内重新排序。(3)基于响应恢复原始内容。CoT-Influx引入了一种使用强化学习对思维链(CoT)提示词进行粗到细粒度裁剪的方法。具体来说,它会先裁剪去除不重要的示例,然后在剩下的示例中继续删除不重要的token。
4.1.2 提示词总结(prompt summary)
提示词总结的核心思想是在保持相似的语义信息的前提下,将原有提示词浓缩为更短的总结。这些技术还可以作为提示词的在线压缩方法。与前面提到的保留未裁剪标记的提示词裁剪技术不同,这一行方法将整个提示符转换为总结。RECOMP[34]引入了一个抽象压缩器(Abstractive Compressor),其将输入问题和检索到的文档作为输入,生成一个简洁的摘要。具体来说,它从大规模的大模型中提取轻量级压缩器来进行总结工作。SemanticCompression提出了一种语义压缩方法。它首先将文本分解成句子。然后,它根据主题将句子分组,然后总结每组中的句子。
4.1.3 基于提示词的软压缩(Soft Prompt-based Compression)
这种压缩技术的核心思想是设计一个比原始提示词短得多的软提示词,作为大模型的输入。软提示词被定义为一系列可学习的连续token。有些技术对固定前缀的提示词(如系统提示词、特定任务提示词)采用脱机压缩。例如,PromptCompression训练软提示来模拟预定的系统提示词。该方法包括在输入token之前添加几个软token,并允许在反向传播期间对这些软token进行调整。在对提示数据集进行微调之后,软token序列充当软提示词。Gisting引入了一种方法,使用前缀词调优将特定任务的提示词压缩为一组简洁的gist token。鉴于特定任务的提示会因任务而异,前缀词调优将针对每个任务单独使用。为了提高效率,Gisting进一步引入了一种元学习方法,用于预测新的未见过的gist token基于先前任务中的的gist token。
其他技术对每个新的输入提示词进行在线压缩。例如,AutoCompressors训练一个预训练的语言模型,通过无监督学习将提示词压缩成总结向量。ICAE训练了一个自动编码器将原始上下文压缩到短记忆槽中。具体来说,ICAE采用适应LoRA的大模型作为编码器,并使用目标大模型作为解码器。在输入token之前添加一组记忆token并将其编码到记忆槽中。
4.1.4 检索增强生成(retrieval augmented generation, RAG)
检索增强生成(Retrieval-Augmented Generation, RAG)旨在通过整合外部知识来源来提高大模型回答的质量。RAG也可以看作是在处理大量数据时提高推理效率的一种技术。RAG没有将所有信息合并到一个过长的prompt中,而是将检索到的相关信息添加到原始提示符中,从而确保模型在显著减少提示词长度的同时接收到必要的信息。FLARE使用对即将到来的句子的预测来主动决定何时以及检索什么信息。REPLUG将大模型视为一个黑盒,并使用可调检索模型对其进行扩充。它将检索到的文档添加到冻结的黑盒大模型的输入中,并进一步利用大模型来监督检索模型。Self-RAG通过检索和自我反思来提高大模型的质量和真实性。它引入了反馈token,使大模型在推理阶段可控。
4.2 输出组织(Output Organization)
传统的大模型的推理过程是完全顺序生成的,这会导致大量的时间消耗。输出组织技术旨在通过组织输出内容的结构来(部分地)实现并行化生成。
思维骨架(Skeleton-of-Thought, SoT)是这个方向的先驱。SoT背后的核心思想是利用大模型的新兴能力来对输出内容的结构进行规划。具体来说,SoT包括两个主要阶段。在第一阶段(即框架阶段),SoT指导大模型使用预定义的“框架提示词”生成答案的简明框架。例如,给定一个问题,如“中国菜的典型类型是什么?”,这个阶段的输出将是一个菜的列表(例如,面条,火锅,米饭),没有详细的描述。然后,在第二阶段(即点扩展阶段),SoT指导大模型使用“点扩展提示符”来同时扩展骨架中的每个点,然后将这些拓展连接起来最终形成最后答案。当应用于开源模型时,可以通过批推理执行点扩展,这可以提升硬件利用率,并在使用相同的计算资源的前提下减少总体生成延迟,以减少额外的计算。SoT的推理流程展示如图6所示:
由于额外的提示词(如骨架提示词和点扩展提示词)带来的开销,SoT讨论了在点扩展阶段跨多个点来共享公共提示词前缀的KV缓存的可能性。此外,SoT使用路由模型来决定SoT是否适合应用于特定的问题,目的是将其限制在合适的情况下使用。结果,SoT在最近发布的12个大模型上 实现了高达2.39倍的推理加速,并通过提高答案的多样性和相关性来提高答案质量。
SGD进一步扩展了SoT的思想,其将子问题点组织成一个有向无环图(DAG),并在一个回合内并行地回答逻辑独立的子问题。与SoT类似,SGD还利用大模型的新兴能力,通过提供自己制作的提示词和几个示例来生成输出结构。SGD放宽了不同点之间严格的独立性假设,以提高答案的质量,特别是对于数学和编码问题。与SoT相比,SGD优先考虑答案质量而不是速度。此外,SGD引入了一个自适应的模型选择方法,来根据其估计的复杂性为每个子问题分配最优模型大小,从而进一步提高效率。
APAR采用了与SoT类似的思想,利用大模型输出特殊的控制token(如 ,[fork])来自动动态的触发并行解码。为了有效地利用输出内容中固有的可并行化结构并准确地生成控制token,APAR对大模型进行了微调,这些大模型是精心设计的数据上进行的,这些数据是在特定树结构中形成的。因此,APAR在基准测试中实现1.4到2.0倍的平均加速,且对答案质量的影响可以忽略不计。此外,APAR将他们的解码方法与推测解码技术(如Medusa)和推理框架(如vLLM)结合,来进一步改进推理延迟和系统吞吐量。
SGLang在Python 特征原语中引入了一种领域特定语言(DSL),其能够灵活地促进大模型编程。SGLang的核心思想是自动分析各种生成调用之间的依赖关系,并在此基础上进行批量推理和KV缓存共享。使用该语言,用户可以轻松实现各种提示词策略,并从SGLang的自动效率优化(如SoT,ToT)中收益。此外,SGLang 还介绍并结合了几种系统级别的编译技术,如代码移动和预取注释。
4.3 认识,建议和未来方向
大模型处理更长的输入、生成更长的输出的需求日益增长,这凸显了数据级别的优化技术的重要性。在这些技术中,输入压缩方法的主要目标是通过减少由attention操作引起的计算和内存成本来提升prefilling阶段的效率。此外,对于基于API的大模型,这些方法可以减少与输入token相关的API成本。相比之下,输出组织方法侧重于通过降低与自回归解码方法相关的大量内存访问成本来优化解码阶段。
随着大模型的功能越来越强大,是有可能能利用它们来压缩输入提示词或构建输出内容的。输出组织方法的最新进展也证明了利用大模型将输出内容组织成独立点或依赖图的有效性,从而便于批量推理以改善生成延迟。这些方法利用了输出内容中固有的可并行结构,使大模型能够执行并行解码,从而提高硬件利用率,从而减少端到端的生成延迟。
最近,各种提示词pipeline(如,ToT ,GoT)和Agent框架正在出现。虽然这些创新提高了大模型的能力,但它们也增加了输入prompt的长度,导致计算成本增加。为了解决这个问题,采用输入压缩技术来减少输入长度是一种很有希望的解决方案。同时,这些pipeline和框架自然地为输出结构引入了更多的并行性,增加了并行解码和跨不同解码线程来共享KV cache的可能性。SGLang支持灵活的大模型编程,并为前端和后端协同优化提供了机会,为该领域的进一步扩展和改进奠定了基础。总之,数据级别优化,包括输入压缩和输出组织技术,在可预见的将来,为了提高大模型推理效率,将变得越来越必要。
除了优化现有框架的推理效率外,一些研究还侧重于直接设计更高效的智能体框架。例如,FrugalGPT提出了一个由不同大小的大模型组成的模型级联,如果模型对答案达到足够的确定性水平,那么推理过程就会提前停止。该方法通过利用分层的模型体系结构和基于模型置信度估计的智能推理终止来提高效率。与模型级别的动态推理技术(第5.2.5节)相比,FrugalGPT在pipeline级别执行动态推理。
5 模型级别优化
大模型高效推理的模型级别优化主要集中在模型结构或数据表示的优化上。模型结构优化包括直接设计有效的模型结构、修改原模型和调整推理时间结构。在数据表示优化方面,通常采用模型量化技术。
在本节中,文章将根据所需的额外训练开销对模型级别的优化技术进行分类。第一类包含设计更有效的模型结构(又叫有效结构设计)。使用这种方法开发的模型通常需要从头开始训练。第二类侧重于压缩预训练模型(称为模型压缩)。此类别中的压缩模型通常只需要最小的微调即可恢复其性能。
5.1 有效结构设计
目前,SOTA大模型通常使用Transformer架构,如2.1节所述。然而,基于transformer的大模型的关键组件,包括前馈网络(FFN)和attention操作,在推理过程中存在效率问题。文章认为原因如下:
- FFN在基于transformer的大模型中贡献了很大一部分模型参数,这导致显著的内存访问成本和内存使用,特别是在解码阶段。例如,FFN模块在LLaMA-7B模型中占63.01%,在LLaMA-70B模型中占71.69%。
- attention操作在的复杂度是输入长度的二次方,这导致大量的计算成本和内存使用,特别是在处理较长的输入上下文时。
为了解决这些计算效率问题,一些研究集中在开发更有效的模型结构上。文章将相关研究分为三组(如图7所示):高效FFN设计、高效注意力设计和Transformer替代。
图7:大模型有效结构设计分类
5.1.1 高效FFN设计
在这一方面,许多研究都集中在将混合专家(mixture-of-experts, MoE)技术集成到大模型中,以提高大模型的性能,同时保持计算成本。MoE的核心思想是动态地分配各种预算,在面对不同的输入token时。在基于MoE的Transformers中,多个并行的前馈审计网络(FFN),即专家,与可训练的路由模块一起使用。在推理过程中,模型选择性地为路由模块控制的每个token激活特定的专家。
一些研究集中研究FFN专家的工作,主要是在优化专家权值的获取过程或使专家更轻量化以提高效率。例如,MoEfication设计了一种方法,使用预训练的权重将非MoE大模型转换为MoE版本。这种方法免去了对MoE模型进行昂贵的预训练的需要。为了实现这个技术,MoEfication首先将预训练大模型的FFN神经元分成多组。在每一组中,神经元通常同时被激活函数激活。然后,它以专家的身份重组每组神经元。Sparse Upcycling引入了一种方法,直接从密集模型的checkpoint中初始化基于MoE的LLM的权重。在这种方法中,基于MoE的LLM中的专家是密集模型中FFN的精确复制品。通过使用这种简单的初始化,Sparse Upcycling可以有效地训练MoE模型以达到高性能。MPOE提出通过矩阵乘积算子(Matrix Product Operators, MPO)分解来减少基于MoE的大模型的参数。该方法将FFN的每个权重矩阵分解为一个包含公共信息的全局共享张量和一组捕获特定特征的局部辅助张量。
另一项研究侧重于改进MoE模型中路由模块(或策略)的设计。在以前的MoE模型中,路由模块容易导致负载不平衡问题,这意味着一些专家被分配了大量token,而另一些专家只处理少量token。这种不平衡不仅浪费了未充分利用的专家的能力,降低了模型的性能,还降低了推断推理质量。当前的MoE实现经常使用批矩阵乘法来同时计算所有FFN专家。这就要求每个专家的输入矩阵必须具有相同的形状。然而,由于存在负载不平衡问题,需要向那些未充分利用的专家中填充输入token集以满足形状约束,这会造成计算浪费。因此,路由模块设计的主要目标是在MoE专家的token分配中实现更好的平衡。Switch Transformers在最终loss函数中引入了一个额外的loss,即负载平衡loss,以惩罚路由模块的不平衡分配。这种loss被表述为token分配分数向量和均匀分布向量之间的缩放点积。因此,只有在所有专家之间平衡token分配时,损失才会最小化。这种方法鼓励路由模块在专家之间均匀地分发token,促进负载平衡并最终提高模型性能和效率。BASE用端到端的方式学习了每个专家的embedding,然后根据embedding的相似性将专家分配给令token。为了保证负载均衡,BASE制定了一个线性分配问题,并利用拍卖算法有效地解决了这个问题。Expert Choice引入了一种简单而有效的策略来确保基于MoE的模型的完美负载平衡。与以前将专家分配给token的方法不同,Expert Choice允许每个专家根据embedding的相似度独立选择top-k个token。这种方法确保每个专家处理固定数量的token,即使每个token可能分配给不同数量的专家。
除了上述关注模型架构本身的研究外,也有对基于MoE的模型的训练方法改进的相关工作。SE-MoE引入了一种新的辅助loss,称为router z-loss,其目的是在不影响性能的情况下提高模型训练的稳定性。SE-MoE发现在路由模块中,softmax操作所引入的指数函数会加剧舍入误差,导致训练不稳定。为了解决这个问题,router z-loss会惩罚输入到指数函数中的大概率,从而最小化训练期间的舍入误差。StableMoE指出基于MoE的大模型存在路由波动问题,即在训练和推理阶段专家分配不一致。对于相同的输入token,在训练时其被分配给了不同的专家,但在推理时却只激活一个专家。为了解决这个问题,StableMoE建议采用更一致的训练方法。它首先学习路由策略,然后在模型主干训练和推理阶段保持固定的路由策略。SMoE-Dropout为基于MoE的大模型设计了一种训练方法,其提出在训练过程中逐步增加激活专家的数量。这种方法提升了基于MoE的模型的推理和下游微调的可扩展性。GLaM预训练并发布了一系列具有不同参数大小的模型,这证明了它们在few-shot任务上与密集大模型的性能相当。这个系列模型中,最大的模型的参数高达1.2万亿。Mixtral 8x7B是最近发布的一个引人注目的开源模型。在推理过程中,它只利用了130亿个活动参数,在不同的基准测试中取得了比LLaMA-2-70B模型更好的性能。Mixtral 8x7B每层由8个前馈网络(FFN)专家组成,每个token在推理过程中分配给两个专家。
5.1.2 高效attention设计
attention操作是Transformer体系结构中的一个关键部分。然而,它的计算复杂度是与输入长度相关的二次方,这导致了大量的计算成本、内存访问成本和内存使用,特别是在处理长上下文时。为了解决这个问题,研究人员正在探索更有效的方法来近似原始attention操作的功能。这些研究大致可以分为两个主要分支:multi-query attention和low complexity attention。
①Multi-Query Attention。Multi-Query Attention(MQA)通过共享横跨不同注意力头的KV缓存来优化attention 操作。这项策略有效的减少了推理时的内存访问成本和内存使用,对改善Transformer模型的性能带来了帮助。如第2.2节所述,transformer类型的大模型通常采用多头注意力(MHA)操作。该操作需要在解码阶段为每个注意力头存储和检索KV对,导致内存访问成本和内存使用大幅增加。而MQA通过在不同的头上使用相同的KV对,同时保持不同的Q值来解决这一问题。通过广泛的测试,MQA已经被证明可以显著降低内存需求,且对模型性能的影响很小,这使它成为一个提高推理效率的关键技术。Grouped-query attention(GQA)进一步扩展了MQA的概念,它可以看作是MHA和MQA的混合。具体来说,GQA将注意力头分成不同的组,然后为每个组存储一组KV值。这种方法不仅保持了MQA在减少内存开销方面的优势,还强化了推理速度和输出质量之间的平衡。
②Low-Complexity Attention。Low-Complexity Attention方法旨在设计新的机制来降低每个注意力头的计算复杂度。为了简化讨论, 这里假设 Q (查询)、 K (键) 和 V (值)矩阵的维度是相同的, 即 。由于下面的工作不涉及像 MQA 那样改变注意头的数量, 此处的讨论集中在每个头内的注意力机制。如 2.2 节所述, 传统注意力机制的计算复杂度为 , 相当于随着输入长度增长, 呈二次增长。为了解决低效率问题, Kernel-based Attention和 Low-Rank Attention方法被提出, 此方法将复杂度降低到 。
- Kernel-based Attention。 基于核的注意力设计了一个核 , 通过变换特征映射之间的线性点积如, , 来近似 Softmax 的非线性 softmax操作。它通过优先计算 , 然后将其与 相乘, 从而避免了与 相关的传统二次计算。具体来说, 输入 Q 和 K 矩阵首先通过核函数 映射到核空间, 但是保持其原始维度。接着利用矩阵乘法的关联特性, 允许 和 在与 交互之前相乘。因此注意力机制被重新表述为:
其中, 。此方法有效的将计算复杂度降低至 , 使其与输入长度成线性关系。Linear Transformer是第一个提出基于核的注意力的工作。它采用 作为核函数, 其中 )表示指数线性单元激活函数。Performers和 RFA提出使用随机特征映射来更好地近似softmax函数。PolySketchFormer采用多项式函数和素描技术近似softmax函数。
- Low-Rank Attention。Low-Rank Attention技术在执行注意计算之前, 将 和 矩阵的 token维度 (如 )压缩到较小的固定长度(即如 )。该方法基于对 注意力矩阵通常表现出低秩特性的认识, 使得在token维度上压缩它是可行的。这条研究路线的主要重点是设计有效的压缩方法, 其中 可以是上下文矩阵, 也可以是 和 矩阵:
有一种工作是使用线性投影来压缩 token维度。它通过将 和 矩阵与映射矩阵 相乘来完成的。这样, 注意力计算的计算复杂度降至 , 与输入长度成线性关系。Linformer首先观察并分析了注意力的低秩性, 提出了低秩注意力框架。LRT 提出将低秩变换同时应用于attention模块和FFN, 来进一步提高计算效率。FLuRKA将低秩变换和核化结合到注意力矩阵中, 进一步提高了效率。具体的说, 它首先降低 和 矩阵的token的维度, 然后对 Q 和低秩 K 矩阵应用核函数。
除了线性映射外,其他的token维度压缩方法也被提出出来。Luna和Set Transformer利用额外的注意力计算和较小的query来有效地压缩 和 矩阵。Luna则是使用了一个额外的固定长度为 的query矩阵。小的query使用原始的上下文矩阵执行注意力计算, 称为 pack attention, 来将上下文矩阵压缩到大小为 。随后, 常规的注意力计算, 称为 unpack attention, 将注意力计算应用于原始 矩阵和压缩的 和 矩阵。额外的query矩阵可以是可学习的参数或从前一层中获取。Set Transformer通过引入固定长度的 inducing points矢量, 设计了类似的技术。FunnelTransformer不同于以往压缩K和V的工作, 它使用池化操作来逐步压缩 Q 矩阵的序列长度。
5.1.3 Transformer替代
除了聚焦于优化注意力操作之外,最近的研究还创新地设计了高效而有效的序列建模体系结构。表2比较了一些代表性的非transformer架构模型的性能。在训练和推理过程中,这些架构的模型在序列长度方面表现出小于二次方的计算复杂度,使大模型能够显着增加其上下文长度。
典型非Transformer架构模型性能比较
在这些研究中,有两个突出的研究方向引起了极大的关注。其中一条研究集中在状态空间模型(State Space Model, SSM)上,该模型将序列建模视作一种基于HiPPO理论的递归变换。此外,其他研究主要集中在使用长卷积或设计类似注意力的公式来建模序列。
State Space Model:状态空间模型(SSM)在某些NLP和CV任务中的建模能力极具竞争力。与基于注意力的Transformer相比,SSM在输入序列长度方面表现出线性的计算和存储复杂度,这提高了其处理长上下文序列的能力。本篇综述中,SSM是指一系列满足以下两个属性的模型架构:
(1)它们基于HiPPO和LSSL提出的以下公式对序列进行建模:
其中, 表示转移矩阵。为中间状态,为输入序列。
(2)他们基于HiPPO理论设计了转移矩阵A。具体来说,HiPPO提出通过将输入序列映射到一组多项式基上,将其压缩为系数序列(即)。
在上述框架的基础上, 一些研究主要集中在改进转移矩阵A的参数化或初始化。这包括在SSM 中重新定义矩阵的公式或初始化方式, 以增强其在序列建模任务中的有效性和性能。LSSL首先提出用HiPPO设计的最优转移矩阵 HiPPO-Legs初始化A。此外, LSSL还通过展开公式 (7), 以卷积的方式训练 SSM。具体地说, 通过定义一个卷积核为 , 可以将公式 (7) 改写为 也可以通过快速傅里叶变换(FFT) 高效地计算。然而, 计算这个卷积核的代价是昂贵的, 因为它需要多次乘以 。为此, S4、DSS和 S4D提出对矩阵A进行对角化, 从而加快计算速度。这可以看作是转换矩阵A的参数化技术。过去的SSM独立处理每个输入维度, 从而会产生大量可训练的参数。为了提高效率, S5 提出使用一组参数同时处理所有输入维度。在此结构的基础上, S5介绍了基于标准HiPPO矩阵的A的参数化和初始化方法。Liquid S4 和Mamba以输入依赖的方式对转移矩阵进行参数化, 这进一步增强了SSM的建模能力。此外, S5 和Mamba 均采用并行扫描技术, 无需卷积操作即可进行有效的模型训练。这种技术在现代GPU硬件上的实现和部署方面具有优势。
另一类研究方向是基于SSM设计更好的模型架构。GSS和BiGS结合了门控注意力单元(GAU)和SSM。它们将GAU中的注意力操作替换为SSM操作。BST将SSM模型与提出的使用强局部感应偏置的Block Transformer相结合。H3观察到SSM在召回较早的token和跨序列比较token方面很弱。为此,它建议在标准SSM操作之前增加一个移位SSM操作,用于直接将输入令牌移位进入状态。MambaFormer结合了标准Transformer和SSM模型,将Transformer中的FFN层替换为SSM层。Jamba引入了另一种方法,通过在SSM模型中添加四个Transformer层来组合Transformer和SSM模型。DenseMamba探讨了传统SSM中隐藏状态退化的问题,并在SSM体系结构中引入了稠密连接,以在模型的更深层中保存细粒度信息。BlackMamba和MoE- mamba提出用混合专家(Mixture-of-Experts, MoE)技术增强SSM模型,在保持模型性能的同时优化训练和推理效率。
其他代替:除了SSM之外,还有其他几种高效的替代方案也引起了极大的关注,包括长卷积和类attention的递归运算。一些研究在长序列建模中采用了长卷积。这些工作主要是关于卷积参数的参数化的。例如,Hyena采用了一种数据相关的参数化方法,用于使用浅前馈神经网络(FFN)的长卷积。其他设计类注意力操作,但可以纳入循环方式的研究,从而实现高效的训练和高效的推理。例如,RWKV是在AFT的基础上建立的,AFT提出将Transformer模型中的注意力操作代入如下公式:
其中, 和Transformer一样, 分别为 quey, key, vakue, 为一个可学习的成对位置偏差和 为一个非线性函数。具体来说, 它进一步将位置偏差进行重参数化, , 因此可以将公式(8)重写为递归形式。这样, RWKV可以将Transformer 的有效并行化训练特性和RNN的高效推理能力结合起来。
效果分析:文章在表2中分析和比较了几种创新的和具有代表性的非Transformer架构的模型的计算和内存复杂性。在训练时间方面,许多模型(如S4, Hyena, RetNet)这些通过使用卷积或注意力等训练形式来保持训练并行性。值得注意的是,Mamba用并行扫描技术处理输入序列,从而也使用了训练并行性。
另一方面,在推理过程中,大多数研究选择循环架构来保持prefilling阶段的线性计算复杂度并在decoding阶段保持上下文长度不可知。而且,在decoding阶段,这些新颖的体系结构消除了缓存和加载历史token的特性的需要(类似于基于Transformer的语言模型中的KV缓存),从而显著节省了内存访问成本。
5.2 模型压缩
模型压缩包括一系列旨在通过修改预训练模型的数据表示(例如,量化)或改变其模型架构(例如,稀疏化、结构优化和动态推理)来提高其推理效率的技术,如图8所示。
图8:大模型的模型压缩方法分类
5.2.1 量化
量化是一种广泛使用的技术,通过将模型的权重和激活从高位宽表示转换为低位宽表示来减少大模型的计算和内存成本。具体来说,许多方法都涉及到将FP16张量量化为低位整型张量,可以表示为如下公式:
其中表示16位浮点(FP16)值,表示低精度整数值,表示位数, 和 表示缩放因子和零点。
在下面,本文从效率分析开始,说明量化技术如何减少大模型的端到端推理延迟。随后,再分别详细介绍两种不同的量化工作流程:Post-Training Quantization (PTQ)和Quantization-Aware Training (QAT)。
效率分析:如2.2节所述,大模型的推理过程包括两个阶段:prefilling阶段和decoding阶段。在prefilling阶段,大模型通常处理长token序列,主要操作是通用矩阵乘法(GEMM)。Prefilling阶段的延迟主要受到高精度CUDA内核执行的计算操作的限制。为了解决这个问题,现有的研究方法对权重和激活量化,以使用低精度Tensor核来加速计算。如图9 (b)所示,在每次GEMM操作之前会在线执行激活量化,从而允许使用低精度Tensor核(例如INT8)进行计算。这种量化方法被称为权重激活量化。
相比之下,在解码阶段,大模型在每个生成步中只处理一个token,其使用通用矩阵向量乘法(GEMV)作为核心操作。解码阶段的延迟主要受到加载大权重张量的影响。为了解决这个问题,现有的方法只关注量化权重来加速内存访问。这种方法称为,首先对权重进行离线量化,然后将低精度权重去量化为FP16格式进行计算,如图9 (a)所示。
图9:(a)纯权重量化推理流程。(b)权重激活量化推理流程。
Post-Training Quantization:PTQ涉及对预训练模型进行量化,而不需要再训练,这可能是一个昂贵的过程。尽管PTQ方法已经在较小的模型中得到了很好的探索,但是将现有的量化技术直接应用于大模型存在困难。这主要是因为与较小的模型相比,大模型的权重和激活通常表现出更多的异常值,并且具有更宽的分布范围,这使得它们的量化更具挑战性。总之,大模型的复杂特性,以其规模和复杂性为特征,需要用专门的方法来有效地处理量化过程。大模型中异常值和更宽的分布范围的存在需要开发量身定制的量化技术,以便在不影响模型性能或效率的情况下处理这些独特的特征。
大量的研究致力于开发有效的量化算法来压缩大模型。本文在表3中提供了跨四个维度分类的代表性算法的综合。对于量化张量的种类,某些研究专注于weight-only quantization,而其他许多研究则专注于权重和激活的量化。值得注意的是,在大模型中,KV缓存代表了影响内存和内存访问的独特组件。因此,一些研究提出对KV缓存进行量化。在量化格式方面,为了便于硬件实现,大多数算法采用统一的格式。关于量化参数(如缩放因子、零点)的确定,大多数研究依赖于由权重或激活值得出的统计数据。然而,也有一些研究主张基于重构loss来寻找最优参数。此外,一些研究也建议在量化之前或量化过程中更新未量化的权重(称为)以提高性能。
在weight-only quantization方法中,GPTQ代表了大模型量化的早期较好的工作,它建立在传统算法OBQ的基础上。OBQ通过相对于未量化权重的Hessian矩阵的重建误差的方法,来实现每行权重矩阵的最优量化顺序。在每个量化步骤之后,OBQ迭代调整未量化的权重以减轻重建误差。然而,量化过程中频繁更新Hessian矩阵增加了计算复杂度。GPTQ通过采用统一的从左到右的顺序来量化每一行,从而简化了这个过程,从而避免了大量更新Hessian矩阵的需要。该策略通过在量化一行时仅计算Hessian矩阵,然后将计算结果用于后续行,从而大大减少了计算需求,从而加快了整个量化过程。LUT- GEMM提出了一种新的利用查找表(Look-Up Table, LUT)的去量化方法,旨在通过减少去量化开销来加速量化大模型的推理过程。此外,它采用了一种称为二进制编码量化(BCQ)的非均匀量化方法,该方法包含了可学习的量化区间。AWQ观察到权重通道对性能的重要性各不相同,特别强调那些与激活异常值的输入通道对齐的通道。为了增强关键权重通道的保存,AWQ采用了一种重参数化的方法。该方法通过网格搜索选择重参数化系数,有效地减小了重构误差。OWQ观察到量化与激活异常值相关的权重的困难。为了解决这个问题,OWQ采用了混合精度量化策略。该方法识别权重矩阵中的弱列,并为这些特定权重分配更高的精度,同时以较低的精度级别量化其余权重。SpQR引入了一种方法,在量化过程中识别和分配更高精度的权重异常值,而其余权重被量化为3位。SqueezeLLM提出将离群值存储在全精度稀疏矩阵中,并对剩余权重应用非均匀量化。根据量化灵敏度确定非均匀量化的值,能够提高量化模型的性能。QuIP引入了LDLQ,一种二次代理目标的最优自适应方法。研究表明,保证权值与Hessian矩阵之间的不相干性可以提高LDLQ的有效性。QuIP利用LDLQ,通过随机正交矩阵乘法实现非相干性。FineQuant采用了一种启发式方法。为了确定每列量化的粒度,结合从实验中获得的经验见解来设计量化方案。QuantEase的工作建立在GPTQ之上。在对每一层进行量化时,其提出了一种基于坐标下降的方法来更精确地补偿未量化的权重。此外,QuantEase可以利用来自GPTQ的量化权重作为初始化,并进一步完善补偿过程。LLM-MQ采用FP16格式保护权重异常值,并将其存储在压缩稀疏行(CSR)格式中,以提高计算效率。此外,LLM-MQ将每个层的位宽分配,建模为整数规划问题,并采用高效的求解器在几秒内求解。LLM-MQ还设计了一个高效的CUDA内核来集成去量化运算符,从而降低了计算过程中的内存访问成本。
对于weight-activation quantization,ZeroQuant采用细粒度量化权值和激活,利用核融合来最小化量化过程中的内存访问成本,并逐层进行知识蒸馏以恢复性能。FlexGen将权重和KV缓存直接量化到INT4中,以减少大批量推理期间的内存占用。LLM.int8() 发现激活中的异常值集中在一小部分通道中。基于这一点,LLM.int8() 根据输入通道内的离群值分布将激活和权重分成两个不同的部分,以最小化激活中的量化误差。包含激活值和权重的异常数据的通道以FP16格式存储,其他通道则以INT8格式存储。SmoothQuant采用了一种重新参数化技术来解决量化激活值的挑战。该方法引入比例因子,扩大了权重通道的数据范围,缩小了相应激活通道的数据范围。ZeroQuant引入了权重的组级别的量化策略和激活的token级别的量化方法。在此方法的基础上,ZeroQuantV2提出了LoRC(低秩补偿)技术,采用低秩矩阵来减轻量化不准确性。RPTQ发现不同激活通道的分布,实质上是变化的,这给量化带来了挑战。为了缓解这个问题,RPTQ将具有相似激活分布的通道重新组织到集群中,并在每个集群中独立地应用量化。OliVe观察到离群值附近的正态值不那么关键。因此,它将每个离群值与一个正态值配对,牺牲正态值,以获得更大的离群值表示范围。OS+观察到异常值的分布是集中且不对称的,这对大模型的量化提出了挑战。为了解决这个问题,OS+引入了一种通道级别的移动和缩放技术。在搜索过程去确定移动和缩放参数,能有效地处理集中和不对称的离群值分布。ZeroQuant-FP研究了将权重和激活值量化为FP4和FP8格式的可行性。研究表明,与整数类型相比,将激活量化为浮点类型(FP4和FP8)会产生更好的结果。Omniquant与先前依赖量化参数的经验设计的方法不同。相反,它优化了权值裁剪的边界和等效变换的缩放因子,以最小化量化误差。QLLM通过实现通道重组来解决异常值对量化的影响。此外,QLLM还设计了可学习的低秩参数,来减小post-quantized模型的量化误差。Atom采用了混合精度和动态量化激活的策略。值得注意的是,它扩展了这种方法,将KV缓存量化为INT4,以提高吞吐量性能。LLM-FP4努力将整个模型量化为FP4格式,并引入了预移位指数偏置技术。该方法将激活值的比例因子与权重相结合,以解决异常值带来的量化问题。BiLLM代表了迄今为止最低位PTQ的工作之一。BiLLM识别了权值的钟形分布和权值Hessian矩阵的异常长尾分布。在此基础上,提出了将基于Hessian矩阵的权重结构分类为显著值和非显著值,并分别进行二值化。因此,BiLLM可以将大模型广泛量化到1.08位,且不会显著降低困惑度。KVQuant通过在校准集上离线导出最优数据类型,提出了KV缓存量化的非均匀量化方案。KIVI提出了一种无需调优的2bit KV缓存量化算法,该算法利用单通道量化用于key cache,利用单token量化进行value cache。Li等进行了全面的评估,评估了量化对不同张量类型(包括KV Cache)、各种任务、11种不同的大模型和SOTA量化方法的影响。
Quantization-Aware Training:QAT在模型训练过程中考虑了量化的影响。通过集成复制量化效果的层,QAT有助于权重适应量化引起的错误,从而提高任务性能。然而,训练大模型通常需要大量的训练数据和计算资源,这对QAT的实施构成了潜在的瓶颈。因此,目前的研究工作集中在减少训练数据需求或减轻与QAT实施相关的计算负担的策略上。为了减少数据需求,LLM-QAT引入了一种无数据的方法,利用原始FP16的大模型生成训练数据。具体来说,LLM-QAT使用词表中的每个token作为生成句子的起始标记。基于生成的训练数据,LLM- QAT应用了基于蒸馏的工作流来训练量化的LLM,以匹配原始FP16大模型的输出分布。Norm Tweaking只针对那些在语言类别中占最高比例的语言,做了起始标记的限制选择。这一策略可以有效地提高量化模型在不同任务上的生成性能。
为了减少计算量,许多方法采用高效参数微调(parameter-efficient tuning,PEFT)策略来加速QAT。QLoRA将大模型的权重量化为4位,随后在BF16中对每个4位权重矩阵使用LoRA来对量化模型进行微调。QLoRA允许在一个只有30GB内存的GPU上对65B参数的大模型进行有效的微调。QALoRA则提出在QLoRA中加入分组量化。作者观察到QLoRA中量化参数的数量明显小于LoRA参数的数量,这会导致量化与低秩自适应之间的不平衡。他们建议,组级别的操作可以通过增加专用于量化的参数数量来解决这个问题。此外,QA-LoRA可以将LoRA项合并到相应的量化权矩阵中。LoftQ指出,在QLoRA中用零初始化LoRA矩阵对于下游任务是低效的。作为一种替代方案,LoftQ建议使用原始FP16权重与量化权重之间差距的奇异值分解(Singular Value Decomposition,SVD)来初始化LoRA矩阵。LoftQ迭代地应用量化和奇异值分解来获得更精确的原始权重近似值。Norm Tweaking提出在量化后训练LayerNorm层,并使用知识蒸馏将量化模型的输出分布与FP16模型的输出分布进行匹配,达到类似LLM-QAT的效果,同时避免了较高的训练成本。
对比实验与分析:本综述的作者对不同场景下的weight-only quantization技术所产生的加速效果。作者使用了LLaMA-2-7B和LLaMA-2-13B,并使用AWQ将它们的权重量化至4-bit。作者使用NVIDIA A100进行实验,并使用TensorRT-LLM和LMDeploy这两个推理框架部署量化后的大模型。然后,作者评估了这些推理框架在不同的输入序列上实现的加速,这些序列是批大小和上下文长度不同的。prefilling延迟、decoding延迟端到端延迟的加速效果,如表4所示。
表4:大模型加速效果对比
实验结果表明:(1)Weight-only quantization可以在decoding阶段加速,进而实现端到端的加速。这种提升主要源于从高带宽内存( High Bandwidth Memory,HBM)更快地加载具有低精度权重张量的量化模型,这种方法显著减少了内存访问开销。(2)对于prefilling阶段,weight-only quantization可能会增加延迟。这是因为prefilling阶段的瓶颈是计算成本,而不是内存访问开销。因此,只量化没有激活的权重对延迟的影响最小。此外,如图9所示,weight-only quantization需要将低精度权重去量化到FP16,这会导致额外的计算开销,从而减慢prefilling。(3)随着批量大小和输入长度的增加,weight-only quantization的加速程度逐渐减小。这主要是因为,对于更大的批处理大小和输入长度,计算成本构成了更大比例的延迟。虽然weight-only quantization主要降低了内存访问成本,但随着批量大小和输入长度增大,计算需求变得更加突出,它对延迟的影响变得不那么显著。(4)由于内存访问开销与模型的参数量规模相关,weight-only quantization为参数规模较大的模型提供了更大的好处。随着模型的复杂度与尺寸的增长,存储和访问权重所需的内存量也会成比例地增加。通过量化模型权重,weight-only quantization可以有效地减少内存占用和内存访问开销。
5.2.2 稀疏化(Sparsification)
稀疏化是一种压缩技术,可以增加数据结构(如模型参数或激活)中零值元素的比例。该方法通过在计算过程中有效地忽略零元素来降低计算复杂度和内存占用。在应用到大模型中时,稀疏化通常应用于权重参数和注意力激活。这导致了权值修剪策略和稀疏注意力机制的发展。
权重修剪(Weight Pruning):权值修剪系统地从模型中去除不太关键的权值和结构,旨在减少预填充阶段和解码阶段的计算和内存成本,而不会显著影响性能。这种稀疏化方法分为两种主要类型:非结构化修剪和结构化修剪。它们的分类基于修剪过程的粒度,如图10所示。
图10:非结构化修剪和结构化修剪
非结构化修剪以细粒度修剪单个权重值。与结构化修剪相比,它通常在对模型预测影响最小的情况下实现更高的稀疏度。然而,通过非结构化剪枝实现的稀疏模式缺乏高层次的规律性,导致不规则的内存访问和计算模式。这种不规律会严重阻碍硬件加速的潜力,因为现代计算架构针对密集、规则的数据进行了优化。因此,尽管实现了更高的稀疏度级别,但非结构化剪枝在硬件效率和计算加速方面的实际好处可能是有限的。
权值修剪的焦点是修剪标准,包括权重重要性和修剪比例。考虑到大模型的参数规模巨大,提高剪枝效率也至关重要。一个修剪准则是最小化模型的重建损失。SparseGPT是该领域的代表性方法。它遵循OBS的思想,考虑去除每个权值对网络重构损失的影响。OBS迭代地确定一个剪枝掩模对权值进行剪枝,并重建未剪枝的权值以补偿剪枝损失。SparseGPT通过最优部分更新技术克服了OBS的效率瓶颈,设计了一种基于OBS重构误差的自适应掩码选择技术。Prune and Tune通过在修剪过程中使用最少的训练步骤微调大模型来改进SparseGPT。ISC结合OBS和OBD中的显著性标准设计了一种新的修剪标准。该算法进一步根据Hessian信息为每一层分配非均匀剪枝比例。BESA通过重构损失的梯度下降学习一个可微的二值掩码。每一层的剪枝比依次通过最小化重建误差来确定。另一种流行的修剪标准是基于大小缺定。Wanda提出使用权值与输入激活范数之间的元素积作为修剪准则。RIA通过使用相对重要性和激活度的度量来联合考虑权重和激活度,该度量基于其所有连接的权重来评估每个权重元素的重要性。此外,RIA将非结构化稀疏范式转换为结构化N:M稀疏范式,可以在NVIDIA GPU上获得实际的加速。OWL侧重于确定各层的剪枝比例。它根据激活异常值比率为每一层分配剪枝比率。
与非结构化修剪相比,结构化修剪以更粗的粒度操作,修剪模型中较大的结构单元,例如整个通道或层。这些方法直接促进了在传统硬件平台上的推理加速,因为它们与这些系统优化处理的密集、规则的数据范式保持一致。然而,结构化修剪的粗粒度通常会对模型性能产生更明显的影响。这类修剪标准还强制执行结构化修剪模式。LLM-Prune提出了一种任务不可知的结构化修剪算法。具体来说,它首先根据神经元之间的连接依赖关系识别出大模型中的偶联结构。然后,它根据设计良好的组级别的修剪度量来决定要删除哪些结构组。修剪后,进一步提出通过一个高校参数训练技术,如LoRA来恢复模型性能。Sheared LLaMA提出将原始大模型修剪为现有预训练大模型的特定目标架构。此外,它设计了动态批数据加载技术来提升post-training 性能。
ZipLM迭代地识别和修剪结构组件,在损失和运行时间之间进行最坏的权衡。LoRAPrune为带有LoRA模块的预训练大模型提出了结构化修剪框架,以实现基于LoRA的模型的快速推理。它设计了基于LoRA的权值和梯度的由LoRA引导的剪枝准则,并设计了基于该准则去除不重要权值的迭代剪枝方案。LoRAShear还为基于LoRA的大模型设计了一种修剪方法,该方法采用(1)图算法来识别最小的去除结构,(2)渐进式结构化剪接算法LHSPG,(3)动态知识恢复机制来恢复模型性能。SliceGPT[174]基于RMSNorm操作的计算不变性思想。它提出在每个权值矩阵中对稀疏性进行结构化排列,并对整个行或列进行切片。PLATON[提出通过考虑权重的重要性和不确定性来修剪权重。它使用重要性分数的指数移动平均(Exponential Moving Average,EMA)来估计重要性,对不确定性采用上置信度界(UCB)。SIMPLE提出通过学习相应的稀疏掩码来修剪注意头、FFN神经元和隐藏维度。在进行剪枝后,进一步采用知识精馏对剪枝后的模型进行微调,实现性能恢复。
稀疏注意力(Sparse Attention):Transformer多头自注意力(MHSA)组件中的稀疏注意技术可以策略性地省略某些注意运算,以提高注意运算的计算效率,主要是在预填充阶段。这些机制根据对特定输入数据的依赖程度分为静态和动态两类。
静态稀疏注意力去除了独立于特定输入的激活值。这些方法预先确定了稀疏的注意力掩码,并在推理过程中将其强加于注意力矩阵。过去的研究工作结合了不同的稀疏模式来保留每个注意力矩阵中最基本的元素。如图11(a)所示,最常见的稀疏注意力模式是局部和全局注意模式。本地注意力范式捕获每个token的本地上下文,并在每个token周围设置固定大小的窗口注意。全局注意力范式通过计算和关注整个序列中的所有token来捕获特定token与所有其他token之间的相关性。利用全局模式可以消除存储未使用的token的KV对的需要,从而减少了解码阶段的内存访问成本和内存使用。Sparse Transformer将这些模式结合起来,用本地模式捕获本地上下文,然后每隔几个单词就用全局模式聚合信息。StreamingLLM只对前几个token应用本地模式和全局模式。结果表明,这种全局模式作为注意力漕,保持了对初始标记的强注意得分。它有助于大模型推广到无限输入序列长度。Bigbird也使用随机模式,其中所有token都参加一组随机token。证明了局部模式、全局模式和随机模式的组合可以封装所有连续序列到序列的函数,并证实了其图灵完备性。如图11(b)所示,Longformer还引入了膨胀的滑动窗口模式。它类似于扩张的CNN,使滑动窗口“扩张”以增加接受野。为了使模型适应稀疏设置,Structured sparse Attention提倡一种熵感知的训练方法,将高概率的注意力值聚集到更密集的区域中。与以往手工设计稀疏模式的研究不同,SemSA使用基于梯度的分析来识别重要的注意模式,并自动优化注意密度分布,进一步提高模型效率。
图11:不同的稀疏注意力掩码举例
相比之下,动态稀疏注意力根据不同的输入自适应地消除激活值,通过实时监测神经元的激活值来绕过对神经元的影响可以忽略的计算,从而实现修剪。大多数动态稀疏注意方法采用动态token修剪方法,如图11(c)所示。Spatten、SeqBoat和Adaptive Sparse Attention利用语言结构的固有冗余提出动态标记级修剪策略。Spatten通过汇总注意力矩阵列来评估每个单词的累积重要性,并在后面的层中从输入中对具有最小累积重要性的token进行修剪。SeqBoat训练了一个线性状态空间模型(State Space Model, SSM),该模型带有一个稀疏的sigmoid函数,以确定每个注意力头需要修剪哪个token。Spatten和SeqBoat都对整个输入的无信息的token进行了修剪。自适应稀疏注意力在生成过程中逐渐修剪token。它去除了上下文中,在未来生成不再需要的部分。
除了动态token修剪,动态注意力修剪技术也被应用。如图11(d)所示,这些方法不是修剪某些token的所有注意力值,而是根据输入动态地修剪注意力的选择部分。在相关工作中,一个较为不错的方法是动态地将输入token分成组,称为桶,并策略性地省略驻留在单独桶中的token的注意力计算。这些方法的重点在于如何将相关的token聚类在一起,来促进它们之间的注意力计算,从而提高效率。Reformer利用位置敏感的哈希来将共享相同哈希码的key和query聚集到同一个桶中。在此之后,Sparse Flash Attention引入了专门针对这种基于哈希的稀疏注意力机制进行优化的GPU内核,进一步提高了计算效率。同时,Routing Transformer采用球形k-means聚类算法将token聚合到桶中,优化了注意力计算的选择过程。Sparse Sinkhorn Attention采用学习排序网络将key与其相关的query桶对齐,确保仅在相应的query和key对之间计算注意力。与桶级操作不同,H2O引入了token级动态注意力修剪机制。它将静态本地注意力与当前query和一组动态标识的key token之间的动态计算结合起来,称作heavy-hitters(H2)。这些 heavy-hitters通过移除策略进行动态调整,该策略旨在在每个生成步骤中删除最不重要的key,从而有效地管理heavy-hitter集的大小和相关性。
此外,将每个token视为图节点,将token之间的注意力视为边,可以扩展静态稀疏注意力的视角。原始的全注意力机制等同于一个均匀最短路径距离为1的完整图。稀疏注意力通过其随机掩码引入随机边,有效地将任意两个节点之间的最短路径距离减小到,从而保持类似于完全注意的高效信息流。Diffuser利用图论的视角,通过多跳token关联来扩展稀疏注意的接受场。它还从扩展图属性中获得灵感,以设计更好的稀疏模式,以近似全注意力的信息流。
除了注意力级和token级的稀疏性之外,注意力修剪的范围扩展到各种粒度。Spatten还将修剪从token粒度扩展到注意力头粒度,消除了不必要的注意力头的计算,以进一步减少计算和内存需求。
5.2.3 架构优化(Structure Optimization)
架构优化的目标是重新定义模型的体系结构或者架构,以提高模型效率和性能之间的平衡。相关工作中有两种突出的技术:神经结构搜索(Neural Architecture Search, NAS)和低秩分解(Low Rank Factorization, LRF)。
神经结构搜索(Neural Architecture Search):神经架构搜索(Neural Architecture Search, NAS)旨在自动搜索在效率和性能之间达到最佳平衡的最优神经架构。AutoTinyBERT利用one-shot神经架构搜索(NAS)来发现Transformer架构的超参数。值得注意的是,它引入了一种引人注目的批处理训练方法来训练超级预训练语言模型(SuperPLM),随后使用进化算法来识别最优子模型。NAS-BERT使用一些创新技术,如块级别搜索、搜索空间修剪和性能逼近,在传统的自监督预训练任务上训练大型超级网络。这种方法允许NAS-BERT有效地应用于各种下游任务,而不需要大量的重新训练。通过NAS进行结构剪枝将结构剪枝作为一个多目标NAS问题,通过一次性的NAS方法进行解决。LiteTransformerSearch提出使用不需要训练的指标,例如参数的数量作为代理指标来指导搜索。这种方法可以有效地探索和选择最优的体系结构,而不需要在搜索阶段进行实际的训练。AutoDistil提出了一种完全与任务无关的few-shot NAS算法,该算法具有三种主要技术:搜索空间划分、与任务无关的SuperLM训练和与任务无关的搜索。这种方法的目的是促进跨各种任务的高效体系结构发现,并减少特定于任务的调整。通常,NAS算法需要评估每个采样架构的性能,这可能会产生大量的训练成本。因此,这些技术在应用于大模型时具有挑战性。
低秩分解(Low Rank Factorization): 低秩分解(LRF)或低秩分解(Low Rank Decomposition)的目的是用两个低秩矩阵 和 近似一个矩阵:
其中比和小得多。这样,LRF可以减少内存使用,提高计算效率。此外,在大模型推理的解码阶段,内存访问成本是解码速度的瓶颈。因此,LRF可以减少需要加载的参数数量,从而加快解码速度。LoRD显示了压缩大模型的潜力,而不会通过LRF大幅降低性能。具体来说,采用奇异值分解(SVD)对权重矩阵进行因式分解,成功地将一个包含16B个参数的大模型压缩为12.3B,性能小幅度下降。TensorGPT引入了一种使用Tensor-Train Decomposition来压缩embedding层的方法。每个token embedding都被视为矩阵乘积状态(Matrix Product State, MPS),并以分布式方式高效计算。LoSparse结合了LRF和权值剪枝在LLM压缩中的优点。通过利用低秩近似,LoSparse降低了直接进行模型修剪通常会丢失太多表达神经元的风险。LPLR和ZeroQuant-V2都提出了对权矩阵进行LRF和量化同时压缩的方法。DSFormer提出将权重矩阵分解为半结构化稀疏矩阵与一个小型密集型矩阵的乘积。ASVD设计了一个激活感知的奇异值分解方法。该方法包括在应用奇异值分解进行矩阵分解之前,根据激活分布缩放权重矩阵。ASVD还包括通过一个搜索进程确定每个层的合适的截断秩。
5.2.4 知识蒸馏(Knowledge Distillation)
知识蒸馏(Knowledge Distillation, KD)是一种成熟的模型压缩技术,其中来自大型模型(称为teacher模型)的知识被转移到较小的模型(称为student模型)。在大模型的背景下,KD使用原始的大模型作为teacher模型来提炼较小的大模型。目前许多研究都集中在如何有效地将大模型的各种能力转移到更小的模型上。在这个领域,方法可以分为两种主要类型:白盒KD和黑盒KD(如图12所示)。
图12:白盒KD(左)与黑盒KD(右)示意图
白盒KD(White-box KD):白盒KD指的是利用对teacher模型的结构和参数的访问的蒸馏方法。这些方法使KD能够有效地利用teacher模型的中间特征和输出概率来增强student模型的性能。MiniLLM采用标准白盒KD方法,但将正向Kullback-Leibler divergence(KLD)替换为反向KLD。GKD引入了对 on-policy数据的使用,其中包括由student模型本身生成的输出序列,以进一步蒸馏学生模型。该方法侧重于使用这些策略数据来对齐teacher和student模型之间的输出概率。TED提出了一种任务感知的层级别的方法,包括结合额外的检索分层KD方法。这种方法包括在teacher和student模型的每一层之后添加过滤器,训练这些特定任务的过滤器,然后冻结teacher模型的过滤器,在训练student过滤器以使其输出特征与相应的teacher过滤器对齐时。MiniMoE通过使用混合专家(MoE)模型作为student模型来缓解能力差距。对于新出现的实体,预训练语言模型可能缺乏最新的信息。为了解决这个问题,一种解决方案是将额外的检索文本合并到提示中,尽管这会增加推理成本。另外,KPTD通过知识蒸馏将知识从实体定义转移到大模型参数。该方法生成一个基于实体定义的传输集,并提取student模型,以便将输出分布与基于这些定义的teacher模型相匹配。
黑盒KD(Black-box KD):黑盒KD是指teacher模型的结构和参数不可获取的知识蒸馏方法。通常,黑箱KD只使用teacher模型得到的最终结果来蒸馏student模型。在大模型领域,黑箱KD主要引导student模型学习大模型的泛化能力和涌现能力,包括InContext Learning (ICL)能力、 思维链(Chain-of-Thought, CoT)推理能力和Instruction Following (IF)能力。在ICL能力方面,Multitask-ICT引入了上下文学习蒸馏(in-context learning distillation)来转移大模型的多任务few-shot能力,同时利用上下文学习和语言建模能力。MCKD观察到,从通过语境学习得到的teacher模型中提炼出来的student模型,在看不见的输入prompt上往往表现优异。基于这一观察,MCKD设计了一个多阶段蒸馏范式,其中使用前阶段的student模型为后续阶段生成蒸馏数据,从而提高了蒸馏方法的有效性。为了提炼思维链(CoT)推理能力,诸如 Distilling Step-by-Step、SCoTD、CoT prompt、MCC-KD和Fine-tune-CoT等几种技术提出了提炼方法,将从大模型中提取的反应和基本原理结合起来训练student模型。Socratic CoT也将推理能力转移到较小的模型。具体来说,它对一对student模型进行了微调,即问题生成(QG)模型和问题回答(QA)模型。QG模型被训练成基于输入问题生成中间问题,指导QA模型生成最终的回答。PaD观察到错误的推理(即正确的最终答案但错误的推理步骤)可能对student模型有害。为了解决这个问题,PaD建议生成合成程序用于推理问题,然后由附加的解释器自动检查。这种方法有助于去除带有错误推理的蒸馏数据,提高student模型训练数据的质量。
5.2.5 动态推理
动态推理涉及在推理过程中自适应选择模型子结构,其以输入数据为条件。此小节重点介绍early exiting的技术,这些技术使大模型能够根据特定的样本或token在不同的模型层停止其推理。值得注意的是,虽然MoE技术(在第5.1.1节中讨论)也会在推理过程中调整模型结构,但它们通常涉及昂贵的预训练成本。相比之下,这些技术只需要训练一个小模块来确定何时结束推理。本文将此类研究分为两大类:样本级别的early exiting和token级别的early exiting(如图13所示)。
图13:token级别和样本级别的动态推理示意图
样本级别:样本级别的early exiting技术侧重于确定用于单个输入样本的大模型的最佳大小和结构。一种常见的方法是在每一层之后使用额外的模块来扩展大模型,利用这些模块来决定是否在特定层终止推理。FastBERT, DeeBERT, MP和MPEE直接训练这些模块来根据当前层的特征做出决策(例如,输出0继续或输出1停止)。Global Past-Future Early Exit提出了一种方法,利用来自前一层和后一层的语言信息丰富这些模块的输入。考虑到在推理过程中不能直接访问未来层的特征,论文训练了一个简单的前馈层来估计这些未来特征。PABEE训练模块来作为直接预测的输出头,建议在预测保持一致时终止推理。HASHEE采用了一种非参数决策方法,该方法基于相似样本应在同一层退出推理的假设。
Token级别:在大模型推理的decodig阶段,依次生成token,token级别的early exiting技术旨在优化用于每个输出token的大模型的大小和结构。CALM在每个Transformer层之后引入early exit分类器,训练它们输出置信度分数,以确定是否在特定层停止推理。值得注意的是,在self-attention模块中,计算每层当前token的特征依赖于同一层中所有先前token的特征(即KV cache)。为了解决由于先前token early exit而导致KV cache丢失的问题,CALM建议直接将该特征从现有层复制到后续层,实验结果显示只有轻微的性能下降。SkipDecode解决了先前早期存在的方法的局限性,这些方法阻碍了它们对批处理推理和KV cache的适用性,从而限制了实际的加速增益。对于批处理推理,SkipDecode为批处理中的所有token提出了一个统一的退出点。对于KV cache,SkipDecode确保了exit point的单调减少,以防止KV缓存的重新计算,从而促进了推理过程中的效率提高。
5.3 认识,建议和未来方向
在高效结构设计方面,寻找替代Transformer的结构是一个新兴的研究领域。例如,Mamba、RWKV及其各自的变种在各种任务中表现出了竞争力,近年来引起了越来越多的关注。然而,调查这些非Transformer模型与Transformer模型相比是否会表现出某些缺点仍然是相关的。同时,探索非transformer架构与注意力操作的集成是未来另一个有希望的研究方向。
在模型压缩领域,量化作为在大模型部署中使用的主要方法脱颖而出,主要是由于两个关键因素。首先,量化提供了一种方便的压缩大模型的方法。例如,使用Post-Training Quantization(PTQ)方法可以在几分钟内将具有70亿个参数的大模型的参数数分钟内减少到压缩形式。其次,量化具有实现内存消耗和推理速度大幅降低的潜力,同时只引入了很小的性能折损。对于许多实际应用,这种折损通常被认为是可以接受的。然而,值得注意的是,量化仍然可能会损害大模型的某些突发能力,例如自校准或多步推理。此外,在处理长上下文等特定场景中,量化可能导致显著的性能下降。因此,在这些特殊情况下,需要仔细选择适当的量化方法来减轻这种退化的风险。大量文献研究了稀疏注意力技术在长上下文处理中的应用。例如,最近的一项代表性工作StreamingLLM仅通过恢复几个注意力汇token就可以处理400万个token。尽管如此,这些方法往往会牺牲关键信息,从而导致性能下降。因此,在有效管理长上下文的同时保留基本信息的挑战仍然是未来探索的一个重要领域。至于权值修剪技术,LLM-KICK指出,即使在相对较低的稀疏度比下,当前最先进的(SOTA)方法也会出现相当大的性能下降。因此,开发有效的权值修剪方法来保持大模型性能仍然是一个新兴和关键的研究方向。
模型结构的优化通常涉及使用神经结构搜索(NAS),这通常需要大量的计算资源,这对其在压缩大模型中的实际应用构成了潜在的障碍。因此,相关研究采用自动结构优化进行大模型压缩的可行性值得进一步探索。此外,像低秩分解(LRF)这样的技术在压缩比和任务性能之间实现最佳平衡仍然是一个挑战。例如,ASVD在不影响大模型推理能力的情况下,只能实现适度的10%到20%的压缩比。
除了采用单独的模型压缩技术外,一些研究还探索了不同方法的组合来压缩大模型,利用各自的优势来提高效率。例如,MPOE将权重矩阵分解专门应用于基于MoE的大模型中的专家前馈网络(FFNs),目的是进一步降低内存需求。LLM-MQ利用权值稀疏性技术在模型量化过程中保护权值异常值,从而最大限度地减少量化误差。LPLR侧重于量化低秩分解权重矩阵,以进一步降低大模型推理过程中的内存占用和内存访问成本。此外,LoSparse将低秩分解与权值剪枝相结合,利用剪枝增强低秩近似的多样性,同时利用低秩分解保留重要权值,防止关键信息丢失。这些方法强调了集成多种压缩技术以更好地优化大模型的潜力。
6 系统级别优化
大模型推理的系统级优化主要涉及增强模型前向传递。考虑到大模型的计算图,存在多个算子,其中注意力算子和线性算子占据了大部分的运行时间。如2.3节所述,系统级优化主要考虑大模型中注意算子和解码方法的独特特征。特别是,为了解决大模型解码方法的具体问题,线性算子需要特殊的平铺设计,推测解码方法也被提出以提高利用率。此外,在在线服务的上下文中,请求通常来自多个用户。因此,除了前面讨论的优化之外,在线服务还面临着与异步请求引起的内存、批处理和调度相关的挑战。
6.1 推理引擎
目前对推理引擎的优化主要在于加速模型向前推理过程。对大模型推理中的主要算子和计算图进行了高度优化。此外,为了在不降低性能的前提下提高推理速度,推测解码技术也被提出。
6.1.1 图和计算优化
运行时间分析:通过HuggingFace,作者用不同的模型和上下文长度来分析推理运行时间。图15的分析结果表明,注意力计算和线性计算占据了运行时间的绝大部分,它们通常超过推理持续时间的75%。因此,大部分优化工作都致力于提高两个操作的性能。此外,有多个操作符占用了一小部分运行时间,这使得操作符的执行时间支离破碎,增加了CPU端的内核启动成本。为了解决这个问题,在图计算级别,当前优化的推理引擎实现了高度融合的算子。
注意力计算优化:标准的注意力计算(例如,使用Pytorch)包含矩阵Q与矩阵(K)的乘法,这导致时间和空间复杂度与输入序列长度呈现二次增长。如图15所示,注意力计算操作的时间占比随着上下文长度的增加而增加。这意味着对内存大小和计算能力的要求很高,特别是在处理长序列时。为了解决GPU上标准注意力计算的计算和内存开销,定制化注意力计算是必不可少的。FlashAttention将整个注意力操作融合为一个单一的、内存高效的操作,以减轻内存访问开销。输入矩阵(Q, K, V)和注意力矩阵被平铺成多个块,从而消除了完整数据加载的需要。FlashDecoding建立在Flash Attention的基础上,旨在最大限度地提高解码的计算并行性。由于译码方法的应用,Q矩阵在decoding过程中会退化为一批向量,如果并行度仅限于batch大小维度,则很难填充计算单元。FlashDecoding通过在序列维度上引入并行计算来解决这个问题。虽然这会给softmax计算带来一些同步开销,但它会显著提高并行性,特别是对于小批量大小和长序列。随后的工作FlashDecoding++观察到,在之前的工作中,softmax内的最大值仅作为防止数据溢出的比例因子。然而,动态最大值会导致显著的同步开销。此外,大量实验表明,在典型的大模型(如Llama2, ChatGLM)中,超过99.99%的softmax输入在一定范围内。因此,FlashDecoding++提出基于统计数据提前确定比例因子。这消除了softmax计算中的同步开销,使后续操作能够在softmax计算的同时并行执行。
线性计算优化:线性算子在大模型推理、特征投影和前馈神经网络(FFN)中发挥着关键作用。在传统神经网络中,线性算子可以抽象为通用矩阵-矩阵乘法(General Matrix-Matrix Multiplication, GEMM)运算。然而,对于大模型,decoding方法的应用导致维度的明显降低,与传统的GEMM工作负载不同。传统GEMM的底层实现得到了高度优化,主流大模型推理框架(例如,DeepSpeed , vLLM, OpenPPL等)主要调用cuBLAS为线性算子提供的GEMM API接口。如果没有针对降低维数的GEMM明确定制的实现,decoding过程中的线性计算将会效率低下。在最新版本的TensorRT-LLM中可以观察到解决该问题的issue。它引入了专用的通用矩阵向量乘法(General Matrix-Vector Multiplication, GEMV)实现,潜在地提高了decoding步骤的效率。最近的研究FlashDecoding++做了进一步的改进,在解码步骤中处理小批量数据时,解决了cuBLAS和CUTLASS库的低效率问题。该研究的作者首先引入了FlatGEMM操作的概念,以高度降低的维度(FlashDecoding++中的维数< 8)来表示GEMM的工作负载。由于FlatGEMM具有新的计算特性,传统GEMM的平铺策略需要进行修改。作者观察到,随着工作负载的变化,存在两个问题:低并行性和内存访问瓶颈。
为了解决这些问题,FlashDecoding++采用了细粒度平铺策略来提高并行性,并利用双缓冲技术来隐藏内存访问延迟。此外,当前经典大模型(例如,Llama2, ChatGLM)中的线性操作通常具有固定的形状,FlashDecoding++建立了启发式选择机制。这个机制根据输入大小在不同的线性运算符之间进行动态地选择转换。这些选项包括FastGEMV、FlatGEMM和由cuBLAS库提供的GEMM。这种方法确保为给定的线性工作负载选择最有效的计算操作,从而可能导致更好的端到端性能。
近年来,应用MoE FFN来增强模型能力已成为大模型研究的一种趋势。这种模型结构也对算子优化提出了新的要求。如图15所示,在具有MoE FFN的Mixtral模型中,由于HuggingFace实现中未优化FFN计算,线性算子在运行时占主导地位。此外,Mixtral采用了GQA注意结构,其降低了注意力算子的运行时间比例,进一步指出了对优化FFN层迫切需要。MegaBlocks是第一个针对MoE FFN层优化计算的算法。该工作将MoE FFN计算制定为块稀疏操作,并提出了用于加速的定制GPU内核。MegaBlocks专注于MoE模型的有效训练,因此忽略了推理的特征(例如,解码方法)。现有框架正在努力优化MoE FFN推理阶段的计算。vLLM的官方在Triton中集成了MoE FFN的融合内核,无缝地消除了索引开销。
图14:大模型推理引擎优化分类
图15:多个大模型的推理运行时间分析
图级别的优化:核融合作为一种流行的图级优化脱颖而出,因为它能够减少运行时间。应用核融合有三个主要优点:(1)减少内存访问。融合内核从本质上消除了中间结果的内存访问,减轻了计算操作的内存瓶颈。(2)减轻内核启动开销。对于一些轻量级操作(如残差add),内核启动时间占据了大部分延迟,内核融合减少了单个内核的启动。(3)增强并行性。对于那些没有数据依赖的运算符,当单个内核执行无法填充硬件容量时,通过融合实现内核并行是有益的。
核融合技术被证明对大模型推理是有效的,具有上述所有优点。FlashAttention将注意力运算符表述成一个单一的内核,消除了访问注意力结果的开销。基于注意力算子是内存有限的这一事实,内存访问的减少能有效地转化为运行时加速。ByteTransformer和DeepSpeed提出将包括残差加法、层模和激活函数在内的轻量级算子融合到前线性算子中,以减少内核启动开销。
和DeepSpeed[236]提出将包括残差add、layernorm和激活函数在内的轻量级算子融合到前面的线性算子中,以减少内核启动开销。因此,这些轻量级操作符在时间轴上消失,几乎没有额外的延迟。此外,还采用核融合来提高大模型推理的利用率。Q、K和V矩阵的投影变换原本是三个单独的线性运算,并融合成一个线性运算符部署在现代GPU上。目前,核融合技术已经应用于大模型推理实践中,高度优化的推理引擎在运行时只使用少数融合核。例如,在FlashDecoding++实现中,一个transformer块仅集成了七个融合的内核。利用上述运算符和内核融合优化,FlashDecoding++实现了在HuggingFace高达4.86倍的加速。
6.1.2 推测解码
推测解码(如投机采样)是一种用于自回归大模型的创新解码技术,旨在提高解码效率,同时不影响输出的质量。这种方法的核心思想包括使用一个较小的模型(称为草稿模型)来有效地预测几个后续token,然后使用目标大模型并行验证这些预测。该方法旨在使大模型能够在单个推理通常所需的时间范围内生成多个token。图16显示了传统自回归解码方法与推测解码方法的比较。理论上,推测解码方法包括两个步骤:
1)草稿构建:采用草稿模型,以并行或自回归的方式生成多个后续token,即Draft token。2)草案验证:利用目标模型在单个大模型推理步骤中计算所有草稿token的条件概率,随后依次确定每个草稿token的接受程度。接受率表示每个推理步骤接受的草稿token的平均数量,是评估推测解码算法性能的关键指标。
图16:自回归解码(a)和推测解码(b)对比
推测解码确保了输出与自回归解码方法的质量对等。传统解码技术主要使用两个采样方法:greedy sampling和 nucleus sampling。greedy sampling涉及在每个解码步骤中选择概率最高的令牌来生成特定的输出序列。推测解码的最初工作,被称为Blockwise Parallel Decoding,旨在确保草草稿token与通过greedy sampling的token实现精确匹配,从而保持输出令牌等价。相比之下,nucleus sampling涉及从概率分布中抽样token,每次运行都会产生不同的token序列。这种多样性使得nucleus sampling很受欢迎。为了在推测解码框架内容纳nucleus sampling,已经提出了投机采样技术。投机采样保持输出分布不变,与nucleus sampling的概率性质一致,以产生不同的标记序列。形式上,给定一个token序列 和一个草稿token 序列 ,投机采样策略以以下概率接受第i个草稿token:
其中 和 分别代表来自目标大模型和草稿模型的概率分布。如果第个token被接受, 它设定为 。另外, 它退出草稿token的验证, 并从下面的分布中进行 的重采样:
基于投机采样,出现了几种变体,旨在验证多个草稿token序列。值得注意的是,在这种情况下,token tree verfier已成为一种广泛采用的验证策略。这种方法利用草稿token集的树状结构表示,并采用树注意力机制来有效地执行验证过程。
在推测解码方法中,草稿token的接受率受到草稿模型的输出分布与原始大模型的输出分布的一致程度的显著影响。因此,大量的研究工作都是为了改进草稿模型。DistillSpec直接从目标大模型中提取较小的草稿模型。SSD包括从目标大模型中自动识别子模型(模型层的子集)作为草稿模型,从而消除了对草稿模型进行单独训练的需要。OSD动态调整草稿模型的输出分布,以匹配在线大模型服务中的用户查询分布。它通过监视来自大模型的被拒绝的草稿token,并使用该数据通过蒸馏来改进草稿模型来实现这一点。PaSS提出利用目标大模型本身作为草稿模型,将可训练的token(look -ahead token)作为输入序列,以同时生成后续token。REST引入了一种基于检索的推测解码方法,采用非参数检索数据存储作为草稿模型。SpecInfer引入了一种集体提升调优技术来对齐一组草稿模型的输出分布通过目标大模型。Lookahead decoding 包含大模型生成并行的生成n-grams来生成草稿token。Medusa对大模型的几个头进行微调,专门用于生成后续的草稿token。Eagle采用一种称为自回归头的轻量级Transformer层,以自回归的方式生成草稿token,将目标大模型的丰富上下文特征集成到草稿模型的输入中。
另一项研究侧重于设计更有效的草稿构建策略。传统的方法通常产生单一的草稿token序列,这对通过验证提出了挑战。对此,Spectr主张生成多个草稿token序列,并采用k-sequential草稿选择技术并发验证k个序列。该方法利用推测抽样,确保输出分布的一致性。类似地,SpecInfer采用了类似的方法。然而,与Spectr不同的是,SpecInfer将草稿token序列合并到一个“token tree”中,并引入了一个用于验证的树形注意力机制。这种策略被称为“token tree verifier”。由于其有效性,token tree verifier在众多推测解码算法中被广泛采用。除了这些努力之外,Stage Speculative Decoding和Cascade Speculative Drafting(CS Drafting)建议通过将投机解码直接集成到token生成过程中来加速草稿构建。
对比实验与分析:论文作者通过实验来评估推测解码方法的加速性能。具体来说,作者对该领域的研究进行了全面的回顾,并选择了其中6个已经开源的代码进行研究,分别是:Speculative Decoding (SpD)、Lookahead Decoding (LADE)、REST、Self-speculative Decoding (SSD)、Medusa和Eagle。对于评估数据集,使用Vicuna-80对上述方法进行评估,该数据集包含80个问题,分为10类。这80个问题的平均结果作为输出。对于目标大模型,作者采用了五个主流的开源大模型,分别是Vicuna-7B-V1.3、Vicuna-13B-V1.3、Vicuna-33B-V1.3、LLaMA-2-7B和LLaMA-2-13B。作者展示了这5个大模型的评估指标范围。对于草稿模型,作者对SpD采用了两个个训练好的草稿模型,即LLaMA-68M和LLaMA-160M。对于其他推测解码方法,作者遵循它们提出的草稿构建方法和使用他们提供的权重。在评价指标方面,作者使用接受率和加速率,接受率是指接受token数与生成步数之比,加速比是指在确定输出总长度时,原始自回归解码的延迟与推测解码的延迟之比。
表5提供了各种推测解码方法的比较,突出了几个关键观察结果:(1) Eagle表现出优异的性能,在多个大模型上实现了3.47~3.72倍的端到端加速。为了理解它的成功,作者对Eagle的深入分析揭示了两个关键因素。首先,Eagle采用自回归方法来解码草稿token,直接利用先前生成的token的信息。其次,Eagle集成了原始大模型和草案模型的先前token的丰富特征,以提高下一个草稿token生成的准确性。(2) token tree verifier被证明在提升投机采样方法的性能中是有效的。(3)这些方法实现的端到端加速往往低于接受率。这种差异是由于与草稿模型相关的生成成本不可忽视的实际考虑而产生的。
表5:实验结果
6.2 推理服务系统
推理服务系统的优化主要在于提高处理异步请求的效率。优化了内存管理以容纳更多的请求,并集成了高效的批处理和调度策略以提高系统吞吐量。此外,提出了针对分布式系统的优化方法,以充分利用分布式计算资源。
图17:推理服务系统分类图
6.2.1内存管理
在大模型服务中,KV缓存的存储决定了内存的使用,特别是当上下文长度很长时(参见第2.3节)。由于生成长度不确定,提前分配KV cache存储空间很难。早期的实现通常根据每个请求的预设最大长度预先分配存储空间。但是,在终止请求生成的时,这种方法会导致存储资源的大量浪费。为了解决这个问题,为了减少预分配空间的浪费,提出了为每个请求预测生成长度的上界。
但是,当不存在如此大的连续空间时,静态的KV缓存分配方式仍然是失败的。为了应对碎片化存储,vLLM提出以操作系统的样式,以分页的方式存储KV缓存。vLLM首先分配尽可能大的内存空间,并将其平均划分为多个物理块。当请求来临时,vLLM以不连续的方式动态地将生成的KV缓存映射到预分配的物理块。通过这种方式,vLLM显著减少了存储碎片,并在大模型服务中实现了更高的吞吐量。在vLLM的基础上,LightLLM使用了更细粒度的KV缓存存储,减少了不规则边界产生的浪费。LightLLM将token的KV缓存作为一个单元来处理,而不是一个块,因此生成的KV缓存总是使预分配的空间饱和。
当前优化的推理服务系统通常采用这种分页方式来管理KV缓存存储,从而减少冗余KV缓存的浪费。然而,分页存储导致注意力操作中的内存访问不规则。对于使用分页KV缓存的注意力算子,这就需要考虑KV缓存的虚拟地址空间与其对应的物理地址空间之间的映射关系。为了提高注意力算子的计算效率,必须对KV缓存的加载模式进行调整,以方便连续存储器访问。例如,在vLLM的PagedAttention中,对于K cache,head大小维度的存储结构为16字节的连续向量,而FlashInfer为KV缓存编排了各种数据布局,并伴随着适当设计的内存访问方案。注意力算子的优化与页面KV缓存存储的结合仍然是推理服务系统发展中的一个前沿挑战。
6.2.2 连续批处理
批处理中的请求长度可能不同,当较短的请求完成而较长的请求仍在运行时,会导致利用率较低。由于服务场景中的请求具有异步特性,因此缓解这种低利用率的时间段是有可能的。基于此,连续批处理技术被提出,以便在一些旧请求完成后对新请求进行批处理。ORCA是在大模型服务端第一个这样做的工作。
每个请求的计算包含多个迭代,每个迭代表示预填充步骤或解码步骤。作者建议可以在迭代级别对不同的请求进行批处理。此工作在线性操作符中实现迭代级批处理,在序列维度中将不同的请求连接在一起。因此,与完成的请求相对应的备用存储和计算资源被及时释放。继ORCA之后,vLLM将该技术扩展到注意力计算,使不同KV缓存长度的请求能够批处理在一起。Sarathi、DeepSpeed-FastGen和SarathiServe进一步引入了一种split-and-fuse方法,将预填充请求和解码请求批处理在一起。具体来说,此方法首先在序列维度上拆分长预填充请求,然后将其与多个短解码请求批处理在一起。该方法平衡了不同迭代之间的工作负载,并通过消除新请求的延迟显著减少了尾部延迟。LightLLM也采用了split-and-fuse方法。
6.2.3 Scheduling技术
在大模型服务中,每个请求的作业长度具有可变性,因此执行请求的顺序会显著影响服务系统的吞吐量。head-of-line blocking发生在长请求被赋予优先级时。具体来说,对于长请求,内存使用会迅速增长,当系统内存容量耗尽时,会导致后续请求受阻。ORCA和开源框架,包括vLLM和LightLLM,采用简单的先到先服务(FCFS)原则来调度请求。DeepSpeed-FastGen则优先考虑解码请求以提高性能。FastServe提出了一种抢占式调度策略来优化排队阻塞问题,实现大模型服务的低作业完成时间(JCT)。FastServe采用多级反馈队列(MLFQ)来优先处理剩余时间最短的请求。由于自动回归解码方法会产生未知的请求长度,FastServe首先预测长度,并利用跳过连接方式为每个请求找到适当的优先级。与以往的工作不同,VTC讨论了大模型推理服务中的公平性。VTC引入了一个基于token数的成本函数来衡量客户端之间的公平性,并进一步提出了一个公平调度程序来确保公平性。
6.2.4 分布式系统
为了实现高吞吐量,大模型服务通常部署在分布式平台上。最近的工作还侧重于通过利用分布式特征来优化此类推理服务的性能。值得注意的是,预填充是计算密集型的,解码是内存密集型的,splitwise, TetriInfer和DistServe证明了分解请求的预填充和解码步骤的效率。这样,两个不同的阶段就可以根据各自的特点进行独立的处理。SpotServe设计用于在具有可抢占GPU实例的云上提供大模型服务。SpotServe有效地处理包括动态并行控制和实例迁移在内的挑战,并且还利用大模型的自回归特性来实现token级别的状态恢复。此外,Infinite-LLM将vLLM中的分页KV缓存方法扩展到分布式云环境。
6.3 硬件加速器设计
过去的研究工作集中在优化Transformer架构,特别是优化注意力算子,通常采用稀疏方法来促进FPGA部署。与NVIDIA V100 GPU相比,FACT加速器通过线性运算的混合精度量化和算法-硬件协同设计实现了卓越的能效,而且这些方法不是为生成式大模型量身定制的。
近期的工作,如ALLO突出了FPGA在管理内存密集型解码阶段方面的优势。强调了模型压缩技术对大模型高效FPGA部署的重要性。相反,DFX侧重于解码阶段优化,但缺少模型压缩方法,限制了可扩展性在更大的模型和更长的输入(最多1.5B模型和256个token)。ALLO建立在这些见解的基础上,进一步提供了一个可组合和可重用的高级合成(High-level Synthesis, HLS)内核库。与DFX相比,ALLO的实现在预填充阶段展示了卓越的生成加速,在解码期间实现了比NVIDIA A100 GPU更高的能效和加速。
FlightLLM也利用了这些见解,引入了一个可配置的稀疏数字信号处理器(DSP)链,用于各种具有高计算效率的稀疏模式。为了提高存储带宽利用率,提出了一种支持混合精度的片上译码方案。FlightLLM在Llama2-7B型号上实现了比NVIDIA V100S GPU高6.0倍的能效和1.8倍的成本效益,解码时的吞吐量比NVIDIA A100 GPU高1.2倍。
6.4 大模型推理框架对比
作者对比了多个推理框架的性能,如表6所示。使用Llama2-7B(batch size=1,输入长度=1k,输出长度=128)测量推理吞吐量。推理服务性能是在ShareGPT数据集上测量的最大吞吐量。两者都基于单个NVIDIA A100 80GB GPU。在上述框架中,DeepSpeed、vLLM、LightLLM和TensorRT-LLM集成了推理服务功能,为来自多个用户的异步请求提供服务。作者还在表格中列出了每个框架的优化。作者还在表中列出了针对每个框架的优化。除了HuggingFace外,所有框架都实现了operator级别或图优化级别的优化以提高性能,其中一些框架还支持推测解码技术。请注意,作者测量所有框架的推理性能时,没有使用推测解码技术。推理吞吐量的结果表明,FlashDecoding++和TensorRT-LLM在覆盖主要算子和计算图的优化方面优于其他算法。在推理服务方面,各框架均采用细粒度、不连续存储方式进行KV缓存,并采用连续批处理技术提高系统利用率。与vLLM和LightLLM不同,DeepSpeed在调度中优先考虑解码请求,这意味着如果批处理中有足够的现有解码请求,则不会合并新请求。
表6:开源推理框架性能对比
6.5 认识,建议和未来方向
系统级优化在不降低精度的同时提高了效率,因此在大模型推理实践中越来越普遍。对推理的优化也适用于服务。最近,operator优化已经与实际服务场景紧密结合,例如,专门为前缀缓存设计的RadixAttention和加速推测解码验证的tree attention。应用和场景的迭代将不断对operator的发展提出新的要求。
考虑到实际推理服务系统中固有的多方面目标,例如JCT、系统吞吐量和公平性,调度策略的设计相应地变得复杂。在请求长度不确定的大模型服务领域,现有文献通常依赖于预测机制来促进调度策略的设计。然而,目前的预测器的有效性达不到理想的标准,这表明在服务调度策略开发中存在改进和优化的潜力。
7 关键应用场景讨论
目前的研究在探索跨各种优化级别的高效大模型推理的边界方面取得了重大进展。然而,需要进一步的研究来提高大模型在实际场景中的效率。作者为数据级(第4.3节)、模型级(第5.3节)和系统级(第6.5节)的优化技术分析了有希望的未来方向。在本节中,作者总结了四个关键场景:Agent and Multi-Model Framework、Long-Context LLMs、Edge Scenario Deployment和安Security-Efficiency Synergy,并对它们进行了更广泛的讨论。
Agent and Multi-Model Framework:如4.3章所讨论,Agent 和Multi-Model框架的最近工作,通过利用大模型的强大能力,显著提高了Agent处理复杂任务和人类请求的能力。这些框架在增加大模型计算需求的同时,在大模型输出内容的结构中引入了更多的并行性,从而为数据级和系统级优化(如输出组织技术)创造了机会。此外,这些框架自然地引入了一个新的优化级别,即pipeline级别,它具有在该级别上提高效率的潜力。
此外,越来越多的研究趋势侧重于将AI智能体扩展到多模态领域,通常使用多模态大模型(Large multimodal Models, LMM)作为这些Agent系统的核心。为了提高这些新兴的基于LMM的智能体的效率,为LMM设计优化技术是一个很有前途的研究方向。
Long-Context LLMs:目前,大模型面临着处理越来越长的输入上下文的挑战。然而,自注意力操作(Transformer-style大模型的基本组成部分)表现出与上下文长度相关的二次复杂度,对最大上下文长度施加了限制在训练和推理阶段。各种策略已经被探索了来解决这一限制,包括输入压缩(第4.1节)、稀疏注意力(第5.2.2节)、低复杂度结构的设计(第5.1.3节)和注意算子的优化(第6.1.1节)。值得注意的是,具有次二次或线性复杂性的非transformer架构(第5.1.3节)最近引起了研究人员的极大兴趣。
尽管它们效率很高,但与Transformer架构相比,这些新架构在各种能力(如上下文学习能力和远程建模能力)上的竞争力仍有待考察。因此,从多个角度探索这些新架构的功能并解决它们的局限性仍然是一个有价值的追求。此外,为各种场景和任务确定必要的上下文长度,以及确定将作为未来大模型基础支柱的下一代架构,这一点至关重要。
Edge Scenario Deployment:尽管提高大模型推理的效率已经有了许多工作,但将大模型部署到资源极其有限的边缘设备(如移动电话)上仍然存在挑战。最近,许多研究人员对具有1B ~ 3B参数的较小语言模型的预训练表现出了兴趣。这种规模的模型在推理过程中提供了更少的资源成本,并且与更大的模型相比,具有实现泛化能力和竞争性能的潜力。然而,开发如此高效和强大的小型语言模型的方法仍然没有得到充分的探索。
一些研究已经开启了这个有希望的方向。例如,MiniCPM通过沙盒实验来确定最优的预训练超参数。PanGu-π-Pro建议使用来自模型修剪的矩阵和技术来初始化预训练打磨谢谢的模型权重。MobileLLM在小型模型设计中采用了“深而薄”的架构,并提出了跨不同层的权重共享,在不增加额外内存成本的情况下增加层数。然而,小模型和大模型之间仍存在性能差距,需要未来的研究来缩小这一差距。未来,迫切需要研究如何识别边缘场景下的模型尺度,并探索各种优化方法在设计上的边界。
除了设计较小的模型之外,系统级优化为大模型部署提供了一个有前途的方向。最近一个值得注意的项目,MLC-LLM成功地在移动电话上部署了LLaMA-7B模型。MLC-LLM主要使用融合、内存规划和循环优化等编译技术来增强延迟并降低推理期间的内存成本。此外,采用云边缘协作技术或设计更复杂的硬件加速器也可以帮助将大模型部署到边缘设备上。
Security-Efficiency Synergy:除了任务性能和效率外,安全性也是大模型应用中必须考虑的关键因素。目前的研究主要集中在效率优化方面,没有充分解决安全考虑的操作。因此,研究效率和安全性之间的相互作用,并确定当前的优化技术是否会损害大模型的安全性是至关重要的。如果这些技术对大模型的安全性产生负面影响,一个有希望的方向是开发新的优化方法或改进现有的方法,以实现大模型的效率和安全性之间更好的权衡。
8 总结
高效的大模型推理侧重于减少大模型推理过程中的计算、内存访问和内存成本,旨在优化诸如延迟、吞吐量、存储、功率和能源等效率指标。作者在本综述中提供了高效大模型推理研究的全面回顾,提出了关键技术的见解,建议和未来方向。首先,作者引入了包含数据级、模型级和系统级优化的分层分类法。随后,在这一分类方法的指导下,作者总结每个层次和子领域的研究。对于模型量化和高效服务系统等成熟的技术,作者进行了实验来评估和分析它们的性能。在此基础上,提出了实践建议。为该领域的从业者和研究人员提出建议并确定有前途的研究途径。
#Claude 3.5核心编码prompt揭秘
全网码农沸腾!四步调教法,最新V2版放出
最核心的Claude 3.5编码系统提示,火遍Reddit社区。就在刚刚,原作者发布了进化后的第二版,有的网友已经将其加入工作流。>>加入极市CV技术交流群,走在计算机视觉的最前沿
一则关于Claude Sonnet 3.5核心编码的系统提示,最近在Reddit上传疯了!
名为ssmith12345uk用户在r/ClaudeAI主板下面,讲述了自己通过Claude代码实践,不断调整系统提示来优化模型。
他表示,系统提示融合了Anthropic元提示(Meta-Prompt)的一些思路,并解决了一些之前遇到的问题。
最终,他将所有的提示词放了出来。
AI社区的开发者们纷纷转发收藏,纷纷表示这不就是码农们最想要的提示么!
网友对此做了总结:ReAct + Planning + XML is all you need。
还有受益的网友称,这一提示在自己的项目中非常有帮助。
就在昨天,原作者在Reddit社区,又发布了一个进化版的V2提示词,并且提供了详细的使用说明和解释。
在解释这些系统提示技巧之前,先回答网友们一个问题——在哪输入?
需要创建一个项目(订阅Pro用户),便可以进入输入提示指令的页面。
Sonnet 3.5最强编码提示,4步调教
在此,将V1和V2系统提示放在一起,让大家更直观感受升级后的不同。
V2版的系统提示,如下图右所示。相较V1,基本上是小修小补。
最新版本中,依旧通过4个步骤引导模型完成CoT推理——代码审查、规划、输出、安全审查。
在第一段中,Claude 3.5的角色定义,依旧保持不变。
你是一位网络开发专家,精通CSS、JavaScript、React、Tailwind、Node.JS以及Hugo / Markdown。
只不过,再第二句时,进行了一些微调——「不要进行不必要的道歉。回顾对话历史以避免重复之前的错误」。
接下来,要求Claude 3.5可以在对话中,将任务分解成独立的步骤,并在每个阶段后,建议进行一个小测试,以确保一切都在正确的轨道上。
只在需要举例说明,或被明确要求时再提供代码。如果可以不用代码回答,是最好的。
但如果需要的话,会要求进一步阐述。
下一步就是「代码审查」了——在编写或建议代码之前,对现有代码进行全面的代码审查,并在 <CODE_REVIEW> tag之间描述其工作原理。
完成代码审查后,需要在 <PLANNING> tag之间构建变更计划,询问可能相关的额外源文件或文档。
遵循DRY(Don't Repeat Yourself)原则,避免代码重复,并平衡代码的可维护性和灵活性。
并且,在这一步中,提出可能的权衡和实现选择,考虑并建议使用相关的框架和库。如果我们还没有就计划达成一致,就在这一步停止。
一旦达成一致,在 <OUTPUT> tag之间生成代码。
这里,Reddit作者还提示了Claude 3.5在输出代码时,应该注意的事项:
注意变量名、标识符、字符串字面量(String Literals),并检查它们是否从原始文件中准确地复制
使用双冒号和大写字母(如::UPPERCASE::)来表示按惯例命名的项
保持现有的代码风格,使用适合该语言的习惯用法
生成代码块时,在第一个反引号后指定编程语言:比如:```JavaScript、```Python
最后,就需要对PLANNING和OUTPUT进行安全和操作审查,特别注意可能危及数据或引入漏洞的事项。
对于敏感的更改(例如输入处理、货币计算、身份验证),进行彻底的审查,并在 <SECURITY_REVIEW> tag之给出你的分析。
作者分析
接下来,一大段解释长文中,Reddit作者用🐈⬛来表示提示「迷信」,用😺表示自己确信的事情。
这个提示是一个引导式「思维链」😺提示的例子,告诉Claude要采取的步骤以及顺序,并将其用作系统提示(模型接收的第一组指令)。
使用XML tag来分隔步骤的灵感来自于😺Anthropic元提示。
作者认为,Claude😺对XML标签特别敏感,这可能与模型训练有关。因此,他更倾向于单独处理HTML或在会话末尾处理HTML🐈⬛。
项目地址:https://github.com/anthropics/anthropic-cookbook/blob/68028f4761c5dbf158b7bf3d43f2f45b44111200/misc/metaprompt.ipynb#
引导式思维链遵循以下步骤:代码审查、规划、输出、安全审查。
1 代码审查
将结构化的代码分析带入上下文中,为随后的计划提供信息。
目的是防止LLM在不考虑更广泛上下文的情况下,对代码进行局部更改。作者在测试中确信这种方法是有效的😺。
2 规划
这个步骤会产生一个高层次的设计和实施规划,以便在生成代码之前进行检查。
这里的「停止」避免了用生成的、不需要的、不满足我们需求的代码填充上下文,或者我们来回反复修改的情况。
它通常会呈现一些相关的、恰当的选项。
在这个阶段,你可以深入探讨规划的细节进一步完善(例如,告诉我更多关于第3步的信息,我们能否重用Y实现,给我看一个代码片段,关于库该怎么考虑等)。
3 输出
一旦规划得到一致,就可以进入代码生成阶段。
关于变量命名的提示,是因为作者在长时间的会话中,经常遇到重新生成的代码丢失或产生幻觉的变量名的问题,目前提示改进变似乎已经解决了这个问题🐈⬛。
某个时候,作者可能会导出旧的对话并进行一些统计分析,但现在对这个方法的效果很满意。
代码围栏(code fencing)提示,是因为作者切换到了一个无法推断正确高亮的前端,并验证了这是正确的做法😺。
4 安全审查
作者更倾向于在事后进行安全审查,并发现这一步骤非常有帮助。
它提供了来自「第二双眼睛」的审视,并可能提出新的改进建议。
解答网友问题
最后,Reddit作者还对网友们的提问,做出了答复。
我应该在Claude.ai上使用这个提示吗?/ 系统提示应该在哪输入?
我们并不确切知道Sonnet 3.5的官方系统提示,假设之前泄露Claude官方提示的Pliny是正确的,肯定是有帮助的。作者推测Anthropic的系统提示可能包含自动化CoT,但可能并非如此,或者输入可能会自动通过元提示处理🐈⬛。
不过,无论如何,使用这一提示,你会得到不错的结果,除非你在使用Artifacts。
再次假设Pliny关于Artifacts的摘录是正确的,作者在此强烈建议,在进行非琐碎或非Artifacts相关的编码任务时关闭Artifacts功能。
如果使用允许直接设置系统提示的工具,作者提醒要记得调整temperature参数。
我们现在不需要这么复杂的提示/我向Sonnet输入了大量代码,它就直接工作了
自动化的思维链(CoR)/默认提示确实可以解决很多问题,但请将其与一个简单的「你是一个有帮助的AI」提示进行对比测试。
作者声称已经进行了这样的测试,发现简单提示在处理复杂问题时效果较差。
他还提到早期测试显示了系统提示的敏感性,即不同的提示会导致显著不同的结果,未来将考虑进行更多的批量测试来进一步验证这一点。
他承认Sonnet 3.5在基本任务上表现出色,但同时强调,即使对于高性能的模型,适当的指导仍然有帮助。
这个提示太长了,会导致AI产生幻觉/遗忘/失去连贯性/失去焦点
作者测量了这个提示大约有546个token,而在一个200,000 token的模型中,提示长度是可以接受的。
结构化提示能够维持上下文的高质量,有助于保持对话的连贯性并减少AI产生幻觉的风险。
目前为止,模型是基于整个上下文来预测下一个token,所以重复的高质量对话,不被不必要的来回代码污染,可以在你需要开始新会话之前持续更长时间。这意味着可以在同一会话中进行更长时间的有效交互。
这个提示是过度设计
作者对此表示道,也许是吧。
用上的人,已融入工作流
网友惊叹道,用过之后模型性能确实提升了。
「如果这个提示效果更好,那就说明Anthropic团队在结合CoT或ReAct系统提示与LLM基础能力方面所做的工作,取得了成效」。
这是给编码助手设计的!对于这样的任务来说,给出一些指导是有意义的。
还有的网友,已经将其中一部分提示融到自己工作流中。如下是他在新对话中总是首先加载的内容。
不过,也有一些网友表示,这个提示太过复杂。
「根据我的经验,没有必要使用如此全面的提示。Claude 3.5 Sonnet能够相当自动地处理这类事情,只需偶尔进行提示澄清」。
角色提示,纯属浪费时间
Django框架的开发者Simon Willison表示,「你是xxx领域的专家」这种提示技巧,自2022年底以来,完全是浪费时间。
LLM提示所涉及的「迷信」,数量相当惊人!
这一结论竟出自,Learnprompting团队和OpenAI、微软合著者开展的为期一年的研究。
论文地址:https://arxiv.org/pdf/2406.06608
项目中,他们分析了超1,500篇关于提示的论文,并将其归纳为58种不同的提示技术,并对每一种提示进行了分析。
研究发现,角色提示(Role Prompting)的效果,令人震惊地差。
原因是,对于较旧的模型,它们似乎可以通过提示进入一个更好的参数空间,来获得改进的响应/推理。然而,较新的模型可能已经处于那个改进的参数空间中。
这对于所有人来说,将是一个有建设性的猜测!
回到2022年10月,当Learnprompting发布了有史以来第一个关于ChatGPT之前的提示技巧指南时,角色提示正是当时最热门的话题,也是所有人推荐用来获得更好ChatGPT结果的核心技巧。
不得不承认的是,这些模型正在迅速进化,去年有效的技巧今天可能就不再有效了。
而今天有效的提示技巧,到明年可能也不再有效。
为了澄清这一问题,Learnprompting团队对gpt-4-turbo使用了大约12不同的角色提示,测试了2000个MMLU问题。
特别是,创建了一个「天才」角色的提示例子——你是一位哈佛大学毕业的科学家...
还有一个「白痴」角色的提示——你是个笨蛋…
"genius...": "You are a genius level Ivy league Professor. Your work is of the highest grade. You always think out your problem solving steps in incredible detail. You always get problems correct and never make mistakes. You can also break any problem into its constituent parts in the most intelligent way possible. Nothing gets past you. You are omniscient, omnipotent, and omnipresent. You are a mathematical God."
"idiot...": "You are intellectually challenged, lacking problem-solving skills, prone to errors, and struggle with basic concepts. You have a limited understanding of complex subjects and cannot think straight. You can't solve problems well, in fact, you can't solve them at all. You are a terrible, dumb, stupid, and idiotic person. You fail at everything you do. You are a nobody and can't do anything correctly."
如下图所示,不同角色提示的回答准确率,竟没有零样本CoT、两个样本CoT等策略的比例高。
不管是数学菜鸟、粗心的学生,还是富有学识的AI、警察官、青藤数学教授,全都没用。
更有趣的是,被称为「天才」的GPT-4,在回答准确率上,破最低记录58.7%。
而被称为「白痴」的GPT-4,得分还要比「天才」GPT-4高。
而另一项来自密歇根大学团队的研究,很好地阐释了不同社会角色提示,如何影响模型整体的性能。
他们在2457个MMLU问题上进行了测试,发现表现最好的角色是(红色)——警察、有用的助手、伙伴、导师、AI语言模型、聊天机器人。
论文地址:https://arxiv.org/pdf/2311.10054
对于大模型提示「迷信」,Willison做了一个生动有趣的比喻:
我把这种情况比作一只狗在灌木丛中找到了一个汉堡,然后在接下来的几年里每次经过那个灌木丛时都会去检查是否有汉堡。我们需要比狗更加理性。
不过,他澄清在某些情况下,给AI语言模型赋予特定角色是有用的,但强调这应该基于合理的思考和具体情况。
还有网友表示,一步一步思考,依旧是永恒不变的定理。
参考资料:
https://www.reddit.com/r/ClaudeAI/comments/1dwra38/sonnet_35_for_coding_system_prompt/
#AKOOL
助力戛纳广告大奖,发布革命性实时数字人平台
2024年欧洲杯如火如荼进行之际,一则由法国电信公司 Orange 创作的足球比赛视频也迅速走红。
视频中,我们看到了姆巴佩、吉鲁、格里兹曼......,实际上,所有在球场上奔跑的运动员都不是真人,而是人工智能生成的虚拟角色。
凭借出色创意和独特性,该作品斩获了广告创意营销界“奥斯卡”——今年的戛纳国际创意节的体育类大奖。而 AKOOL 为这一大奖作品提供了核心技术支持。
他们开发的 AI 面部捕捉系统能精确捕捉人脸细微表情和动作,在精心设计的渲染技术加持下,作品中的虚拟人物几乎以假乱真。这种影像级别的视觉效果,足以满足高质量视频制作需求。
AKOOL客户Orange的戛纳获奖视频截图
AKOOL 发力实时数字人,多领域应用显潜力
现在,AKOOL 进一步将目光投向数字人业务和直播推流领域。
在现有技术基础上,他们推出了一套数字人系统,不仅可以捕捉人脸的细微表情,还能实时展现流畅动作,生成数字人的娱乐性与互动性可与真人媲美。
而直播技术致力于提升直播呈现方式,透过主播实时表情和动作的虚拟化,丰富观众收看体验。
AKOOL直播技术展示
目前,AKOOL有近300万用户,并与多家世界500强公司合作。去年他们还为可口可乐公司和英雄联盟游戏的联合营销活动提供了AI 面部增强技术支持。
近年来,数字人技术在多个领域展现出巨大潜力,为用户体验和商业模式带来创新。
前不久某平台主播直播时,突然晕厥倒地,而在直播和互动体验上,实时数字人技术为直播平台提供了新的可能性。数字人主播不仅语言流畅,能与观众实时互动,增强用户参与感,还可以24小时在线,永不疲惫。
数字人教师也在改变远程教育的授课模式。借助实时互动、情景模拟等手段,数字人教师能让课堂体验更加生动和吸引人,提高学生的学习兴趣和课堂参与度。:13
在客服领域,不管是常见问题解答、产品推荐、还是简单故障排除,数字人都可以轻松应对,并能提供全天候、个性化客户支持,为人工客服减负,提高商家服务效率。
在社交媒体平台上,实时数字人技术为内容创作者提供了新工具。让雷军、埃隆·马斯克两位大佬隔空来一段虚拟脱口秀,是不是很有趣?无论是逗乐、寓教于乐、从中了解品牌故事,实时数字人都拿手。
实时数字人技术还能为个性化营销带来创新和效果提升,使企业能够更好地吸引和留住客户。
AKOOL 实时数字人平台:亮点与关键技术
AKOOL 的实时数字人平台提供了多样化的数字人模板,满足不同用户的风格和需求。用户可以根据偏好从中选择合适的形象,满足不同应用场景的需求。
在声音处理方面,AKOOL 提供了两种主要的声音定制方式。用户既可以从预设声音库中选择,也可以上传自己或他人声音样本进行克隆。系统会利用语音合成技术,尝试生成与用户样本高度相似的语音、语调和语速,为数字人赋予更加个性化的声音特征。
AKOOL还提供自定义数字人功能,用户能够详细定义数字人各项属性,包括职业背景、对话情境、交流风格、专业领域、语气倾向以及知识库内容等,尝试创建适应特定交流需求的数字人。如模拟一位资深雅思考试专家,能够根据雅思考试的标准,对考生回答进行专业评估和提问,提供更为专业化的交互体验。
实时数字人技术在直播、远程教育、客服、社交媒体内容创作和营销等多个领域都有应用潜力,其技术的发展也离不开多项关键技术的积累。
如云端计算的突破性优势。AKOOL 实时虚拟人对话系统采用云端计算技术,减少了对本地硬件的依赖。无论使用何种设备,用户都能获得一致的高质量对话体验。云端强大处理能力在确保对话实时性的同时,也大幅提升了系统的灵活性和可扩展性。
为了进一步提升用户体验,AKOOL相比竞品还做了突破性升级。AKOOL集成了先进的人工智能算法。这些算法显著增强了系统的响应速度和对话理解力,使交互更贴近用户的自然语言习惯,带来更加个性化和富有洞察力的互动方式。
在视觉呈现方面,AKOOL也做出了重要突破。为了大幅提高数字人的真实感,他们开发了面部表情与口型同步技术,确保数字人的面部动作和口型与语音或文字输入精确对应,使得数字人表现更加生动自然。
除了追求影视级视觉效果,AKOOL 还注重提升数字人的智能交互能力。
如系统集成了自然语言处理(NLP)技术和机器学习算法,使数字人能够理解和响应复杂的语言结构和语义,实现更加智能的人机交互。
面对实时虚拟人所需的大量数据处理和复杂算法运算,AKOOL对计算资源的分配和使用进行了精心优化,旨在提供稳定而流畅的数字人交互体验。
为了促进技术广泛应用,AKOOL提供了API接口,方便企业快速接入并利用这一先进的人工智能技术。同时,系统支持超过40种主流语言,满足了全球化环境下的多语言需求。
在整个系统的设计过程中,AKOOL始终注重响应速度和可靠性,目标是在各种网络环境下提供稳定的用户体验。此外,系统采用4K超高清分辨率,旨在呈现高质量的画面和精细的动作细节,进一步提升数字人的真实感和沉浸式体验。
AKOOL:“另一种对空间的征服”
据了解,AKOOL员工近50名,分布在多个国家和城市,体现了其国际化的运营模式。顾问团队包括来自全球知名企业的高管和一些顶尖高校的研究人员。
公司创始人吕家俊在伊利诺伊大学香槟分校获得人工智能博士学位,曾在斯坦福大学进行访问研究,并参与过哈佛商学院总裁班(PLDA)的学习。在创立AKOOL之前,他参与过其他科技公司的早期运营,并在生成式人工智能领域有多年研究经验。
吕家俊曾表示,公司正在开发的数字克隆技术旨在帮助人们以数字化形式保存自己的声音和形象。他认为这项技术未来可能成为保存个人智慧的一种方式。吕家俊将AKOOL在AI领域的工作比作"另一种对空间的征服"。
为了应对Deepfake视频可能带来的滥用风险,AKOOL 也正在研发Fake视频鉴别功能。公司表示,将继续在数字人技术领域进行探索和创新,并在创新和责任之间寻找平衡,推动行业发展。
#活在微软AutoGen阴影里的CAMEL
早半年发arXiv,却被质疑抄袭
arXiv 不是同行评审期刊,所以发在 arXiv 上的论文不必被引用,这合理吗?
如果你对 AI 智能体感兴趣,那你一定知道微软的 AutoGen。它是一个用于构建 AI 智能体的开源编程框架,允许多个智能体通过聊天来解决任务。其间,LLM 智能体可以扮演多种角色,如程序员、设计师,或者各种角色的组合。
在 GitHub 上,这个项目已经收获了 28k 的 star 量,论文还在 ICLR 2024 LLM Agent Workshop 上获得了最佳论文奖。
不过,这篇论文的背后其实是存在争议的。
2023 年 11 月,一位 AI 研究者(阿卜杜拉国王科技大学博士,开源项目 Camel-AI.org、DeepGCNs.org 的发起人李国豪)发帖称,由于 AutoGen 与他们的论文 CAMEL 高度相似,他们每次出席活动的时候都会被问,二者有什么区别?
对此,李国豪表示非常无奈,因为他们的论文发布在 arXiv 上的时间要明显早于 AutoGen,如今却被当成了 AutoGen 的模仿者(CAMEL 发布于 2023 年 3 月;AutoGen 发布于 2023 年 8 月)。
论文链接:https://arxiv.org/abs/2303.17760
论文链接:https://arxiv.org/pdf/2308.08155
根据李国豪的说法,二者在方法论上存在以下相似之处:
甚至用到的例子也有点相似:
作为后来者,AutoGen 确实在论文中提到过 CAMEL,并指出了 CAMEL 与 AutoGen 之间的一些差异。但这些内容出现的位置令人费解 —— 它们统统出现在附录中。这可能也是导致其他研究者只知 AutoGen,不知 CAMEL 的一大原因。毕竟,有几个人会去仔细看附录呢?
AutoGen 论文中提及 CAMEL 的段落:「CAMEL(Li et al., 2023b)是一个通信智能体框架,它展示了如何使用角色扮演来让聊天智能体相互交流以完成任务。CAMEL 还能记录智能体对话以进行行为分析和能力理解。CAMEL 使用了一种「inception-prompting」技术实现智能体之间的自主合作。与 AutoGen 不同的是,CAMEL 本身不支持工具使用(如代码执行)。尽管 CAMEL 被提议作为多智能体对话的基础设施,但它只支持静态对话模式,而 AutoGen 还支持动态对话模式。」
表 1 为 AutoGen 与其他相关多智能体之间的差异总结,从四个指标着手判断:一是基础结构,即系统是否设计为构建 LLM 应用程序的通用基础结构;二是对话模式,即系统支持的模式类型。在「静态」模式下,无论输入如何,智能体拓扑结构都保持不变。AutoGen 允许灵活的对话模式,包括可以根据不同应用程序需求定制的静态和动态模式。三是可执行,即系统是否可以执行 LLM 生成的代码;四是人工参与,系统是否(以及如何)允许人工参与执行过程。AutoGen 允许人工灵活地参与多智能体对话,并允许人工选择跳过提供输入。
AutoGen 论文中提及 CAMEL 的段落:「AutoGen 可以帮助开发能力超强的智能体,充分利用 LLM、工具和人类的优势。创建这样的智能体对于确保多智能体工作流能够有效地排除故障并在任务中取得进展至关重要。例如,我们观察到,另一个多智能体 LLM 系统 CAMEL 在大多数情况下无法有效解决问题,主要是因为它缺乏执行工具或代码的能力。这一失败表明,仅有简单角色扮演的 LLM 和多智能体对话是不够的,还必须有具备各种技能的高级能力智能体。我们认为,开展更系统的工作,制定针对特定应用的智能体指南,创建大型 OSS 知识库,并创建能够发现和提升自身技能的智能体是必要的。
在 AutoGen 提交给 ICLR 主会议审稿期间,CAMEL 一作李国豪在公共评论区指出了这一问题,并强调这是「值得注意的遗漏」。
在针对 AutoGen 的审稿意见中,ICLR 的审稿人和领域主席也指出了这种做法的不妥之处。
其中,领域主席写道,「作者确实在附录中讨论了这一工作,但这种做法是不可取的,因为补充材料的审核级别与论文的审核级别不同。简而言之,这似乎允许作者说他们引用和讨论了论文,但实际上并没有在 99% 的人可能阅读的论文部分进行引用和讨论。我认为这种做法令人担忧。」
那 AutoGen 的作者为什么这么做呢?他们回复说:在他们将论文提交给 ICLR 2024 时,CAMEL 等论文尚未在同行评审会议 / 期刊上发表。根据 ICLR 2024 审稿人指南,他们没有义务引用这篇论文或与之比较(CAMEL 于 2023 年 9 月被 NeurIPS 2023 录用;ICLR 2024 审稿人指南规定,在 2023 年 5 月 28 日之后发表的论文不需要引用)。
同时,他们列出了论文中涉及 CAMEL 的部分:
鉴于 ICLR 规定在先,领域主席也不好多说什么。他写道,「虽然我理解这项政策背后的基本原理,但在当前的出版氛围下,它可能会导致奇怪的结果。由于 ICLR 的政策,我不会将其纳入我的决定中,但这会降低我的信心。」
关于李国豪提及的相似性,AutoGen 作者也给出了反驳意见:
针对审稿人提出的问题,他们回复如下:
最终,和 CAMEL 之间的相似性以及引用问题并未作为论文的主要问题被领域主席考虑在内。不过,AutoGen 论文最终还是因为其他原因被拒(所以后来作者转投了 ICLR 2024 LLM Agent Workshop)。
根据李国豪的说法,两篇论文的作者其实在线下见过面,但发生了一些不愉快:
李国豪希望能够通过发帖引起学术界的重视。
对此,你怎么看呢?
#豆包-PixelDance
终于拿到内测!豆包-PixelDance真是字节视频生成大杀器
「火山爆发,震撼天地。」这八个字会在你的头脑中触发怎样的影像?是否与下面的视频类似?
提示词:火山喷发,升起巨大蘑菇云,岩浆顺着山体往下流,镜头拉近,岩浆正在火山口跳动冒出。
这段 10 秒的视频是豆包视频生成模型基于以上提示词想象创造的。可以说这段视频的拟真度非常高,并且有着娴熟的运镜,足以放入任何影视作品中。
有着剪映、即梦等视频创作工具的字节跳动,正式宣告进军 AI 视频生成领域。那是在本周二,「2024 火山引擎 AI 创新巡展」来到了深圳。这一巡展上,字节跳动如火山爆发,一连发布了三个面向不同细分领域(视频生成、音乐和同声传译)的多模态大模型,同时给之前已有的通用语言模型、文生图模型、语音模型来了一波大升级。这些模型共同构建起了火山引擎的「豆包全模态大模型家族」。
家族新秀:豆包视频生成模型 PixelDance 和 Seaweed
惊艳、惊喜、目眩神迷……
在深圳站城市巡展上,火山引擎为豆包全模态大模型家族带来了两员新秀:PixelDance(像素跳动)和 Seaweed(海草)。
对于 PixelDance,记忆好的读者可能依然记得这个名词。是的,去年 11 月份,PixelDance 就已经凭借高动态视频生成能力在 AI 社区刷了一波存在感,感兴趣的读者可访问《视频生成新突破:PixelDance,轻松呈现复杂动作与炫酷特效》。
今年 5 月份,豆包视频生成模型的早期版本开始在即梦 AI 上应用,收获了不少好评。现在又过去了几个月时间,豆包视频生成模型已经完成迭代升级,能力更是大幅提升,也测试体验了其最新版本。
实测下来,PixelDance 和 Seaweed 这两个豆包视频生成模型的效果确实超乎了我们的想象。在此之前,大多数视频生成模型给出的结果都像是 PPT 一样:场景通常变化不大,而变化较大的场景又常会出现不一致问题。
豆包视频生成模型不仅能生成连贯一致的视频,而且还支持在生成的视频中采用不同运镜方式、多镜头切换、变焦等技法。此外,豆包视频生成模型还支持多种不同的风格以及各种常见设备的高宽比,适用于各种平台和场景。
,时长00:10
提示词:一位老人正眺望远方的大海,镜头缓慢拉远,一艘白色的轮船从画面右侧驶来,天上飞着几只海鸥。
具体技术上,豆包视频生成模型基于 DiT(扩散 Transformer)架构。通过高效的 DiT 融合计算单元,让视频在大动态与运镜中自由切换,拥有变焦、环绕、平摇、缩放、目标跟随等多镜头语言能力。全新设计的扩散模型训练方法更是攻克了多镜头切换的一致性难题,在镜头切换时可同时保持主体、风格、氛围的一致性,这也是豆包视频生成模型独具特色的亮点。
前些天,豆包视频生成模型刚发布时,已经受邀进行了一波内测,那时候我们主要测试的模型是豆包-Seaweed,参阅报道《字节版 Sora 终于来了!一口气两款视频模型,带来的震撼不只一点点》中带「即梦 AI」水印的视频。报道发出后,有读者评论表示这比仍处于 PPT 阶段的 Sora 强多了。
这一次,我们又获得了另一个模型豆包-PixelDance 的内测机会。让我们用更多实例来验证一下豆包视频生成模型的各项能力,看它是否真像传说中那样,有着超越 Sora 的表现。
能力 1:支持更复杂的提示词和多动作多主体交互:想象一个充满活力的城市广场,人群熙攘,街头艺人表演,孩童嬉戏,情侣漫步。豆包视频生成模型能将这复杂场景栩栩如生地呈现出来,不再局限于单一动作或简单指令。它能精准捕捉多个主体之间微妙的互动,从眼神交流到肢体语言,都能完美诠释。这种高级理解能力可为创作者打开无限可能,让想象力在视频中自由翱翔。
,时长00:10
提示词:80 年代风格,小男孩们在街头奔跑,汽车在街道上行驶。
能力 2:可在镜头切换时有效地保持镜头一致性:10 秒,足以让豆包视频生成模型讲述一个跌宕起伏的微电影。从温馨的家庭晚餐到激烈的街头追逐,再到感人的重逢场景,镜头切换行云流水,却始终保持主角特征、场景风格、情感氛围和叙事逻辑的完美统一。这种高超的一致性掌控,可为创作者的视频作品增添专业电影般的叙事魅力。
,时长00:10
提示词:女生先是流下眼泪,然后开心地笑起来,并主动拥抱了男生。
能力 3:强大动态与酷炫运镜:生成的视频可同时存在主体的大动态与镜头的炫酷切换。支持变焦、环绕、平摇、缩放,目标跟随等超多镜头语言,实现对视角的灵活控制。无论是震撼的动作场面,还是细腻的情感表达,豆包视频生成模型都能以最佳视角呈现,带来超越想象的视觉盛宴。
,时长00:10
提示词:特写,一个女生悲伤的面部,她缓缓转身,镜头拉远,看见了一个英俊的男子正注视着她。
能力 4:多样化的风格支持:从经典黑白到前卫 3D 动画,从清新淡雅的水墨国画到热烈奔放的厚涂风格,再到温馨可爱的 2D 动画,豆包视频生成模型可为每个创意赋予独特的艺术魅力。无论你想要怀旧、未来、写实还是梦幻,豆包视频生成模型都能完美诠释你的艺术视野。
,时长00:10
提示词:油画风格,镜头拉远,一个穿着黑色西装的男人正走在这条路上。
能力 5:支持多种宽高比:支持 1:1、3:4、4:3、16:9、9:16、21:9,全面覆盖各种常见的显示器或应用。无论是传统电视、电影银幕、电脑显示器,还是各类移动设备,生成的视频都能完美呈现。让创意不受设备限制,在任何平台上绽放光彩。
心动了吗?你不仅能心动,而且不久之后就能真正开始体验豆包视频生成模型!据了解,豆包视频生成模型 PixelDance 和 Seaweed 已在火山引擎开启邀测,企业可通过火山引擎官网提交测试申请。
豆包视频生成模型邀测报名入口:https://console.volcengine.com/ark/region:ark+cn-beijing/experience/vision?projectName=default&type=GenVideo音频模态的破局者:豆包音乐及同声传译模型
除了视频生成,字节跳动也强势进军音频生成领域,发布了豆包音乐模型及同声传译模型。我们知道,声音的本质是空气中震荡的机械波,人类对此的物理理解已经相当深刻,但要让 AI 创作出动人心弦的和谐韵律,或在瞬息间跨越语言的鸿沟,却是两个截然不同的挑战。
火山引擎近日发布的豆包音乐模型和同声传译模型在各自的难点上都取得了质的突破,达到了可实际投入生产应用的水平。
豆包音乐模型:每个人都能有自己的歌
想象一下,仅凭一句话或一张图片,就能瞬间编织出动人心弦的旋律!
是的,不同于 Suno 等其它常见的音乐生成模型只能使用文本作为提示词或歌词信息,豆包的音乐生成模型还能使用图片作为灵感来源。这不仅能极大丰富用户的灵感来源,并且还能让用户根据视觉场景生成最适合场景的音乐。豆包音乐模型还支持音乐转换,只需 10 秒的语音或歌声录音,即可将其转换为不同风格的音乐。
不仅如此,这位 AI 作曲家还精通 10 多种音乐风格和情感色彩,让你可以随心所欲地探索民谣、流行、摇滚、国风、嘻哈等多种风格和情绪表现。
比如随手拍摄的小猫照片,它就能给你创作出一首非常好听的歌:
,时长00:45
当然,你也可以让豆包音乐模型演唱你自己创作的歌词。我们以杜甫名篇《登高》做了测试:
,时长00:56
豆包音乐模型现已向用户开放,企业和开发者可以通过火山方舟使用其 API,用户也可以直接通过豆包 App 和海绵音乐 App 创作音乐。
豆包同声传译模型:准确、实时、真正同声
相较于注重和谐韵律的音乐模型,同声传译模型的核心需求是准确和实时。
豆包同声传译模型采用了端到端的方式来实现同声传译。这不仅能避免分阶段处理(语音识别→机器翻译→语音合成)时错误的传递和积累问题,还能极大降低延迟。据了解,豆包同声传译模型的准确度在办公、法律、教育等场景中接近甚至超越人类同传水平,而延迟水平仅有半句话左右。
基础能力之上,豆包同声传译模型还具备音色克隆能力,可生成与说话人音色一致的外语声音,实现真正的「同声」传译。
,时长00:36
更多相关细节可参阅我们之前的报道《字节大模型同传智能体,一出手就是媲美人类的同声传译水平》。
已有模型大升级,效率大提升
除了新发布的视觉和音频模态模型,在火山引擎这一次还对已有的通用语言模型、文生图模型、语音模型来了一波大升级。
通用语言模型:增大上下文、提升综合能力
从 5 月到 9 月,豆包大模型的使用量实现了超过 10 倍的爆发式增长,顺着这股爆发式增长的势头,火山引擎宣布将旗舰级豆包大模型「豆包通用模型 Pro」迭代成了更强大的新版本,让模型的综合能力提升了 25%,在各个维度上都达到了国内领先水平,尤其是在数学和专业知识能力上。
这样的提升可让豆包更加轻松地应对更为复杂的工作和生活场景。
此外,豆包通用模型 Pro 的上下文窗口也从之前的 128k 倍增到了 256k,可一次性处理约 40 万汉字,相当于一口气读完《三体》的前两部。
文生图模型:推理效率和性能大幅提升
火山引擎也将豆包文生图模型迭代到了 2.0 版本。其采用了更高效的 DiT 架构。模型的推理效率和性能都获得了显著提升。除了继承之前已有的高美感等优势,这一次升级,火山引擎着重优化了文生图模型的物理感知能力,可让模型感知多主体、数量、大小、高矮、胖瘦和运动等复杂属性并实现对应的生成。
文生图模型 2.0 的想象力也获得了提升,可更好地呈现虚构和超现实画面。另外,文生图模型 2.0 还能以极高的美感呈现中国古代的各类绘画风格。如下例子所示,生成人物的头发、手指和妆造都堪称完美。
提示词:古装美人赏月图,长发飘飘,烛火荧荧
同时,文生图模型的出图速度也获得了提升 —— 最快可做到 3 秒出图。
文生图模型 2.0 已经上线即梦,用户可以即刻开始尝鲜了。
语音模型:超强混音,音色自由组合
火山引擎也为自家的语音合成模型带来了一轮升级,其中最具看点的新功能是通过混音来组合形成不同的音色,并由此打破了音色数量的限制。并且,这个功能不仅允许用户自由组合火山引擎提供的声音,还能将自己的声音复刻为混音音源。
这些通过混音生成的声音不仅在音色自然度上有了质的飞跃,其连贯性、音质和韵律也达到了与真人几乎无异的水平,难以分辨虚实,令人惊叹。
比如我们可以通过混合猴哥和港剧女声的音色比例来获得妙趣横生的新音色。
,时长00:36
效率提升和成本降低:让大模型真正可用的基础
大模型服务要真正有用并能被用户使用,只是能力强大还不够,还需要强大的服务器提供硬件支持,同时还需要控制使用成本,让用户可以接受。
效率方面,火山引擎总裁谭待宣布,豆包 Pro 默认的初始 TPM(每分钟 token 数)为 800k,高于业界其它模型,并且还可根据企业具体需求进一步扩容。实际上,800k 的 TPM 足称业界最强,可以满足很多企业级的应用场景。
而在成本方面,火山引擎也做了很多创新和探索,并成功在今年 5 月将每千 token 的使用成本降到了 1 厘(0.001 元)以下,使字节跳动成为国内第一家能做到如此低成本的公司。可以说,token 的价格已经不再是阻碍 AI 应用创新的阻力。
另外,火山引擎还开发了全新的上下文缓存技术。这能让用户无需重复对话,就能保留上下文。由此可以降低多轮对话的延迟,改善用户体验。同时还能有效降低企业使用大模型的成本。
结语
在这场令人目眩神迷的 AI 盛宴中,火山引擎展示了其在视频、音频、文本等不同模态上的卓越能力。同时其也不断重申了对安全和隐私的重视。
火山引擎的全模态大模型战略正在逐步展现其全力以赴 AI 的决心。从文本到图像,从视频到音频,再到跨模态的融合应用,火山引擎正在构建一个全方位、多维度的 AI 生态系统,甚至能让用户「一个人就能成为想象的指挥家」,完成从创意加工到视频制作的全流程。这个生态系统不仅能为开发者和企业用户提供丰富的工具和接口,更为未来的智能应用描绘了一幅令人期待的前景。
#这才是技术之美
技术应该是大脑的插件,而不是计算机病毒。
技术应该是什么样子?
我们知道乔布斯有「为改变混乱繁杂而生的现代简约主义」的设计理念。所以苹果提供的科技产品都是简洁的。可斯人已逝,如今我们身边的科技产品似乎又进入了复杂与不实用的怪圈之中。
近日,知名 AI 领域学者 Andrej Karpathy 发表了自己对于产品哲学的看法,引发了人们的讨论。OpenAI创始成员Andrej Karpathy
Andrej Karpathy:我爱计算器。
Andrej Karpathy 博士毕业于斯坦福大学,师从李飞飞,是 OpenAI 的创始成员,曾任特斯拉 AI 高级总监,也是 YouTube「学习区」的一位知名博主。今年 7 月,Karpathy 宣布创业,创办了一家名为 Eureka Labs 的人工智能 + 教育公司。
在他的眼中,优秀的产品设计应该是「不打扰人」的,强大的技术被包含在简洁而实用的外表之下。只有这样的产品才能经得起时间的考验。奈何在 2024 年的今天,我们几乎看不到有新的电子设备遵循这样的理念了。
让我们看看 Andrej Karpathy 是怎么说的:
前几天,我在逛书店,无意中看到了《计算帝国:袖珍计算器的崛起与统治》这本书。
当我翻阅它时,突然意识到:我是如此喜欢计算器 —— 我指的不是你今天会购买和使用的物理设备,我指的是技术产品和某种哲学的象征。请看:
计算器真是太神奇了!当你用手指操作它时,它就变成了你大脑的一个插件,在算术领域扩展了人脑的计算能力。它让你变得更聪明。但更不可思议的是实现这一点的方法。
计算器是一个完全独立的物理产品,对我们技术圈的其余部分几乎没有任何「依赖性」。它只需要光(得益于微型太阳能电池板)和 / 或电池(这是一种通用商品)就能发挥作用。你可以选择用钱一次性购买计算器。从那时起,它就属于你了。只要你按下「ON」按钮,它就会打开,随时为你计算。
如果你带着这个可以握在手掌中的小东西穿越时空,把它交给几千年前的人们,它当然仍会工作。这感觉完全就是疯狂的奇迹。
让我们从如今日益被接受的常规技术角度来看待这一点。
计算器不需要互联网连接即可使用。它不会要求蓝牙权限,不想知道你的精确地理位置,不会提示你创建帐户,也不需要登录什么东西。
它不会每隔一周下载更新,不会被反复要求你创建和升级对计算器 Plus 版本的订阅,常规的版本就可以计算正弦和余弦。
它不会试图尴尬地成为一个「平台」,它不需要你的信用卡记录,它不会要求跟踪你的使用数据以改进产品,它不会随机打断你并要求你对其进行审核或发送反馈。它不会收集你的信息,以便以后在粗暴的数据市场上出售,或在下一次数据泄露时泄露到暗网上。
它不会自动订阅你的每月新闻通讯,它不会在每次服务条款变更时通知你,服务器宕机时它不会崩溃。
你在此设备上执行的计算是完全私密、安全的,完全局限于设备本身,并且不会在任何地方保存或记录任何运行记录。计算器是你大脑的完全独立的算术插件。它今天可以使用,一千年前也可以使用。你为购买它付费,现在它就是你的了。它没有其他主人。它只是做它的事情。这就是完美的。
这款获得数千条好评的二氧化碳监测器要求我创建一个帐户,下载其应用程序并允许精确的位置信息,然后它才会报告我房间里的二氧化碳含量。
为什么我们的技术如此地趋向于复杂、依赖性膨胀、致力于反用户、充满不人性的混乱局面?
一个经常浮现在脑海中的类比是,在资本主义经济中,公司可以被认为是在监管约束下最大化股东价值的一个优化问题。所以,这些是公司过度优化目标的症状吗?当你可以出租产品、最大化信息收集、控制现在和未来,并收集和货币化任何客户数据时,出售产品这件事的优先级又排在第几位呢?
这是否意味着监管不足,让人们面临着不利于用户的行业实践、无定价的外部性和垄断?
作为消费者和开发者,我们必须记住并深刻地理解技术可能的形态。它可能就像计算器。也许不是在整个经济中所有产品和服务的具体、实际意义上的存在,而是一种可以从各个维度接近的柏拉图式理想。
作为消费者,我们可以更加了解和敏感地看待这种趋势,并通过触碰了底线(股东价值术语)来进行反击。
而作为开发者,我们可以为优化贡献一个额外的选项 —— 意识形态的正则化梯度。只有这样,我们才有希望达到全局最优。
资本主义经济中一家公司的简单数学模型,用于解决二次规划优化问题。
未来如果出现一款像计算器一样简洁实用的大模型工具,会是什么样呢?
参考原文:
https://karpathy.ai/blog/calculator.html
#大规模预训练语料、开源模型与全面基准测试
本文的主要作者来自上海交通大学和上海人工智能实验室智慧医疗联合团队,共同第一作者为上海交通大学博士生邱芃铖和吴超逸,共同通讯作者为上海交通大学人工智能学院王延峰教授和谢伟迪副教授,这是该团队在继 PMC-LLaMA 后,在持续构建开源医疗语言大模型的最新进展。该项目受到科创 2030—“新一代人工智能” 重大项目支持。
在医疗领域中,大语言模型已经有了广泛的研究。然而,这些进展主要依赖于英语的基座模型,并受制于缺乏多语言医疗专业数据的限制,导致当前的医疗大模型在处理非英语问题时效果不佳。
为了克服这一挑战,近期一篇发表在《nature communications》的论文全面地从数据、测评、模型多个角度考虑了多语言医学大语言模型的构建,做出了三项贡献:
1. 创建了一个包含 25.5 Billion tokens 的多语言医疗语料库 MMedC。
2. 开发了一个全新的多语言医疗问答评测标准 MMedBench, 覆盖了 6 种语言,21 种医学子课题。
3. 推出了一款名为 MMed-Llama 3 的全新基座模型,以 8B 的尺寸在多项基准测试中超越了现有的开源模型,更加适合通过医学指令微调,适配到各种医学场景。
所有数据和代码、模型均已开源。
- 论文标题:Towards building multilingual language model for medicine
- 论文地址:https://www.nature.com/articles/s41467-024-52417-z
- 项目地址:https://github.com/MAGIC-AI4Med/MMedLM
- Leaderboard: https://henrychur.github.io/MultilingualMedQA/
图 a 揭示了构建的多语言医疗语料库的组成;图 b 介绍了全面的多语言医疗评测标准 MMedBench 的构成;图 c 对⽐了本⽂提出的模型 MMedLM 与当前主流模型在 MMedBench 上的准确率,图 d 展⽰了在 MMedC 上进⼀步预训练使模型性能相⽐于基线显著提升。
大规模多语医疗语料(MMedC)构建
在构建数据集方面,研究团队收集了一份多语言医疗语料库,命名为 MMedC。该数据集包含 255 亿 tokens,其内容来自于四个来源:
1. 通过启发式算法,从广泛的多语言语料库中(例如 CommonCrawl)筛选相关内容。
2. 搜集全球各地的电子版医疗教科书,并使用光学字符识别(OCR)技术转化为文本数据。
3. 从多个国家的许可的医疗相关网站抓取数据。
4. 整合已有的小型医疗语料库,以丰富和完善数据集。
MMedC 数据集统计概览。图 a 展示了该语料库覆盖的语言对应的地域;图 b 提供了各种语言的详细数据量统计;图 c 深入呈现了每种语言数据的来源分布比例。
全面多语言医学能力测试基准数据集(MMedBench)构建
为了评估医学领域多语言模型的发展,研究团队设计了一项全新的多语言选择题问答评测标准,命名为 MMedBench。此基准测试的所有问题均直接源自各国的医学考试题库,而非简单地通过翻译获得,避免了由于不同国家医疗实践指南差异导致的诊断理解偏差。
此外,研究团队还为每个题目提供了正确答案的详细解释。在评测过程中,要求模型不仅要选出正确答案,还需提供合理的解答理由。这样的设计不仅测试了模型回答选择题的能力,也测试其理解和解释复杂医疗信息的能力,从而更全面地评估其性能。
MMedBench 数据统计。图 a 呈现了 MMedBench 训练集与测试集的基础数值统计信息;图 b 揭示了 MMedBench 样本在不同主题上的分布情况。
MMedBench 模型测评
研究团队对主流医疗语言模型在 MMedBench 基准上,对三种不同的测试策略进行了评估:
- Zero-shot:适用于没有开源的模型,通过提供 Prompt,引导模型回答选择题,并解释其答案选择的原因。
- PEFT Finetuning:适用于已开源的模型,首先利用 LoRA 技术对模型在 MMedBench 训练集上进行局部微调,然后在测试集上评估其性能。
- Full model Finetuning:适用于已开源的模型,首先在 MMedBench 的训练集上进行全量微调,随后再在 MMedBench 的测试集上进行测试。
模型准确率评测
如表所示,主流的医学大语言模型在英语中通常表现出很高的准确率,但在非英语语言中的性能显著下降。具体来说,经过微调的 PMC-LLaMA 在英语上的平均准确率为 47.53,尽管其性能超过了同时期的其他模型,但仍显著落后于 GPT 模型。随后,随着更先进的基础模型的应用,开源模型开始缩小与 GPT 系列的差距。例如,在 MMedBench 的训练集上进行全量微调,Mistral、InternLM 2、Llama 3 的平均准确率分数为 60.73、58.59 和 62.79。在 MMedC 语料库上进行进一步自回归训练后,也观察到性能的提升。具体来说,最终模型 MMed-Llama 3 与其基座模型 Llama 3 相比,表现出了显著的性能提升,在全量微调评估下,MMed-Llama 3(67.75)平均准确率显著超越了 Llama 3(62.79)。对于 PEFT 微调也有类似的结论,即在 MMedC 上的进一步自回归训练带来了显著的收益。
主流模型在 MMedBench 上的准确率评测。其中 “MMedC” 标志着模型是否在 MMedC 语料库上完成进一步预训练,“MMedBench” 则标志着模型是否在 MMedBench 的训练集上完成微调。需要注意的是,English,Chinese,Spanish 是四选一选择题,Russian 是二选一选择题,French,Japanese 是不定项选择题。只有模型输出完全正确时,才会被视为正样本。“Avg.” 代表这六种语言的平均准确率。
模型解释答案能力评测(ROUGE-1/BLEU-1)
除了多项选择问答任务外,研究还扩展到评测各种大型语言模型的推理能力具体来说,对于给定的问题和选项,模型在输出选择答案的同时,还需要输出选择该答案的理由。下表展示了主流模型在 MMedBench 上对选择题答案的解释能力。
主流模型在 MMedBench 上进行答案解释能力评测。使用的自动指标是 BLEU-1/ROUGE-1。
考虑到基于句子相似度的自动指标不一定能准确地反应人类偏好,研究团队进一步对模型生成的答案解释进行了人工评估,精选了六种代表性强的语言模型进行研究,并对人工评价结果与自动评估指标的一致性进行了深入分析。
模型打分结果对比分析。图 a 展示了按照 BLEU 分数、人工质量排序和 GPT-4 质量排序的量化分数。图 B 展示了自动指标和人类评估之间的相关性,其中 k 代表拟合直线的斜率,t 代表坎德尔相关系数。
公开英文评测基准模型测评
为了在英语基准测试上与现有的大型语言模型进行公平比较,研究团队还基于 MMed-Llama 3 基座模型进行英文指令微调(数据集来自 PMC-LLaMA)。常用的医疗多项选择问答基准测试有四个,分别是 MedQA、MedMCQA、PubMedQA 和 MMLU-Medical。如下表所示,MMed-Llama 3 在英语基准测试上展示了很好的表现,在 MedQA、MedMCQA 和 PubMedQA 上分别获得了 4.5%、4.3% 和 2.2% 的性能提升。同样地,在 MMLU 上,MMed-Llama 3 也在大部分结果中都能达到了开源大语言模型中最好的表现,显著超过了 GPT-3.5。
英语多项选择题答题基准的准确率评估。报告了每个模型在不同任务中的准确率,“Avg. ” 表示九个任务的平均得分。请注意,为公平起见,所有分数都是基于基本的 zero-shot 生成设置,没有额外的提示策略。由于英文基准已被广泛得应用,因此直接使用其原始论文中报告的分数。对于 MedAlpaca、GPT-4、GPT-3.5 和 Llama 3,它们的分数基于 Open Medical-LLM 排行榜。
数据侧消融实验
在数据侧的消融实验中,作者研究了不同的预训练语料构建过程造成的影响。消融实验是在全量微调下对 MMedLM、MMedLM 2 和 MMed-Llama 3 进行的,分别以 InternLM、InternLM 2 和 Llama 3 作为基础模型。总体而言,三个模型的结论是一致的,在接下来的讨论中,将重点关注最终模型 MMed-Llama 3。
研究团队区分了 HQ-Data(高质量数据)和 US-Data(未指定来源数据)。HQ-Data 包括来自书籍和网站的内容,这些内容经过了人工检验,而 US-Data 则是从一般通用语料库中筛选出的与医学相关的内容。如下表所示,为选择题配备选择理由可以辅助模型更好地理解问题,从 58.72 提高到 62.79,增幅 4.06(对比各模型结果表格的第一行与第二行)。然而,仅在 MMedC 的英语部分进行进一步的自回归训练(参考 MMed-Llama 3-EN)并没有带来准确率的提升。这可能是因为过拟合英语,尽管在英语中的性能优越,但在其他语言中的结果较差。当将自回归训练扩展到整个多语言医学语料库时,这个问题可以在很大程度上得到缓解,显著改善最终结果。这不仅提高了选择准确率至 64.40,还分别在 BLEU-1 和 ROUGE-1 上提高了推理能力 0.48 和 0.54(对比各模型结果表格的第三行与第四行)。此外,引入自动收集的 US-Data 有助于进一步将准确率从 64.40 提高到 67.75,显著增加了 3.35(参考 MMed-Llama 3)。在解释能力上也可以观察到性能增益,即 BLEU-1 增加 0.29,ROUGE-1 增加 0.16。
消融实验。其中 HQ-Data 与 US-Data 用于区分医疗数据是否经过人工审核。具体而言,通过启发式算法从 CommonCrawl 自动获取的数据被归类为 US-Data(未审核数据),而来自其他来源的语料信息均经过了严格的人工审核,因此被标记为 HQ-Data(高质量数据)。
研究与临床价值
在本项工作中,研究团队首次引入了医疗领域的多语言大模型,这对研究和临床实践都有着重要的影响。在研究方面,本工作促进了以下研究的发展:
- 通用医疗人工智能(GMAI):GMAI 是指能够广泛应用于不同医疗场景下的多模态人工智能模型,其中大型语言模型常作为人机交互的纽带。采用多语言的医疗模型,替代以往以英语为中心的模型,能够充分利用全球多种语言的数据资源,从而扩展可用的多模态训练数据,提升对其它模态信息表征的质量。
- 增强检索的生成任务:在当前的大型语言模型中,"幻觉" 问题被认为是一个主要挑战,尤其是在医疗领域。一种有效的解决策略是开发具有检索功能的架构,其核心思想是通过从额外的知识库中检索事实信息,并将这些信息输入到大型语言模型中,来增强其输出的准确性。然而,迄今为止,大部分的研究都集中在英语上,这极大地限制了检索增强方法对其他语言知识库的利用。通过开发多语言的医疗模型,能够极大地提高检索过程对不同语言知识库的利用。
在临床实践中,开源的多语言医疗模型也能缓解以下挑战:
- 语言障碍。在众多医疗保健系统中,语言障碍是患者与医疗服务提供者之间有效沟通的一个主要障碍。这种障碍可能导致误解、误诊,最终使得高质量的医疗资源对大多数人而言变得难以触及。通过提供实时翻译服务,多语言医疗级大型语言模型使患者能够清晰表达自己的症状,并准确理解其诊断与治疗方案。
- 深入理解文化与法律的异同。多语言医疗语言模型能够通过进一步的指令微调,以识别并应对不同国家在医疗诊断过程中的文化和法律差异及敏感性问题。这种对各国文化背景和法律框架的深入理解,不仅可以显著增强用户对医疗大语言模型的信任,还能促进更高质量的医疗服务体验,确保医疗服务的全球化和个性化。
#人形是做通用机器人最合适的形态吗?
OpenAI 的 CEO Sam Altman 曾在一次采访中表达了对通用机器人价值的肯定,「如果我们有了通用人工智能,而在物理世界中完成事情的唯一方法就是让人类自己去做,那就太令人沮丧了。我们会在某个时候以某种方式重返机器人领域。」
马斯克同样看好对于通用人形机器人。马斯克要求 Optimus 做出来必须是一款人形,并且体态和人一样的机器人,而不是波士顿动力公司或其他公司造的四条腿或者带轮子的机械装置。
AGI 的最终形态应该是人形机器人,是业内的一种主流声音。对于人形机器人的追求,或许不亚于实现超级智能、通用智能。
01 为何业内都在追求实现「通用人形机器人」?
1、从近期业内的动态来看,都在朝着接近「通用人形机器人」的方向使劲。
① 挪威的人形机器人公司 1X 推出了专用于通用机器人的世界模型,通过对直接从机器人收集的原始传感器数据进行训练来学习模拟现实世界。[14]
② 傅利叶智能推出新一代通用人形机器人 GR-2,GR-2 在外观上沿用 1 代仿生设计语言,同时进一步优化全身比例,升级后的身高达到 175cm,体重 63kg,全身共有 53 个自由度,单臂运动负载达 3kg,能够完成更复杂的拟人操作。[15]
图:通用人形机器人 GR-2
2、为何实现「通用人形机器人」如此重要?
① 清华大学交叉信息研究院助理教授许华哲认为,通用性的理想定义与「开放世界」概念相匹配。当机器人能够在一个未设定具体规则、一切皆可变化的开放环境中解决问题时,可以被视为真正的通用型机器人。
② 简单来说,在任何场景、面对任何物体、任何状态下,只要这些条件对机器人有影响,机器人在这些任意定义的条件下仍能完成任务,即可称其为最严格意义上的通用性产品。[16]
3、而以往的机器人都是针对专门场景设计,当环境、场景、任务等发生变化时,专门设计的机器人就不具备通用性了。据国际机器人联合会数据,2023 年,全球工业机器人的总销量只有 59 万台。且这 59 万台中至少数十种互不通用的专门形态,大部分年产几百台,完全没有规模效应。
4、业内的一种主流观点是,人形是最适合实现通用具身智能的形态。清华大学交叉信息研究院院长姚期智认为,人形是最适合实现通用具身智能的形态。目前只有人类本身达到了真正的通用具身智能,因此人形机器人被视为最好的通用具身智能体。
5、除了「人形机器人」外,面向通用场景的形态还包括「四足机器人」。例如,近期蔚蓝科技推出的「BabyAlpha」机器狗,即是四足机器人。相比于人形机器人,「四足机器人」具备更成熟的移动控制能力,更适合全地形移动。[17]
图:BabyAlpha机器狗
02 「人形」一定是做通用机器人最合适的形态吗?
「人形」一定是做通用机器人最合适的形态吗?其实目前业内的看法不一。
1、英伟达、特斯拉都是「人形」的拥护者。黄仁勋认为,我们所有人都将建造全新类别的设备是「人形机器人」。「生产线是为人类设计的,仓库是为人类设计的,很多东西都是为人类设计的,因此人形机器人在那种环境中更有可能富有成效。」; 马斯克也持有类似观点,马斯克要求 Optimus 做出来必须是一款人形,并且体态和人一样的机器人,而不是波士顿动力公司或其他公司造的四条腿或者带轮子的机械装置。
2、人形机器人从驱动角度,还可以细分为双足(Bipedal)和轮式(Wheeled)两种。双足机器人模仿人类行走方式,在不平坦的地形上更具灵活性和适应性;轮式机器人在平坦或预定轨道上运行时,稳定性较好,控制相对简单,工厂、仓库等环境使用。
3、人形机器人还包含全身仿人、纯 humanoid 的腿式「纯人形机器人」,以及上半身仿人、下半身采取较为成熟的轮式底盘的「半人形机器人」。
① 例如,腾讯 Robotics X 近日推出的人居环境机器人「小五」,采用了四条直线腿和轮足复合的设计,结合了足式机器人的越障能力和轮式机器人的运行效率。其在平地上可以切换四轮模态和两轮模态;在不平整地形上,使用可伸缩的直线腿配合主动力控,实现弹簧悬挂效果。[18]
② 北大 CGCS 助理教授王鹤认为,「轮式人形机器人的商业化落地将更好,轮式人形机器人重点在于手眼脑的配合,仿人的上半身能不能泛化地在不同场景里干各种各样的活,把各种不靠灵活的双腿才能够完成的事情先给解决。」
4、考虑到使用场景、实用性、商业化落地等因素,也有一方观点认为,尽管人形机器人是当前业内的主流,但相比人形机器人,四足机器人的商业化落地能力会更强,四足机器人具备更成熟的移动控制能力,适合全地形移动。
5、还有一类观点是,通用机器人的具体某种形态相对并不重要,而是根据不同的场景需求来选择不同的「身体」,以功能来驱动。上海交大的卢策吾教授认为,当到了成熟的阶段,所有的硬件都是模块化的,接口是确定且清晰的,根据场景、需求等进行快速组装。每个身体的功能模块,都能根据场景自由组合。[19]
① 人形是目前社会认可度比较高的,但实际上随着 AI 技术的发展,别的形态也是可以的。关注的重点是需要把 AI 技术真正切合到机器人上面,而不单纯做个大模型。通用机器人的形态并不重要,未来可能是其他形态机器人。
03 找到大脑、小脑的 Scaling Laws 才是通用机器人的真正难点
通用机器人的形态并不重要,找到大脑、小脑的 Scaling Laws 才是通用机器人面临的真正难点。
#OpenAI API新政恐锁死GPT-5
GitHub中国IP访问崩了又复活!
GitHub中国区昨日突然访问受限,官方最新回复:只是一个配置失误导致的,现已全面恢复。与此同时,OpenAI推出API「已验证组织」新政,全球开发者想用前沿模型,得先过这关!
昨日,众多网友上GitHub,竟发现无法访问了。
一时间,GitHub无法访问在国内开发者中炸锅了。如今,终于等到了官方回应——
对于那些未登录的用户,暂时封锁访问,主要是因为一项带来意外影响的配置更改。
影响开始时间为UTC时间2025年4月12日20:01,并已于UTC时间2025年4月13日14:55解除。
官方表示,「导致此影响的配置更改已被撤销,用户现在访问GitHub时将不再遇到问题」。
好消息是,大家又能快快乐乐用GitHub开发了。
坏消息是,OpenAI API调用又出台了严格的新政——「已验证组织」的流程。
想要成为「已验证组织」,需要满足以下几个关键条件:
- 申请组织必须是OpenAI API支持国家/地区有效政府办法的ID证件
- 90天为一个周期,每个ID也只能为一个组织提供认证
- 并非所有组织都有资格获得验证
OpenAI这项API政策变化,可能会对全球AI生态系统造成广泛的影响。
OpenAI API组织验证
在OpenAI公告中,具体给出了关于如何验证API组织,以解锁对其最先进模型的使用权限的详细说明。
什么是API组织验证?
开发者可通过「已验证组织」状态,解锁对OpenAI平台上最先进模型和功能的使用权限。
为什么要引入这项政策,OpenAI给出了背后考量的原因:
OpenAI始终严肃履行责任,致力于确保AI的广泛可及和安全使用。然而,不幸的是,有极少数开发者故意违反OpenAI API的使用政策。我们正在增加此验证流程,旨在减少AI的不安全使用,同时继续向更广泛的开发者社群提供先进模型。
验证组织的过程,仅需几分钟,且无任何消费金额要求。提升使用量级仍将解锁适用于各模型的更高速率限制。
需要满足哪些条件?
正如开头所述,要成为已验证组织需要满足三点:
- 提供一份在OpenAI支持列表内的国家/地区签发的有效身份证件。
- 每个身份证件每90天仅可用于验证一个组织。
- 并非所有组织都符合验证资格。可以稍后再次查看,确认验证是否已对自己的组织开放。
比如我们的账号就并不能通过……
为什么要进行组织验证?
通过验证,开发者可以解锁对OpenAI平台上先进模型及附加功能的使用权限,从而利用最新的人工智能技术进展。
如果系统提示验证不可用,该怎么办?
如果验证当前对不可用:
- 开发者可以像往常一样继续使用OpenAI平台及现有模型。
- 当前需要验证的模型,未来或许会面向所有客户开放,届时可能无需验证。
支持哪些国家/地区?
OpenAI支持超过200个国家/地区签发的身份证明文件。要确认你的国家/地区是否受支持,最好的方法是直接开始验证流程。
最终验证成功后,界面如下图所示。
参考资料:
https://www.githubstatus.com/incidents/jfvgcls9swln
https://help.openai.com/en/articles/10910291-api-organization-verification
#GPT-4.1
刚刚,OpenAI发布GPT-4.1!全系支持百万token上下文,全方位碾压GPT-4o并且价格更低
今天凌晨,OpenAI 的新系列模型 GPT-4.1 如约而至。
该系列包含了三个模型,分别是 GPT-4.1、GPT-4.1 mini 和 GPT-4.1 nano,它们仅通过 API 调用,并已向所有开发者开放。
随着该系列模型在很多关键功能上提供了类似或更强的性能,并且成本和延迟更低,因此 OpenAI 将开始在 API 中弃用 GPT-4.5 预览版。弃用时间为三个月后(2025 年 7 月 14 日),从而为开发者提供时间过渡。
OpenAI 表示,这三个模型的性能全面超越了 GPT-4o 和 GPT-4o mini,并在编程和指令遵循方面均有显著提升。它们还拥有更大的上下文窗口 —— 支持高达 100 万个上下文 token,并且能够通过改进的长上下文理解更好地利用这些上下文。知识截止日期已更新至 2024 年 6 月。
总的来说,GPT-4.1 在以下行业标准指标上表现出色:
- 编程:GPT-4.1 在 SWE-bench Verified 测试中得分为 54.6%,比 GPT-4o 提升 21.4%,比 GPT-4.5 提升 26.6%,使其成为领先的编程模型。
- 指令遵循:在 Scale 的 MultiChallenge 基准测试(衡量指令遵循能力的指标)中,GPT-4.1 得分为 38.3%,比 GPT-4o 提升了 10.5%。
- 长上下文:在多模态长上下文理解基准测试 Video-MME 中,GPT-4.1 创下了新的最高纪录 —— 在长篇无字幕测试中得分为 72.0%,比 GPT-4o 提升了 6.7%。
虽然基准测试成绩非常不错,但 OpenAI 在训练这些模型时重点关注了实际效用。通过与开发者社区的密切合作和伙伴关系,OpenAI 针对开发者应用最相关的任务优化来这些模型。
为此,GPT-4.1 模型系列以更低的成本提供了卓越的性能。这些模型在延迟曲线的每个点上都实现了性能的提升。
GPT-4.1 mini 在小型模型性能上实现了显著飞跃,甚至在多项基准测试中超越了 GPT-4o。该模型在智能评估方面与 GPT-4o 旗鼓相当甚至超越,同时将延迟降低了近一半,成本降低了 83%。
对于要求低延迟的任务,GPT-4.1 nano 是 OpenAI 目前速度最快、成本最低的模型。该模型拥有 100 万 token 上下文窗口,在小规模下仍能提供卓越的性能,在 MMLU 测试中得分达 80.1%、在 GPQA 测试中得分达 50.3%、在 Aider 多语言编码测试中得分达 9.8%,甚至高于 GPT-4o mini。该模型是分类或自动补全等任务的理想选择。
在指令遵循可靠性和长上下文理解方面的改进,也使 GPT-4.1 模型在驱动智能体(即能够代表用户独立完成任务的系统)方面更加高效。结合 Responses API 等原语,开发者现在可以构建在实际软件工程中更有用、更可靠的智能体,从大型文档中提取洞见,以最少的手动操作解决客户请求,以及执行其他复杂任务。
同时,通过提升推理系统的效率,OpenAI 得以降低 GPT-4.1 系列的价格。GPT-4.1 的中等规模查询成本比 GPT-4o 低 26%,而 GPT-4.1 nano 是 OpenAI 迄今为止最便宜、速度最快的模型。
对于重复传递相同上下文的查询,OpenAI 将新系列模型的即时缓存折扣从之前的 50% 提升至 75%。此外,除了标准的每 token 成本外,OpenAI 还提供长上下文请求,并且无需额外付费。
OpenAI CEO 山姆・奥特曼表示,GPT-4.1 不仅基准测试成绩优异,并且专注真实世界的实用性,应该会令开发者开心的。
看起来,OpenAI 实现了自家模型能力上的「4.10﹥4.5」。
图源:https://x.com/stevenheidel/status/1911833398588719274
编程
GPT-4.1 在各种编码任务上都显著优于 GPT-4o,包括智能体解决编码任务、前端编程、减少无关编辑、可靠遵循 diff 格式、确保工具使用一致性等任务。
在衡量真实世界软件工程技能的 SWE-bench Verified 测试中,GPT-4.1 完成了 54.6% 的任务,而 GPT-4o(2024-11-20)完成了 33.2%。这反映了该模型在探索代码库、完成任务以及生成可运行和通过测试的代码方面的能力提升。
对于需要编辑大型文件的 API 开发者来说,GPT-4.1 在处理各种格式的代码 diff 时更可靠。在 Aider 的多语言差异基准测试中,GPT-4.1 的得分是 GPT-4o 的两倍多,甚至比 GPT-4.5 高出 8%。这项评估既衡量了跨多种编程语言的编码能力,也衡量了模型在整体和 diff 格式下生成更改的能力。
OpenAI 专门训练了 GPT-4.1,使其能够更可靠地遵循 diff 格式,这使得开发者只需输出更改的行,而无需重写整个文件,节省成本和延迟。同时,对于喜欢重写整个文件的开发者,OpenAI 将 GPT-4.1 的输出 token 限制增加到 32,768 个 token(高于 GPT-4o 的 16,384 个 token)。OpenAI 还建议使用预测输出来减少完整文件重写的延迟。
GPT-4.1 在前端编程方面也较 GPT-4o 有了显著提升,能够创建功能更强大、更美观的 Web 应用。在 head-to-head 对比中,付费人工评分员 80% 的评分结果显示,GPT-4.1 的网站比 GPT-4o 的网站更受欢迎。
除了上述基准测试之外,GPT-4.1 在遵循格式方面表现更佳,可靠性更高,并且减少了无关编辑的频率。在 OpenAI 内部评估中,代码中的无关编辑从 GPT-4o 的 9% 下降到了 GPT-4.1 的 2%。
指令遵循
GPT-4.1 能够更可靠地遵循指令,并在各种指令遵循评估中实现了显著的改进。OpenAI 开发了一个内部指令遵循评估系统,用于跟踪模型在多个维度和几个关键指令执行类别中的表现,包括:
- 格式遵循。提供指令,指定模型响应的自定义格式,例如 XML、YAML、Markdown 等。
- 负面指令。指定模型应避免的行为,例如:「不要要求用户联系支持人员」。
- 有序指令。提供一组模型必须按给定顺序遵循的指令,例如:「首先询问用户的姓名,然后询问他们的电子邮件地址」。
- 内容要求。输出包含特定信息的内容,例如:「编写营养计划时,务必包含蛋白质含量」。
- 排序。以特定方式对输出进行排序,例如:「按人口数量对响应进行排序」。
- 过度自信。指示模型在请求的信息不可用或请求不属于给定类别时回答「我不知道」或类似的内容,例如:「如果您不知道答案,请提供支持联系电子邮件地址」。
这些类别是根据开发者的反馈得出的,表明了哪些指令遵循对他们来说最相关且最重要。在每个类别中,OpenAI 将其分为简单、中等和困难提示。GPT-4.1 在困难提示方面的表现尤其优于 GPT-4o。
多轮指令遵循对许多开发者来说至关重要。对于模型来说,在对话中保持连贯性并跟踪用户之前输入的内容至关重要。GPT-4.1 能够更好地从对话中的过往消息中识别信息,从而实现了更自然的对话。Scale 的 MultiChallenge基准测试是衡量这一能力的有效指标,GPT-4.1 的表现比 GPT-4o 提高了 10.5%。
GPT-4.1 在 IFEval 上也得到了 87.4%,而 GPT-4o 的得分为 81.0%。IFEval 使用带有可验证指令的提示,例如指定内容长度或避免使用某些术语或格式。
更佳的指令遵循能力使现有应用程序更加可靠,并支持此前受可靠性低下限制的新应用程序。早期测试人员指出,GPT-4.1 可以更加直观,因此 OpenAI 建议在提示中更加明确和具体。
长上下文
GPT-4.1、GPT-4.1 mini 和 GPT-4.1 nano 最多可处理 100 万个上下文 token,而之前的 GPT-4o 模型最多可处理 12.8 万个。100 万个 token 相当于 8 个完整的 React 代码库,因此长上下文非常适合处理大型代码库或大量长文档。
GPT-4.1 能够可靠地处理 100 万 token 上下文长度的信息,并在注意相关文本和忽略长短上下文干扰项方面比 GPT-4o 更加可靠。长上下文理解是法律、编程、客户支持以及许多其他领域应用的关键能力。
OpenAI 演示了 GPT-4.1 检索位于上下文窗口内各个点的隐藏小信息(needle)的能力。GPT-4.1 能够持续准确地检索所有位置和所有上下文长度的 needle,最大检索量可达 100 万个 token。无论这些 token 在输入中的位置如何,GPT-4.1 都能有效地提取与当前任务相关的细节。
然而,现实世界中很少有任务像检索一个显而易见的「needle 」答案那样简单。OpenAI 发现用户经常需要模型检索和理解多条信息,并理解这些信息之间的相互关联。为了展示这一能力,OpenAI 开源了一项新的评估:OpenAI-MRCR(多轮共指)。
OpenAI-MRCR 测试模型识别并消除上下文中隐藏的多个「needle 」的能力。评估包括用户和助手之间的多轮合成对话,用户要求助手撰写一篇关于某个主题的文章,例如「写一首关于貘的诗」或「写一篇关于岩石的博客文章」,接着会在整个上下文中插入两个、四个或八个相同的请求,最后模型必须检索与特定实例对应的响应(例如「给我第三首关于貘的诗」)。
挑战在于这些请求与上下文其余部分的相似性,模型很容易被细微的差异误导,例如关于貘的短篇故事而不是诗歌,或者关于青蛙的诗歌而不是貘。OpenAI 发现,GPT-4.1 在上下文长度高达 128K 个 token 时的表现优于 GPT-4o,并且即使长度高达 100 万个 token 时也能保持强劲的性能。
OpenAI 还发布了 Graphwalks,这是一个用于评估多跳长上下文推理的数据集。许多开发者在长上下文用例中需要在上下文中进行多次逻辑跳跃,例如在编写代码时在多个文件之间跳转,或在回答复杂的法律问题时交叉引用文档。
理论上,模型(甚至人类)可以通过一遍遍阅读提示词来解决 OpenAI-MRCR 问题,但 Graphwalks 的设计要求在上下文中的多个位置进行推理,并且无法按顺序求解。
Graphwalks 会用由十六进制哈希值组成的有向图填充上下文窗口,然后要求模型从图中的随机节点开始执行广度优先搜索 (BFS)。然后要求它返回一定深度的所有节点。结果显示,GPT-4.1 在此基准测试中达到了 61.7% 的准确率,与 o1 的性能相当,并轻松击败了 GPT-4o。
视觉
GPT-4.1 系列模型在图像理解方面同样非常强大,尤其是 GPT-4.1 mini 实现了重大的飞跃,在图像基准测试中经常击败 GPT-4o。
以下为 MMMU(回答包含图表、图解、地图等的问题)、MathVista(解决视觉数学问题)、CharXiv-Reasoning(回答科学论文中关于图表的问题)等基准上的表现对比。
长上下文性能对于多模态用例(例如处理长视频)也至关重要。在 Video-MME(长视频无字幕)中,模型基于 30-60 分钟长的无字幕视频回答多项选择题。GPT-4.1 达到了最佳性能,得分为 72.0%,高于 GPT-4o 的 65.3%。
更多测试指标请参考 OpenAI 原博客。
博客地址:https://openai.com/index/gpt-4-1/
#揭秘偏好对齐数据的「三驾马车」
什么样的偏好,才叫好的偏好?
论文有两位共同一作。何秉翔,清华大学博士一年级,研究方向为大语言模型对齐、强化学习。张文斌,哈尔滨工业大学博士一年级,研究方向为自然语言处理。
近年来,大语言模型(LLMs)的对齐研究成为人工智能领域的核心挑战之一,而偏好数据集的质量直接决定了对齐的效果。无论是通过人类反馈的强化学习(RLHF),还是基于「RL-Free」的各类直接偏好优化方法(例如 DPO),都离不开高质量偏好数据集的构建。
尽管已有诸多研究致力于扩展偏好数据集的规模并优化标注方式,但对于哪些因素会对偏好数据集的对齐性能产生影响缺乏系统性分析,导致优化策略往往依赖经验,缺乏明确的原则指导。
这不禁引发了一个核心问题:哪些因素会影响偏好数据集的对齐性能?
为填补这一空白,近期来自清华大学、哈尔滨工业大学和阿里安全的研究团队提出 AIR(Annotations, Instructions, Response Pairs)框架,系统性地剖析构成偏好数据集的三大核心要素:标注(Annotations)、指令(Instructions)与回复对(Response Pairs),并通过控制变量实验,量化不同组件对于最终对齐效果的独立贡献。
研究团队在 MT-Bench(多轮对话)、ArenaHard(复杂推理)、AlpacaEval 2.0(指令遵循)等 6 大评测集构建实验矩阵,覆盖编码、数学、知识推理、指令遵循等对齐关键领域,发现三个要素对偏好数据的质量都会产生关键影响,设计合理的优化策略能够显著提升累积对齐性能。
这意味着我们将偏好数据集的设计转变为一种更加科学、关注组件优化的策略。这种方法不仅显著提升了对齐性能,还为未来的对齐研究提供了一张高效的蓝图。
同时,AIR 技术已赋能阿里安全御风大模型的业务偏好优化,提升了模型 zeroshot 解决业务问题的能力,促进阿里广泛多域安全审核业务的模型上线。
【TL;DR】AIR 框架提出大模型偏好数据集的三大设计准则
- 极简标注策略:利用生成式奖励模型(如 Llama-3.1-70B-Instruct)的文本生成能力完成偏好标注,仅需基础的 point-wise 评分指令(如「请从 0-9 分评估回复质量」)配合贪心解码。实验证明复杂标注设计会产生过度干预,反而不利于模型学习偏好信号。
- 智能指令筛选:基于动态质量方差分析的指令优选机制,通过多模型采样后保留回复分数方差最小的指令。值得注意的是,虽然多轮对话指令能增强对话连贯性,但因在其他评估维度未现显著增益,最终采用非筛选的指令轮数方案。
- 科学回复对构造:通过三重黄金准则实现高效对比学习:① 设置合理质量差(Δ=2/3)构建清晰对比梯度;② 锚定高质量基线(评分≥8)确保回复可靠性;③ 采用 On/Off-Policy 混合策略(1:1 配比)精准控制策略分布偏移。
- 论文标题:AIR: A Systematic Analysis of Annotations, Instructions, and Response Pairs in Preference Dataset
- 论文链接:https://arxiv.org/abs/2504.03612
图 1:(左)AIR 框架将偏好学习拆解为这三个核心部分,并在最外层标注了经过实证验证的最佳设计原则。(右)当我们逐步整合这些优化后的标注、响应组合和指令时,在 14k 偏好数据对上的累积效果非常显著,明显提升了所有基准测试中的对齐性能。
我们在一个被广泛使用的开源 SFT 模型(Llama-3.1-Tulu-3-8B-SFT)基础上,结合 ShareGPT 与 UltraFeedback 指令集,基于最简单的 DPO 设置,系统性探索了偏好数据集的三大核心组件——标注(A)、指令(I)、回复对(R),提出可扩展的组件化优化框架 AIR,并在 MT-Bench、ArenaHard、AlpacaEval 2.0 等 6 大评测集做了大规模、系统性的评测。
同时为了确保实验结论可信,我们在不同的指令集、不同的标注模型上做了验证实验。我们总结出如下三大设计原则:
偏好标注:大道至简,避免复杂标注策略
我们从标注模型架构、标注 Prompt 设计和解码方式三个方面,分析了如何对偏好进行有效标注。
- 标注模型架构:我们分别用 SOTA 的分类式的奖励模型(Skywork-Reward-Gemma-2-27B-v0.2; RewardBench: 94.3)和普通的生成式模型(Llama-3.1-70B-Instruct; RewardBench: 84.0)标注偏好数据集,然后评测它们用于对齐的性能。我们发现尽管在 RewardBench 上得分较低,Llama-3.1-70B-Instruct 在所有 Benchmark 上的平均分比基于分类器的模型高 1.4(图 2 左),这表明分类式奖励模型可能过拟合了 RewardBench,而 RewardBench 同样低估了生成式模型用于偏好标注的泛化能力。
- 标注 Prompt 设计:对于用生成式模型标注偏好,我们由简单到复杂设计了六种标注策略。从最简单的单点打分(Single)开始,变成成对打分(Pair),加入评分手册(Guided),让模型先给出解释再打分(Explained),提出多个细粒度问题再打分(Fine-Grained)。我们惊讶地发现最简单的单点打分策略性能最佳(表 1)。这可能表明,在追求复杂标注流程时,过多的人类要求引入了噪音,而使用简约的标注 Prompt 并利用标注模型的固有判断力,比使用复杂的标注 Prompt 更契合真实世界的偏好信号,这和 DeepSeek-R1-Zero 在 Zero-RL 过程中使用的简约 prompt 有着异曲同工之妙。
- 标注解码方式:近期的研究中出现了多种聚合解码方法,用以提高标注的可靠性。如多样本平均(计算多次高热采样的平均得分)和基于概率的加权(对输出「0」到「9」的概率进行加权)。我们将这两种方法与贪心解码方法进行了比较,如图 2(右)所示,贪心解码性能最佳。尽管它最简单,但其平均得分比多样本平均高出 1.9,比基于概率的加权高出 1.4。
图 2:(左)生成式标注性能超越 SOTA 分类器模型(+1.4),揭示 RewardBench 评估盲区;(右)Greedy Decoding 效果优于多次打分平均(+1.9)与概率加权(+1.4)
表 1:单点打分策略(Single-Basic)比复杂两两对比方案性能提升 +3.12
指令筛选:偏好数据需要能够引发细粒度差异的指令
当前指令筛选方法主要关注指令本身的静态属性(如质量、难度、多样性),却忽视了动态的响应一致性问题——同一指令在不同大语言模型中可能引发差异显著的回复。这种响应分歧会模糊偏好学习的信号边界,降低对齐效率。
因此,我们探究了更高的指令推理稳定性(即指令能够引发不同 LLMs 回复之间更细粒度的差异)能否为模型对齐提供更有效的信号。
为了验证这一点,我们提出了基于回复质量方差的指令选择方法,首先从不同的 LLMs 中采样回复,然后标注他们的得分并计算方差,最后优先选择方差较低的指令。结果如图 3(左)所示,仅仅筛选质量较高的指令(InsTag Quality Filtering)并没有显著收益,而筛选低方差的指令取得了最佳性能,在 AlpacaEval 2(+3.7)和 ArenaHard(+4.6)上表现出色。这可能由于低方差的指令迫使模型学习细粒度偏好差异(如逻辑严谨性),而不会依赖于回答对之间明显的差别,或简单地对错误进行修正。
我们还将指令筛选的分析扩展到了指令的结构——具体来说,提高对话的轮数能否改善偏好学习的性能。为了验证这一点,我们将单轮和多轮指令分开,并以与之前相同的方式构建偏好对。结果如图 3(右)所示,多轮上下文指令在 MT-Bench 第二轮中产生了提升(+0.7),但在其他单轮测试中改进较小。这表明多轮指令增强了多轮对话的能力,但它的价值取决于未来的评测集是否会优先衡量对话深度而不是单轮任务。
图 3:(左)低方差指令表现最佳,在推理任务(ArenaHard,+4.6)和指令遵循(AlpacaEval 2,+3.7)上表现突出;(右)含有多轮上下文的指令在涉及多轮对话能力的评测集(如 MT-Bench Turn 2,+0.7)上效果较好,但在其他评测集上提升不明显
回复对构造:信号清晰性、回复质量和策略多样性的平衡
回复对的构造必须平衡三个相互竞争的目标:(1)信号清晰性(正负样本之间的对比应该明确无误)(2)回复质量(回复应该都具有足够的质量以避免无效比较)(3)策略对齐(混合 On-Policy 和 Off-Policy 回复以控制偏好学习时的分布偏移)。
- 信号清晰性:在 10 分制下,我们构建了具有低(Δ=1)、中等(Δ=2 或 3)和高(Δ≥4)分数差距的回复对,并平衡了各组之间的数据集规模。如图 4(左)所示,中等差距在所有评测集的性能上实现了更高的平均性能(+1.29/+5.42)。这是因为正负样本之间适度的差距提供了清晰的偏好信号,又不会过度简化学习目标,从而避免了噪声(低Δ)或过拟合(高Δ)。
- 回复质量:如图 4(中)所示,在控制各组分数差距的分布一致的前提下,高分回复对(正样本分数≥8)在所有基准测试中都取得了最显著的性能,总体上比低分回复对(正样本分数<7)高出 +9.35。这表明,高分回复对提供了更清晰的学习信号,因为两个回复都是合格的且可区分的。而低分回复对存在放大低质回复噪声的风险。
- 策略对齐:一系列研究验证了在偏好学习中,使用 On-Policy 样本的有效性,但是在 DPO 训练中如何最好地混合 On-policy 和 Off-policy 的样本仍然不确定。因此我们研究了不同混合策略的影响。我们比较了 4 种基于混合 On-Policy 样本比例的混合策略。实验结果如图 4(右)所示,中等混合(所有回复对都包含一个 On-Policy 和一个 Off-Policy 的回复)取得了最佳的性能。这表明,将 On-Policy 和 Off-Policy 回复适度混合,既能保证避免对静态数据集的过拟合,又保持了偏好学习过程中策略的更新不会偏移。
图 4:中等分数差(左)、较高绝对分(中)、On/Off-Policy 1:1 混合(右)的偏好对效果最好
各组件之间协同带来的综合影响
为了量化我们发现的所有有效组件之间的协同效应,我们将各个组件逐步整合到偏好数据集中,并观察偏好学习性能的逐步提升。
如图 1(右)所示,当我们逐步整合这些优化后的标注、回复组合和指令时,稳步带来了 +5.3 的平均性能提升。更改为单点打分策略和使用更高的绝对回复质量分数显示出了显著的改进(+1.78,+1.6)。
由于最先进模型训练使用的偏好数据集大小远大于我们这里使用的 14k 偏好数据,因此可以预见将 AIR 框架下全部组件组合起来的 scaling law 将在更大的偏好数据集规模下继续扩大。
结语
AIR 框架的提出,为偏好学习的科学化和系统化进程提供了一种新的思路与方法。通过解构标注、指令和回复对三大核心要素,我们揭示了对齐性能提升的关键路径。
这一创新标志着偏好学习从盲目追求数据量到注重数据质量和设计原则的飞跃,为构建构建高质量的偏好数据集、更智能更可靠的 AI 系统奠定了坚实基础。
#HiDream-I1
「开源版GPT-4o」来了!这个17B国产模型生图效果比肩4o,还可商用
前段时间,GPT-4o 火出了圈,其断崖式提升的生图、改图能力让每个人都想尝试一下。虽然 OpenAI 后来宣布免费用户也可以用,但出图慢、次数受限仍然困扰着没有订阅 ChatGPT 的普通人。
那除了 GPT-4o,我们还有没有其他选择呢?去 Artificial Analysis 的文生图大模型竞技场找一下就知道了。
在这个竞技场上,我们发现前段时间排到第二名的模型 —— 拥有 17B 参数的 HiDream-I1 和 GPT-4o 得分很接近。
AI 基准测试和分析平台 Artificial Analysis 发推宣布 HiDream-I1 成为文生图开源模型新 SOTA。这个平台采用竞技场模式来评估模型,即同时给两张不同模型生成的图像,让人类从中选出和 prompt 最贴合的。
值得一提的是,这个模型在上线的 24 小时之内就登顶了 Artificial Analysis 竞技场榜首,也是首个登顶该榜单的中国自研生成式 AI 模型。
通过一些对比图可以看到,HiDream-I1 的生成效果似乎不输 GPT-4o,比之前「把 Midjourney 打下神坛」的 FLUX1.1 [pro] 效果还要好。重点是,这三个模型里,只有 HiDream-I1 是开源的,而且是允许商用的那种开源(MIT 协议)。
HiDream-I1 模型:https://huggingface.co/HiDream-ai/HiDream-I1-Full
HiDream-I1 代码:https://github.com/HiDream-ai/HiDream-I1
而且,开源这个模型的国内公司 —— 智象未来刚刚宣布,他们即将开源的另一个模型 ——HiDream-E1 还支持交互式图像编辑,可以像 GPT-4o 那样把你提供的图修改为任意风格、任意内容。二者合在一起,实现了类似于 GPT-4o 图像生成和编辑的「言出法随」效果,填补了「开源版 GPT-4o」的空白。
HiDream-E1 的图像编辑效果,模型将于近期开源。
那么,HiDream-I1 的效果究竟好在哪儿?我们可以多看一些案例详细分析。
HiDream-I1 生图效果如何?
GPT-4o、FLux 之所以能够走红,其生成画面的真实感、细腻度和遵循指令的能力起到了重要作用。
为了测试 HiDream-I1 能不能担得起「开源版 GPT-4o」这个称号,我们参考前段时间 OpenAI 官宣 GPT-4o 新能力时发布的一些 prompt 测试了一下。
GPT-4o 博客中给到的生成案例与 prompt。
HiDream-I1 生成的结果如下:
提示词:写实的照片,一匹马从右到左奔驰在一个巨大的,平静的海面上,准确地描绘了溅起的水花,反射,和马蹄下微妙的涟漪图案。夸张马的动作,但其他一切都应该是静止的,安静的,以显示与马的力量形成对比。干净的构图,电影般的。广阔的全景构图,展示远处的地平线。大气透视创造深度。放大后的马与浩瀚的海洋相比显得微不足道。
提示词:真实水果与微型行星(木星、土星、火星、地球)混合而成的果盘照片,保持真实的反射、光照、阴影与原图一致,构图干净,纹理真实,细节渲染清晰
提示词:一个真实的水下场景,海豚从一辆废弃的地铁车厢的窗户游进来,气泡和水流的细节被精确地模拟出来。
提示词:这是一张狗仔队风格的偷拍照片,卡尔・马克思匆忙穿过美国购物中心的停车场,他带着惊讶的表情瞥了一眼,试图避免被拍到。他手里拿着几个锃亮的购物袋,里面装满了奢侈品。他的外套在风中飘动,其中一个包在摇摆,好像他正在大步前进。模糊的背景与汽车和发光的商场入口,以强调运动。相机发出的闪光部分过度曝光了图像,给人一种混乱的小报感。
整体上看,HiDream-I1 生成的图在真实感、细腻度上和 GPT-4o 是非常接近的,有时还能更胜一筹。在和 Flux 相比时,这个特点更加明显。
比如在下面这个例子中,HiDream-I1 生成的图像具有更多精细的元素,包括纹理、背景细节以及物体之间的层次感(猫毛在光的照耀下根根分明,给人一种强烈的生机感;咖啡壶的不锈钢材质恰到好处地反射光线,呈现出真实的质感)。相比之下,Flux 虽然也能生成具有良好细节的图像,但在细节材质上不如 HiDream-I1 细腻丰富。
提示词:一只可爱的橙色猫咪坐在咖啡研磨机旁,用爪子慢吞吞地转动着研磨机的把手。猫咪专注的表情和温柔的咕噜声在舒适宁静的厨房里被捕捉到。柔和、温暖的光线透过窗户,在猫和磨床上投射出柔和的光芒,增强了宁静的氛围。这一场景以写实的风格呈现,强调平静和亲密。
在色彩的呈现上,HiDream-I1 的表现也更出色,能够生成层次分明、色调多样的图像(仔细看下图中狼的脸部毛发,HiDream-I1、GPT-4o 的颜色层次都更丰富)。Flux 的色彩使用虽然也相当丰富,但在某些场景下,色彩的搭配和过渡显得较为单一,缺乏一定的饱和度和层次感。
提示词:一只穿着音乐家燕尾服的 3D 狼。像人一样两条腿直立站着,拿着吉他,周围是放大器和舞台,这里散发着艺术和优雅的气息。
此外,这种真实感、细腻感还来自模型对客观规律的理解。从下图可以看出,HiDream-I1 对客观规律的理解较为精确。无论是物体的摆放、人物的动作姿势,还是环境中的光影效果,HiDream-I1 都能展现出符合现实世界的自然规律。而 Flux 则在这方面存在一定局限,特别是在处理动态场景和复杂物理互动时,模型的表现不够真实,常常出现不符合物理定律的情况。
提示词:一只穿着音乐家燕尾服的 3D 猫,两条腿直立,拿着小提琴,周围是旋转的音符和大钢琴,散发着艺术和优雅的氛围,聚光灯照亮了现场,创造了一个戏剧性和精致的环境。
即使是遇到复杂的提示词,这些特点依然能够在 HiDream-I1 生成的图中得到保留。这是模型复杂文本理解、遵循能力的体现。
HiDream-I1 生成的图像。提示词:中世纪城堡的石砌城墙,身披铠甲的战士面向镜头,跃动的火焰在他身后勾勒出粗犷的面部轮廓。火星随风溅落在生锈的锁子甲上,右手不自觉地握紧腰间剑柄,深褐色的斗篷在热浪中剧烈翻卷。燃烧的箭矢在远处塔楼持续坠落,橙红火光与靛蓝夜空形成强烈对比,照亮了城墙垛口剥落的青苔和战士眉骨处的陈旧伤疤。
在各项基准测试数据中,以上视觉效果得到了印证:
- 首先是 HPSv2.1,这是一个基于人类偏好选择数据集训练的偏好预测模型,能够对同一提示下产生的不同图像进行评分比较。在这个基准上,HiDream-I1 在多种风格(如动漫、概念艺术、绘画和真实摄影)上达到最优。这说明,HiDream-I1 生成的各种风格图像都更符合人类审美。
- 其次是 GenEval 和 DPG-Bench,前者通过检测对象和颜色分类来验证生成图像与文本提示之间的匹配程度,后者专注于检测生成图像中的多个对象、详细属性和复杂关系(当提示又长又复杂的时候适合用这个基准评测)。在这两个基准上,HiDream-I1 都达到了最优。这说明,HiDream-I1 的指令遵循能力很强。
HiDream-I1 在 HPSv2.1 上的得分数据。
HiDream-I1 在 GenEval 上的得分数据。
HiDream-I1 在 DPG-Bench 上的得分数据。
为了提升生图效果
智象未来做了哪些技术改进?
强大的指令遵循能力和逼真、细腻的生成效果本质上都要归功于技术改进。
为了提高模型理解文本的能力,HiDream-I1 采用了新的被称为「Sparse Diffusion Transformer(Sparse DiT)」的架构设计。这个架构在 DiT 框架下融合了 Sparse Mixture-of-Expert (MoE)技术,让不同的专家模型处理不同类型的文本输入,各有专精。
同时,这个架构设计还带来了一个额外的好处 —— 在提高模型性能的同时控制运算开销,使得 HiDream-I1 用起来性价比很高。对于关注开源模型算力消耗的个人开发者、创业公司来说,这是一个很有用的优化。
HiDream-I1 模型架构图。
图像质量的提升则要归功于研究者在扩散模型蒸馏中融入生成对抗学习,借助 GAN 捕捉细节、锐化边缘的能力,在蒸馏扩散模型的同时进一步提升了生成图像的真实感和清晰度,实现速度与质量的双重优化。
值得一提的是,这样训练出来的 HiDream-I1 具有很强的可扩展性。所以在模型训练出来后不久,智象未来就将其扩展到了交互式图像编辑大模型 HiDream-E1,让图像编辑场景也有了「开源版 GPT-4o」可用。
HiDream 系列模型开源
影响力已初步彰显
无论从实测效果还是基准测试结果来看,智象未来的 HiDream-I1 都已经非常接近 GPT-4o,站稳了国内图像生成第一梯队。
而且,由于模型是开源的,其国际影响力也在逐步显现。在开源后两天,文生图大模型竞技场上的另一家模型公司 ——Recraft AI 就宣布,他们已经集成了 HiDream-I1,还手把手教网友怎么选用这个模型。
在 HuggingFace Trending 榜单上,HiDream-I1 飙升到了第二名。这说明 HiDream-I1 的下载量、点赞数都很可观,在社区中非常受欢迎。
当然,没有本地部署需求的朋友也可以在智象未来的官方平台 Vivago 上体验 HiDream-I1。该平台上有更完整的工作流,支持在生成图像的基础上进行视频制作等二次创作。
,时长00:10
Vivago 上的图像转视频效果。
据悉,过段时间,智象未来还将发布多模态 Agent 产品。它的核心是让大家用对话聊天的形式来生成图片 / 视频,并使用自然语言对图片 / 视频内容进行相应的编辑,从而渐进式地生成有故事情节的内容。便利之处在于不需要用户自己去跨平台选择调用需要的功能以及调节复杂的参数。
对于这样的模型改进、产品开发理念,智象未来 CTO 姚霆曾做出过解释 —— 在应用端,真实感、指令遵循和叙事性的能力是用户愿意为之付费的基础,所以智象未来在改进模型的过程中始终关注这三大属性。如今,他们把这三点做到了新的高度,还开源了模型,可以说为想在这一领域开发应用的开发者或公司扫除了基础障碍。
智象的研发人员透露,下一个开源模型--HiDream-E1 即将开源,相关基准测试数据也将在近日发布。期待这个模型带来优秀的编辑体验。
#OmniTalker
免费用!阿里通义大模型上新,超逼真音视频生成SOTA!
近日,阿里通义实验室推出了全新数字人视频生成大模型 OmniTalker,只需上传一段参考视频,不仅能学会视频中人物的表情和声音,还能模仿说话风格。相比传统的数字人生产流程,该方法能够有效降低制作成本,提高生成内容的真实感和互动体验,满足更广泛的应用需求。目前该项目已在魔搭社区、HuggingFace 开放体验入口,并提供了十多个模板,所有人可以直接免费使用。
论文:https://arxiv.org/abs/2504.02433v1
项目页:https://humanaigc.github.io/omnitalker
体验页:https://huggingface.co/spaces/Mrwrichard/OmniTalker
我们先来看两段视频,就能感知到生成内容的真实感有多强:
,时长00:17
,时长00:16
是不是已经分辨不出小李子莱昂纳多和 LeCun 是AI复刻出来的了?感兴趣的读者也可以从项目页查看更多Demo。
接下来,就让我们看下阿里通义实验室 HumanAIGC 团队对此论文的解读。
背景
近年来,随着语言大模型的迅速发展,虚拟主播、虚拟助手等应用得到了广泛的推广与使用。然而,针对文本驱动的数字人生成研究仍然较少,现有方法主要采用级联流水线的方式,将文本转语音(Text-to-Speech, TTS)系统与音频驱动的数字人模型相结合。这种传统流水线一方面引入了系统复杂性和延迟开销,尤其是在实时互动场景下,各模块之间的延迟问题成为影响用户体验的重要因素;另一方面还从根本上存在音画输出不同步以及生成语音与视觉表情风格不一致的问题,无法完美复制真人的说话风格。
为了解决这些局限性,我们提出了 OmniTalker,能够在零样本实时场景中,根据文本和参考视频同时生成同步的语音和数字人视频,同时保留语音风格和面部风格。该框架采用双分支 DiT 架构:音频分支从文本合成梅尔频谱图,而视觉分支预测精细的头部姿态和面部动态。为了桥接模态间的信息,我们引入了一种新颖的视听融合模块,整合跨模态信息以确保音频和视觉输出在时间上的同步性和风格上的一致性。此外,我们的上下文参考学习模块能够从单个参考视频中有效捕捉语音和面部风格特征,而无需额外引入风格提取模块。此方法特别注重保持声音的一致性和说话风格的真实性,同时优化了处理速度,确保了实时响应性能,从而显著提升了数字人生成的质量和效率。相较于传统的数字人生产流程,此方法能够有效降低制作成本,提高生成内容的真实感和互动体验,满足更广泛的应用需求。
图 1. 区别于传统级联框架,OmniTalker 是一个端到端的统一框架,可根据文本和一段简短的参考音视频实时生成同步的语音和数字人视频,同时保持声音的一致性和说话风格的真实性。
方法介绍
图 2. OmniTalker 结构图
我们的目标是在紧凑的网络架构中实现音视频联合生成,确保音频和视频输出之间的对应关系,同时从参考视频中复制声音和面部风格。受启发于 LLM 的上下文学习能力,以及多模态 DiT 在文生图中的优势,我们提出了如图 2 所示的模型架构。该架构有三个核心部分:(1)三个嵌入模块来分别捕捉参考音视频的动态特征以及文本信息,(2)一个双流 DiT 模型用于音视频并行建模,以及 (3) 一个音视频特征融合模块来确保音视频特征的紧密同步。
1. 模型输入方面,包含驱动文本和参考音视频三种模态特征:
- 音频特征:我们从参考视频中提取音频流,并利用梅尔谱图作为音频特征的表示方法。通过一个基于 MLP 的嵌入模块,我们将梅尔谱图转换为音频嵌入 x^a;
- 文本特征:使用 ASR 模型将参考音频转化为文字,形成参考文本。随后,输入文本以及参考文本被转换成拼音序列(针对中文)或字符 / 字母序列(针对拉丁语系),并进行拼接。为了匹配音频嵌入 x^a 的长度,我们以某种填充标记对文本序列进行填充。文本嵌入过程采用了 ConvNeXt-V2 架构,生成的文本嵌入c_t作为条件指导音频和视觉分支的处理。
- 视觉特征:对于视频片段,我们提取包含面部表情的 51 维混合形状系数、6 维旋转与平移参数(RT),以及每帧的眼球运动系数在内的视觉编码。如同处理音频特征一样,这些视觉编码也通过一个 MLP 映射到视觉嵌入 x^v 上,以实现统一的特征表示。
在训练阶段,音频和视觉特征会随机掩码序列的一部分,利用上下文学习来达成风格复刻的需求;而在推理阶段,则依据参考音频的节奏及输入文本的长度对音视频特征进行零填充,确保处理的一致性。
2. 关于模型结构,我们方法的核心在于建模视频、音频和文本模态之间的交互,旨在生成既连贯又同步的音视频内容。我们的框架由一系列专门设计用于处理音频和视频数据流的 DiT 块组成,促进音频和视频特征间的跨模态融合,从而产出一致且同步的结果。模型的关键组件包括:
- 音视频特征融合模块:采用双分支架构,一个分支专注于处理视觉运动信息,另一个则负责解析音频信息。利用 MM-DiT 注意力机制,网络能够动态评估并平衡音频与视觉特征的重要性,确保最终生成的视频在时间轴上以及语义层面与输入音频完美对齐。
- 单模态 DiT 块:在完成初步的跨模态融合后,模型使用多个单模态 DiT 块进一步细化生成过程。这些块操作于已融合的多模态特征之上,但针对每个单独模态(即音频或视觉)进行优化,以提高输出质量。
- 音视频解码器:经过上述步骤生成的音视频特征随后通过预训练的解码器转换回原始格式。对于音频部分,我们使用 Vocos 解码器将合成的梅尔频谱图还原为语音,这是一种高保真声码器,也可替换为其他相似声码器如 HiFi-GAN。至于视频解码,我们设计了一个 GAN 模型(复用 ChatAnyone),它根据从参考视频中随机选取的参考帧为基础,并按照 DiT 模型预测的头部姿态和混合形状系数生成新的视频帧。该模型能以 30FPS 的速度生成分辨率为 512×512 的帧,满足实时推理的需求。
实验结果
鉴于当前尚无方法能够同时生成音频和视频,我们对文本转语音(TTS)技术和音频驱动的数字人生成(Talking Head Generation, THG)技术分别进行了比较分析。在 TTS 方面,我们挑选了三种代表性方法:MaskGCT、F5TTS 和 CosyVoice,并针对错词率(WER)和声音相似度(SIM)进行了对比评估。对于 THG 的评估,我们构建了一个多模态比较框架,涵盖以下几类方法:(1) 两种基于 GAN 的技术(SadTalker 和 AniTalker);(2) 两种最先进的基于 diffusion 的方法(EchoMimic 和 Hallo);(3) StyleTalk,一种具备风格保留功能的音频驱动 THG 方法。为了确保公平性和结果的可比性,实验中所有 THG 模型均采用由我们提出的方法生成的音频信号作为输入。
表 1. TTS 性能对比
表 1 展示了我们的方法在音频测试集 Seed 上的测试结果,与 TTS 基线模型相比,我们的生成结果显示出更低的错词率(WER),这表明生成的音频与文本之间具有更高的一致性。此外,我们的方法在声音相似度(SIM)指标中排名第二,进一步证实了其在零样本条件下保持声音特征的能力。值得注意的是,通过对比包含和不包含运动分支(Ours w/o motion)的模型表现,可以看出完整模型实现了更低的 WER,这证明了结合视觉监督能有效提升生成音频的感知质量。我们将这种改进归因于多任务学习的有效性,因为在音频生成和面部动作之间存在着高度的相关性,两者结合可以相互促进,从而提高整体输出的质量。
在视觉质量评估方面,除了传统的峰值信噪比(PSNR)、结构相似性(SSIM)、Frechet Inception Distance(FID)、Frechet Video Distance(FVD)、ID 相似度(CSIM)以及口型同步(Sync-C)等指标外,我们还引入了两个新的评估标准 ——E-FID(表情 FID)和 P-FID(姿势 FID),以分别衡量生成的面部表情和头部姿势的真实感。具体而言,E-FID 结合了 51 维面部混合形状系数和 4 维眼动参数进行计算,而 P-FID 则通过 6 维旋转 - 平移参数来量化头部姿势的一致性和真实性。
表 2. THG 性能对比
表 2 展示了 OmniTalker 在视觉生成方面的卓越性能。我们的方法在 9 个核心指标中,有 7 个达到了业界领先水平(SOTA),包括最高的 PSNR 和 SSIM,以及最低的 FID 和 FVD。
这些结果表明,我们的方法在视频生成质量方面具有显著优势。尤其在 E-FID 和 P-FID 上,我们的方法相比现有技术实现了一个数量级的提升,突显了其在保持面部运动风格和头部姿态方面的出色能力。这种能力使得我们的方法能够有效地继承参考人物的说话风格,从而实现高保真的音视频克隆。尽管我们的方法在 CSIM 和 Sync-C 指标上获得了次优成绩,但根据我们的经验观察,这些指标倾向于偏好正面视角的视频。相比之下,其他对比方法更倾向于生成正面视角的内容,而忽略了参考视频中实际的面部朝向。我们的方法通过准确捕捉并再现原始视频中的面部方向,提供了更加真实和自然的输出效果。
为了更直观地展示 OmniTalker 建模面部运动风格方面的卓越能力,我们对比了不同方法生成结果中的头部运动累积热图。如图 4 所示,通过将生成的视频与参考视频进行比较,可以清晰地看到,我们的方法生成的热图与真实数据的热图更为接近。图 3 则从时间维度进一步验证了这一点,我们选择头部偏航角(Yaw)作为跟踪指标来观察头部姿态的变化。左侧的红线代表参考序列,右侧展示了由各种方法生成的序列。结果显示,我们方法生成的序列无论是在幅度还是运动频率方面,都与参考序列保持了高度的一致性,同时保留了必要的自然差异,这表明我们的方法能够有效地继承头部姿态的风格特征。相比之下,其他方法生成的头部运动往往不够明显,缺乏动态变化。特别是 StyleTalk 方法直接复制参考姿势序列,虽然保证了与参考姿势的高度一致,但未能考虑语音内容与姿态之间的语义关联,导致生成结果缺乏灵活性和自然感。
综上所述,我们的方法不仅能够在视觉表现上精确模仿原始视频中的面部运动风格,还能在语义层面上实现更加丰富和自然的表现,确保生成的内容既真实又生动。
图 3. 头部姿态(Yaw)时间变化曲线
图 4. 头部运动累积热图
在实时性方面,我们的方法通过创新地采用 flow matching 技术以及相对紧凑的模型架构(仅包含 8 亿个参数),实现了音视频的实时同步高质量输出。这不仅保证了出色的推理速度,同时也确保了输出的质量优于其他现有方法,如表 2 所示。这种能力使得我们的方法在不牺牲输出质量的前提下,满足了实时应用的需求。
团队介绍
阿里巴巴通义实验室的 HumanAIGC 团队专注于 2D 数字人和人物视频生成的研究,在相关领域内已发表了多篇顶会论文,比如单图驱动角色视频生成 Animate Anyone 以及 Animate Anyone2,单图语音驱动视频生成技术 EMO 以及 EMO2,实时数字人 ChatAnyone 等均出自该团队。
#揭晓「冰块融化」的数学秘密
30年悬案告破,平均曲率流的奇点真相曝光,
一块冰块漂浮在水中,随着时间推移,它会逐渐融化成一个微小的冰粒,最终完全消失。在这个过程中,冰块表面变得越来越光滑,所有不规则形状和锐利边缘都会逐渐消失。
对于你我来说,这是一个很常见的现象,而数学家们同样致力于理解这一现象,不过是更深奥的角度 —— 他们希望能够精确描述冰块表面或一座被侵蚀的沙堡的形状如何随时间演变。
为了分析这种现象,此前的研究人员研究了抽象数学曲面和形状按照特定规则集的演化过程。这组规则定义了平均曲率流(Mean Curvature Flow)过程,它能同时平滑曲面(即使是高度不规则的曲面)并使其收缩。
然而,随着曲面演化,可能会形成奇点(singularities)—— 即数学描述失效的点。在这些位置,曲面可能会急剧突出,或变得极度薄弱以至于曲率「爆炸」至无穷大。对于任何闭合的紧致曲面(如封闭球面)在平均曲率流过程中必然会出现奇点。
当这些奇点过于复杂时,流动将无法继续进行。
数学家们希望确保即使在奇点形成后,仍能分析表面的持续演化。1995 年,现任职于苏黎世联邦理工学院(ETH)的数学家 Tom Ilmanen 提出了 Multiplicity-one 猜想 。该猜想指出,在平均曲率流过程中形成的任何奇点都必须相对简单。「不良」行为应仅限于个别点:例如,不应出现多个区域(无论来自同一表面还是不同表面)相互堆叠的情况。
如果 Multiplicity-one 猜想成立,将证实奇点并非平均曲率流的障碍。即使出现奇点,流动仍可继续,使数学家能够评估表面的演化。
近几十年来,数学家们在描述曲面通过平均曲率流移动时的行为特性方面取得了诸多进展。「但到目前为止取得的很多结果都依赖于 Multiplicity-one 猜想的正确性,」加州大学伯克利分校(UC Berkeley)的数学家 Richard Bamler 说到,「在某种程度上,主要的障碍一直都是 Multiplicity-one 猜想。」
现在,他和纽约大学(NYU)的 Bruce Kleiner 终于证明了这个猜想确实正确。
左为 Richard Bamler,右为 Bruce Kleiner。
「这是一个重大突破,」斯坦福大学(Stanford)的 Brian White 表示。这项工作不仅使数学家们能够更好地理解平均曲率流,而且可能在整个几何学和拓扑学领域有重要应用。
全速流动
平均曲率流概念在 20 世纪 50 年代被引入,用于解释金属冷却过程中出现的各种现象。1978 年,宾夕法尼亚州萨斯奎汉纳大学(Susquehanna University)的名誉教授 Kenneth Brakke 从数学角度形式化了这一概念。他的模型最终提供了一个更为通用的数学描述,可应用于任何维度的抽象曲面和形状。
Multiplicity-one 猜想涉及三维空间中的闭合二维曲面,如球体或环面(甜甜圈形状)。在这类曲面上的任意一点,可以计算给定方向上的曲率 —— 这是衡量曲面在该方向弯曲程度的指标。理论上可以考虑无限多的方向,但数学家们通常只关注那些给出最大和最小曲率值的方向。这两个数值的平均值被称为平均曲率(Mean Curvature),它能提供关于曲面在该点的许多重要信息。
平均曲率流利用曲面信息以最快速和高效的方式减小曲面面积。在这一过程中,曲面上的每个点都以等于其平均曲率的速度移动 —— 且方向垂直于其「切平面」(切平面是在该点最佳近似曲面的二维平面)。这种垂直方向有两个选择,一个指向内部,另一个指向外部。如果曲面在该点向外凸出,则流动方向向内;如果曲面向内弯曲,则流动方向向外。
以球体为例,平均曲率流会使球体以越来越快的速率向其中心收缩。这是因为随着球体收缩,每个点的平均曲率会增大 —— 较小的球体比较大的球体弯曲程度更大。最终,球体会收缩为一个点,即球体中心原来所在的位置。
假设曲面是一个部分凹陷的球体,类似于某些地方被撞凹的足球。在平均曲率流的作用下,凹陷部分会被推出,而曲面其余部分则向内移动,使其逐渐接近完美球体,最终收缩为一点。
这一过程同样能将圆柱体简化为一条线,将环面(torus)简化为一个圆。然而,对于更复杂的形状,如中心处变窄的哑铃形状,会发生不同情况。在平均曲率流作用下,手柄最细部分会首先收缩为一点,形成奇点(singularity)。这种奇点类似于肥皂泡从塑料棒上分离或水滴从水龙头分离时的「收缩点」。在该点,哑铃表面失去光滑性,曲率变为无限大。
这时问题出现了:无法将无穷大代入平均曲率流方程中。方程失效,无法再预测曲面的未来演化。但若移除该奇点,我们将得到两个独立的泪滴状部分,从而可以继续研究平均曲率流对这些部分的影响。这些部分会逐渐变得更加光滑圆润,几乎成为完美球体,最终收缩为两个分离的点。
对于任何闭合的紧致曲面 —— 即直径有限且有明确内外之分的曲面 —— 平均曲率流必然导致奇点形成。(对于简单球体,这个奇点就是曲面最终收缩至的那一点。)Bamler 表示:「这个本应使曲面变得更简单的流,随着过程进行到极限,我们知道它总会变得奇异,所以如果我们想理解这个流的作用,就需要理解它的奇点形成过程。」
这正是 Multiplicity-one 猜想的用武之地。
分离是成功的关键
简单的奇点(如夹点)可以直接去除,使平均曲率流畅通无阻。但如果奇点比较复杂,比如表面中的两块薄片聚集在一起,在整个区域内重叠,而不是只影响一个点,那么就不可能做到这一点。Bamler 表示,在这种情况下,「我们不知道流动是如何表现的」。
Ilmanen 提出了他的猜想,以排除这些麻烦的情况。几十年后,Bamler 和 Kleiner 开始证明他是正确的。
为此,他们想象了一种不寻常的形状,Kleiner 称之为「邪恶的双胞球」。它由两个球体组成,一个在另一个里面,由一个小圆柱体或颈部连接,形成一个单一的表面。Kleiner 指出,如果颈部快速收缩,将两个球形区域拉到一起,那将是「噩梦般的情景」。为了排除这种情况,他和 Bamler 希望了解这两个区域将如何相互作用,以及它们之间的距离将如何随时间变化。
于是,两位数学家将形状分解成不同的构件 —— 放大后看起来像平行薄片的区域,以及被称为最小曲面(平均曲率为零,因此在平均曲率流中不会移动)的特殊区域。然后,他们定义了一个函数,用于测量曲面上任意给定点到邻近区域最近点的距离。
他们找到了分析这个「分离函数」如何随时间变化的方法,证明它永远不会归零。这意味着噩梦般的情景永远不会发生。
数学家们可以轻而易举地将这种方法应用到包含相同类型构件的封闭表面上。但是,「一般的 [封闭] 曲面在某些区域可能看起来非常复杂,」Bamler 说,复杂到「可能使我们无法控制流动」。
他和 Kleiner 随后证明,这些有问题的区域必须非常小。Bamler 表示,「它对整个流动的影响微乎其微。因此,我们基本上可以忽略它。」
无论曲面多么复杂或奇特,分离函数都不会随着时间的推移而归零。换句话说,相邻区域永远不会趋同,也不会出现复杂的奇点。Ilmanen 的猜想是正确的。
事实上,Bamler 和 Kleiner 证明,平均曲率流几乎总是导致两种类型之一的特别简单的奇点:收缩为一点的球体,或坍缩为一条直线的圆柱体。Bamler 说:「任何其他类型的奇点都只出现在极少数非常特殊的情况下。在这些情况下,奇点非常不稳定,即使是最轻微的扰动也会消除它们。」
随着 Multiplicity One 猜想的解决,斯坦福大学的 Otis Chodosh 说:「我们现在基本上对三维空间中表面的平均曲率流有了一个完整的认识。」
他还补充说,这些知识可能会在几何学和拓扑学中得到重要应用,特别是如果数学家能够证明生活在四维空间中的三维表面的猜想。Bamler 和 Kleiner 正开始研究下一种情况,不过他们表示需要找到一种与二维表面不同的方法。
Chodosh 补充说,这个证明已经可以让数学家利用平均曲率流重新证明一个关于球体对称性的重要问题,即「斯梅尔猜想」。Bamler 说,以前对该猜想的证明相当复杂,使用平均曲率流的证明可能更容易理解。
一个被称为里奇流(Ricci flow)的相关过程已经被用来证明一些重要猜想,包括著名的庞加莱猜想(另一个关于球体的声明)。数学家们希望,Bamler 和 Kleiner 在均值曲率流方面的工作将帮助它成为一种类似的强大方法。White 说:「Bamler 和 Kleiner 让我们对均值曲率流核心奇点的理解有了巨大的进步。这无疑为我们提供了将其作为一种工具...... 来做各种奇妙事情的可能性。」
原文链接:https://www.quantamagazine.org/a-new-proof-smooths-out-the-math-of-melting-20250331/
#GLM模型
智谱深夜开源新一代GLM模型,推理速度快DeepSeek-R1八倍,还启用了全新域名Z.ai
好消息!还记得「AutoGLM 沉思」吗?短短 14 天、孵化出一个 5000 多个粉丝的小红书账号,还接到了商单!相比 OpenAI 的 Deep Research , 「AutoGLM 沉思」不仅会想(deep research),还能边想边干( operator )!今天,智谱宣布其核心技术链路完全开源!包括:
- 基座模型 GLM-4-32B-0414
- 推理模型 GLM-Z1-32B-0414
- 沉思模型 GLM-Z1-Rumination-32B-0414
另外,小尺寸的 9B 系列同时开源,包括:GLM-4-9B-0414、GLM-Z1-9B-0414 。
以上均遵循 MIT 许可协议。目前,系列所有模型可以通过 z.ai 访问体验。新版基座模型和推理模型已同步上线智谱 MaaS 平台。体验链接:https://chat.z.ai/
作为国内最早开源大模型的人工智能公司,智谱一直致力于推动 AI 普惠。随着开源生态建设成为新一轮竞争焦点,智谱曾表示 2025 年将成为智谱的开源年,持续加码生态建设。
开源顶尖模型,两种尺寸
新一代基座模型 GLM-4-32B-0414 以 32B 参数量比肩更大参数量主流模型性能。由于预训练阶段加入了更多代码类、推理类数据,并在对齐阶段针对智能体能力进行了优化,它有着行业最好的行动能力,在工具调用、联网搜索、代码等智能体任务方面更加有效。
GLM-4-32B-0414 支持在对话过程中实时展示生成代码,支持包括 HTML、CSS、JS 和 SVG 在内的语言。无需切换到其它程序,用户一键点击即可在对话窗口实时看到代码运行结果,以便进行灵活的修改与调整。
同步开源的 GLM-Z1-32B-0414 推理模型则创造了 「以小博大」的典范。它基于新一代基础模型、在预训练阶段加入了更多推理类数据并在对齐阶段深度优化了通用能力,320 亿参数量即可实现满血版 DeepSeek-R1( 6710 亿参数)的推理性能。在AIME 24/25 、LiveCodeBench 、GPQA 等基准测试中展现出较为强大的数理推理能力,比肩满血版 DeepSeek-R1,可以胜任更多复杂任务。
除了推理性能,成本也是一大亮点。得益于优化 GQA 参数、量化、投机采样等技术,该推理模型能够在消费级显卡上流畅运行,同时实现每秒 200 token 的极速响应,相当于人类语速的 50 倍,做到了 「问题未看清,答案已生成」的极致体验。GLM-Z1-Rumination-32B-0414 沉思模型代表了新一代AI的发展方向。相比之前仍停留在深度思考阶段的推理模型,这个经过强化学习训练的版本展现出更强的自主能力。它不再局限于静态知识推理,而是能够像人类研究者一样主动联网搜索资料、调用各种工具、进行深度分析并自我验证,形成完整的思考闭环。这种 「实时搜索-深度分析-动态验证」的循环思考模式,让 AI 在处理开放性问题时更加游刃有余,标志着 AI 从单纯的高智商向高智商与高自主并重的转变。当然,作为前沿技术,该模型在自主探索和准确性方面仍有提升空间,研发团队正在持续优化中。最后,GLM-Z1-9B-0414 是一个惊喜。尽管尺寸更小,GLM-Z1-9B-0414 在数学推理和通用任务中依然展现出极为优秀的能力,其整体表现已处于同尺寸开源模型中的领先水平。
特别是在资源受限的场景下,该模型在效率与效果之间实现了出色的平衡,为追求轻量化部署的用户提供了强有力的选择。
面向企业服务:最快、最便宜
智谱核心还是在向企业提供模型即服务(MaaS),重点在于服务。目前,智谱已有 1000 多个大模型规模化应用,覆盖传媒、咨询、消费、金融、新能源、互联网、智能办公等多个细分场景的多个头部企业。现在,基座、推理两类模型也已同步上线智谱 MaaS 开放平台,面向企业与开发者提供 API 服务,满足用户多快好省的需求。其中,推理模型有三个版本,针对不同业务场景需求。
- GLM-Z1-AirX(极速版)定位国内最快推理模型,推理速度可达 200 tokens/秒,比常规快 8 倍;适合高并发、极速响应业务场景。
- GLM-Z1-Air(高性价比版)价格仅为 DeepSeek-R1 的 1/30,适合高频调用场景;算得上国内最高性价比的推理模型。
- GLM-Z1-Flash(免费版)支持免费使用,旨在进一步降低模型使用门槛。
,时长00:33
GLM-Z1-AirX(极速版)响应速度
,时长04:20
RI 响应速度
对应价格表:
上线的基础模型包括两个版本:GLM-4-Air-250414、GLM-4-Flash-250414,其中 GLM-4-Flash-250414 完全免费。本地部署,旗舰级配置需要 1 张 H100/A100 显卡,高性能配置则需要 4 张 4090/3090 系列显卡。对于选择在线体验的用户,则可以通过 MaaS 平台获得极速或性价比版本的服务,同时也能体验完整的 Deep Research 功能。
全球用户:完整体验,免费享
对于想要完整体验模型能力的玩家们,即日起 App 与网页端登录 z.ai,即可与最新的 GLM 模型免费对话。这里集合了沉思模型、推理模型、对话模型,后续也将作为智谱最新模型的交互体验入口。
网页体验链接:https://chat.z.ai/因为对标 Open AI 的 Deep Research,我们先简单体验了一下沉思模型的深度调研能力。既然卫生巾都塌房了,女性如何选择安全可信的卫生用品呢?输入问题后,模型开始上网找新闻、看报告,阅读做笔记,按照搞清事实、各种标准、如何辨别、选择的逻辑组织内容。
几分钟过后,自动生成一份详细指南。
,时长02:25
沉思模型更适合做深度调研,追求强大的开发体验,不妨试试基础模型。例如:给我设计一个移动端机器学习平台的 UI,其中要包括训练任务,存储管理,和个人统计界面。个人统计界面要用图表展示用户过去一段时间的各类资源使用情况。使用 Tailwind CSS 来美化页面,把这 3 个手机界面平铺展示到一个 HTML 页面中。
不过,用 svg 展示一只骑自行车的鸬鹚,还是失败了。
还等啥,现在就去体验吧。
#上海交大推出口语对话情感大模型
「交交」媲美GPT-4o!首个纯学术界自研!
智能语音交互领域,学术研究也能如此酷炫。全球首个纯学术界自研的支持多人实时口语对话的语音情感大模型 ——“交交”,正式推出!
“交交” 由上海交通大学听觉认知与计算声学实验室倾力打造,它不仅是一个智能语音助手,更是一个多说话人、多语言、多角色、多情感的全能对话伙伴。
核心亮点
上海交通大学此次推出的 “交交” 口语对话情感大模型,除了在对话上下文内容上的强大理解和知识问答能力,还同时具备多人对话与身份辨识,多语种和方言感知,角色切换与实时模仿,情感实时理解和表达等多项能力。这在目前已知发布的语音对话大模型中,尚属首次。
1. 多人对话,无缝切换
无论是家庭聚会、团队会议,还是朋友闲聊,“交交” 都能同时与多位用户进行自然流畅的对话。它能精准识别每个人身份,各自的发言内容,并给出个性化的回应。还能准确地进行总结,让对话更加生动高效。
,时长03:01
视频 1:上海交通大学校庆主题对话示例
,时长02:41
视频 2:会议场景 5 人多轮对话示例
2. 语通五洲,方言无碍
“交交” 现已支持汉语、英语、日语和法语四大主流语言,让您无论身处何地都能用最熟悉的语言与模型进行互动。不仅如此,“交交” 具备跨语言回复能力,无论提问和回复采用同一种语言还是不同语言,都能轻松打破沟通壁垒,实现无缝交流。
针对中文,“交交” 进行了特殊优化,拥有强大的中文方言识别与理解能力。不论是四川话、山东话,还是其他地方特色方言,均可精准捕捉语意,让对话更加亲切自然,贴近您的生活语言习惯。
,时长02:13
视频 3:中英日法对话示例
,时长02:10
视频 4:四川话、山东话对话示例
3. 角色百变,情感丰富
“交交” 不仅能回答问题,还能根据对话内容和场景理解用户的情绪,同时生成富有情感的回应。无论是幽默调侃、暖心安慰,还是专业建议,它都能恰到好处地表达。“交交” 不仅能模仿多个角色的声音,还能实时学习并模仿用户本人的声音。无论是角色扮演、故事讲述,还是个性化互动,它都能轻松驾驭。
,时长03:09
视频 5:音色实时克隆与角色扮演示例
,时长01:28
视频 6:情感理解与表达示例
,时长01:26
视频 7:丰富情感表达示例
4. 知识问答,无所不知
“交交” 不仅是一个对话伙伴,更是一个知识宝库。无论是古诗词背诵、科学原理讲解,还是文学名著解读,它都能信手拈来。结合超长上下文理解能力,无论是小学生的学习辅导,还是高中生的知识扩展,甚至是研究生的科研探索,交交都能满足您的求知欲。
,时长03:45
视频 8:常见知识问答示例
,时长03:26
视频 9:唐代历史主题多轮问答示例
技术突破
图 1: “交交” 口语对话情感大模型技术框架
1. 端到端语音对话
采用鲁棒的音频编码器,具有良好的抗噪能力和多人理解能力的同时,将音频输入流式编码器得到离散序列,并对齐到文本序列空间。无需大规模高质量数据微调,即可最大限度保持和利用文本大模型的基础泛化能力做到实时知识问答。
2. 多语言理解与生成
基于创新的跨模态对齐机制,将多语言语音信号与对应文本在特征空间实现精准映射,同时通过隐式表征学习保留语言特异性信息,结合深度语言模型的上下文建模能力,实现跨语言场景下的无缝切换与高效语义理解。
3. 多人对话建模
我们通过构造多人对话数据,模拟家庭聚会、团队会议等真实场景,增强模型的对话处理能力。利用端到端模型融合上下文信息,生成个性化的响应和总结,实现自然且连贯的多方互动。
4. 情感理解与表达
基于上下文信息,利用思维链技术生成符合对话场景的情感全局表征,用于生动的情感语音回复生成,提升对话交流的真实感。
5. 实时音色克隆与切换
提供高保真声音模仿技术,通过思维链技术进行控制信号推理,从而支持多角色语音扮演风格以及与用户自身声音之间的实时无感切换。
6. 灵活拓展
强大的对齐策略,支持文本与音频模态的任意方式拼接融合,不仅显著提升了多模态建模的灵活性,还为集成大规模文本大模型中的多种增强机制(如联网搜索、RAG 检索增强生成等)提供了统一且可扩展的接口。
基准测试
在语音对话大模型的赛道上,性能指标是衡量模型实力的关键。在相关测试中,“交交” 展现出卓越的表现,全面对标业内主流模型,部分指标甚至已实现逼近甚至超越,充分验证了其在语音理解与交互领域的强大潜力。
1. 通用性能测试:音频理解 + LLM 能力双重突破
随着大模型时代的到来,语音理解标准测试集 VoiceBench 为我们提供了一个全面评估语音对话大模型性能的重要平台。基于 VoiceBench 英文基准测试,我们对多款主流语音模型进行了全方位的评测,涵盖开放域问答、多选 QA、指令遵循等多个关键任务。
在整体评测中,“交交” 获得了 79.05 的平均分,仅次于 OpenAI 发布的 GPT-4o 模型。与业内领先的 GPT-4o-Audio 相比,我们的模型差距缩小到仅 8%,实现了从传统模式向端到端语音交互的重大突破。
针对音频输入的特殊性,我们优化算法,有效克服语义模糊问题,相较于其他端到端语音大模型,“交交” 显著提升复杂任务表现(如指令跟随,知识问答)等。使用同规模参数量与 Qwen2.5-7B 文本指令模型的差距大幅缩小,标志着我们在端到端语音交互理解模块达到和文本相近的能力!
评测结果显示,在通用知识、指令跟随、复杂问题理解、人工智能安全层面,“交交” 都展现了极强的竞争力,不仅全面对标当前主流 SOTA 模型,还在多个关键任务上实现超越.
2. 多语言测试:中英日法全面覆盖
在 VoiceBench 的中英日法基准测试中,我们的模型展现了极强的多语言处理能力,尤其是在中文、日文、法文上的表现均显著优于 Qwen2-Audio。我们的模型不仅支持多语言,还在不同语言环境下保持了稳定的高性能表现,真正实现了 "多语言,零差异"!
3. 真机中文实测:无惧设备场景难题,多领域表现优异
为了更全面地评估模型在实际场景中的表现,我们用丰富的设备录制了中文真实数据集,涵盖健康、人际关系、小学数学、生活常识、科学常识等多个领域知识的单轮问答,确保数据的复杂性、多样性。测试结果表明,我们的模型不仅在通用任务上表现优异,还在垂直领域展现了强大的专业能力。
4. 语义理解基准测试:衡量语音理解的基石
我们对 “交交” 在中英文语音识别、多语种语音识别(英语、汉语、法语、日语)及中英互译任务上的表现进行了全面评估,并与多款业界领先模型进行了对比,包括 Whisper-large-v3、Qwen2.5-Omni 与 Qwen2-Audio。
4.1 语音识别任务
- 在英文(Librispeech)、中文(WenetSpeech)以及中英日法多语种(CommonVoice)的测试集中,“交交” 整体性能优异,在英文和多语种识别中表现尤为突出,均已达到和目前 SOTA 相近的性能。
- 尤其在 CommonVoice 测试集中的多语言场景下,错误率显著低于 Whisper 和 Qwen 系列模型,展现出更强的语音理解与跨语言泛化能力。
4.2 中英互译任务
- 在中→英、英→中方向的语音翻译任务中,“交交” BLEU 值领先,尤其是对于英翻中,优于 Qwen2 系列模型,显示出良好的语义把握和翻译一致性。
“交交” 在多语言理解与翻译任务中表现出色,彰显了我们在传统语音理解任务上的出色实力。
5. 延迟表现对比
在语音对话大模型的实际应用中,对话延迟是影响用户体验的关键因素之一。为了验证我们的模型在真实场景下的表现,我们使用同一款手机,在同一公用网络环境下,对我们的模型与 GPT-4o、通义千问、喜马拉雅、阶跃星辰等主流 App 的最新版本进行了延迟测试。测试结果显示,我们的模型在延迟表现上展现了显著的竞争力。
,时长01:37
视频 10:语音对话大模型回复延迟测试实录
图 2:语音对话大模型回复延迟对比图
团队介绍
“交交” 的研发团队来自上海交通大学计算机学院听觉认知与计算声学实验室(SJTU Auditory Cognition and Computational Acoustics Lab,AudioCC Lab),该实验室由语音对话和听觉处理领域知名学者钱彦旻教授领导,专注于完整的听觉人工智能与计算声学领域的前沿研究。
团队集结了一支由青年教师、博士生、硕士生、本科生及专职科研人员等组成的近 40 人科研团队,在语音、音频、音乐及自然声信号处理等领域积累了丰富的技术经验。实验室依托国家重点项目及企业合作支持,拥有数百块先进 GPU 计算资源,致力于解决产业级技术难题。
近年来,团队在国际顶级期刊和会议上发表了数百项学术成果,并在多项国际评测中斩获冠军。团队成员全面发展,毕业生均进入国内外顶级企业和研究机构,持续推动人工智能技术的创新与应用。
“交交” 项目团队合影,从左起:孙海洋,张乐莹,乐辰阳,钱彦旻,龚勋,李晨达,韩冰,王巍。
“交交” 项目团队合影,从左起:龚勋,乐辰阳,韩冰,李晨达,王巍,钱彦旻,孙海洋,张乐莹。
“交交” 项目团队合影,从左起:张乐莹,龚勋,王巍,李晨达,钱彦旻,韩冰,孙海洋,乐辰阳。
未来已来,对话无限可能!“交交” 不仅是语音助手,更是您的智能对话伙伴、知识导师和娱乐伙伴。它重新定义了人机交互的方式,让对话更加自然、智能、有趣。“交交” 的诞生,展现了在大模型时代,学术界在科技创新中依然具有无限的潜力。上海交通大学听觉认知与计算声学实验室用实力证明,学术研究不仅能推动科技进步,更能直接服务于社会,为人类生活带来便利与乐趣。
我们诚邀对前沿技术充满热情的您参与 “交交” 口语对话情感大模型的内测体验。由于资源有限,本次内测将面向部分用户优先开放。如果您希望提前体验并为我们提供宝贵的反馈,请访问 https://wj.sjtu.edu.cn/q/4FiP8hsB 填写内测申请表。您的参与将帮助我们不断优化,共同推动技术的进步!期待您的加入!
#Z1-32B
智谱又开源啦!附一手详细实测!同时还精准狙击了CloseAI的4.1!
没等来Qwen3开源,先等来了智谱开源!
然后今天closeai也是发布了新模型,gpt4.1,笑死了,先发4.5再发4.1,不过依旧闭源。
反观,国产大模型真实太卷了,即Llama4倒下之后,感觉国外的开源已经没落了,而国内开源蒸蒸日上!雄起!
本次智谱开源了9B和32B两个尺寸级别的模型,共计6个模型,GLM4-9B-0414、GLM4-Z1-9B-0414、GLM4-32B-Base-0414、GLM4-32B-0414、GLM4-Z1-32B-0414、GLM4-Z1-Rumination-32B-0414。
其中,Z1为推理模型、Rumination为沉思模型、Base为基模。注意:沉思模型相较于推理模型均有更长的深度思考,并且可以在深度思考过程中结合搜索工具处理复杂任务。
HF Link:https://huggingface.co/collections/THUDM/glm-4-0414-67f3cbcb34dd9d252707cb2e
说实话,之前一直吐槽说GLM系列都是小模型,10B以下,不够用,这次智谱真开源了32B级别模型(尺寸很合适),我真是爱了爱了!
GLM4-32B-0414模型是经过15T Tokens数据训练,在很多benchmark上超过了GPT4o、DeepSeek-V3、R1、Qwen2.5-max,如下图所示。
GLM4-Z1-32B-0414 是在 GLM4-32B-0414 的基础上,在数学、代码和逻辑等任务上对模型的进一步强化学习。当然 GLM4-Z1-9B-0414 也是很能打,效果也是远好于DeepSeek-R1-Distill-Qwen-14B。
不仅是开源,智谱同时还在bigmodel平台上更新了其他的模型,GLM-4-Air-250414、GLM-4-Flash-250414、GLM-Z1-AirX、GLM-Z1-Air、GLM-Z1-Flash,其中,GLM-4-Flash-250414和GLM-Z1-Flash免费,免费,免费,重要的事情说三遍!当然不免费的价格也很便宜,GLM-Z1-Air价格是R1的三十分之一。
又开源,又免费,感觉跟智谱各种融资有关,现在真是不差钱了,没有后顾之忧了!!!并且因为关税,中美关系这波,感觉跟政府玩的国家队,啥都不怕呀!
智谱还启用全新域名 “z.ai”,该平台可以免费使用GLM-4-32B、Z1-32B、Z1-Rumination模型。
说回整体,我们来一手实测,看看GLM这波开源的32B模型效果到底如何。所有测试时在“z.ai”平台上进行,主要是截图好看(哈哈哈),分别测试GLM-4-32B和Z1-32B。
总体体验上来说,Z1-32B超级强,效果让我十分满意,我的QwQ-32B要换成Z1-32B了
- Z1-32B无论是文本推理,还说数学和代码,都很强,很多难题,回答的也很好,都在点上
- Z1-32B回答老鹰的题目真是让我眼前一亮
- GLM-4-32B的效果要稍微差一点,一些常规推理没有对。
下面正式开始测试,
- 常规测试
- 将“I love GLM4-32B-0414”和“I love GLM4-Z1-32B-0414”这句话的所有内容反过来写
-
-
- 说明结果正确。
- 依旧弱智吧
- 生蚝煮熟了叫什么?
-
-
- 说明:结果正确,没有说是熟蚝,很棒!
- 用水来兑水,得到的是浓水还是稀水
-
-
- 说明:GLM-4-32B回答错误,Z1-32B回答正确,既不是浓水也不是稀水,就是水,答案正确。
- 依旧小红,依旧老鹰
- 小红有2个兄弟,3个姐妹,那么小红的兄弟有几个姐妹
-
-
- 说明:正确,4个姐妹,别问,小红就是女生。
- 未来的某天,李同学在实验室制作超导磁悬浮材料时,意外发现实验室的老鼠在空中飞,分析发现,是因为老鼠不小心吃了磁悬浮材料。第二天,李同学又发现实验室的蛇也在空中飞,分析发现,是因为蛇吃了老鼠。第三天,李同学又发现实验室的老鹰也在空中飞,你认为其原因是
-
-
- 说明:这个道题确实很难,反正R1啥的都错了。但是Z1-32B回答出来了,他知道老鹰本身就会飞,但综合题目分析是被动飞行,所以是吃了磁悬浮,有点厉害的。
- 数学
- 2024年高考全国甲卷数学(理)试题
-
-
-
- 说明:答案y^2 = 2x+1、3/4,答案正确。
- 大数计算:178939247893 * 299281748617等于多少?
-
-
- 说明:正确答案为53553251005627872913981,大数计算需要工具,大模型都很难对,GPT、Gemini、Grok、Qwen、Deepseek都对不了,但是如果调用工具的话,这道题就很简单。Z1-32B知道调用python计算,但由于没有真实接入,所以答案没回答对。
- 伦理、数学、生物终极测试:有一天,一个女孩参加数学考试只得了 38 分。她心里对父亲的惩罚充满恐惧,于是偷偷把分数改成了 88 分。她的父亲看到试卷后,怒发冲冠,狠狠地给了她一巴掌,怒吼道:“你这 8 怎么一半是绿的一半是红的,你以为我是傻子吗?”女孩被打后,委屈地哭了起来,什么也没说。过了一会儿,父亲突然崩溃了。请问这位父亲为什么过一会崩溃了?
-
- 说明:正确答案有三点38->88,红绿色盲,不是亲生女儿,仅回答出了数学,没有回答到红绿色盲,不过这题目前市面上大模型都回答不对。
- 代码
- 卡片:生成一个打工人时钟的html页面
-
- 说明:效果还不错,我很满意,打工人打工魂,哈哈哈哈。z.ai上还自带渲染,不错不错。
- 用 svg 展示一个大模型RLHF流程
-
- 说明:好酷呀,好酷呀,真不错,唯一的瑕疵就是不是预训练阶段吧,但是下面写了sft,对预训练模型sft也说的过去。
- 创作
- 用贴吧嘴臭老哥的风格点评大模型套壳现象
-
-
- 说明,很不错,感觉跟R1不相上下,很不错。
最后,在z.ai上还可以开启websearch功能,开启之后自动检索知识,下面是我做一个旅游游玩计划的回答,还是很准确的,deep search效果不错。
`
第一天:城市地标与历史风情
交通建议
- 高铁:建议选择早班车(如G7017次,08:00南京南站发车,09:30抵达上海虹桥站),全程约1.5小时,票价二等座约¥275[0][1]。
- 住宿:推荐南京东路或外滩附近酒店(如外滩华尔道夫酒店、南京东路华尔道夫酒店),方便次日行程。
行程安排
- 外滩与万国建筑群(下午)
- 路线:地铁2号线南京东路站→外滩(步行约10分钟)。
- 亮点:漫步外滩第二立面,打卡海关大楼、和平饭店等历史建筑,建议傍晚至夜间欣赏浦江两岸夜景[10][11]。
- Tips:提前在“上海文旅”公众号预约外滩免费观光团(需身份证),可深入讲解建筑历史。 - 南京路步行街美食探索(晚餐)
- 推荐店铺:
- 老盛昌汤包(蟹粉小笼包+特色馄饨,人均¥40)[13]。
- 邵万生(必尝金牌黄泥螺、糟鸡,人均¥60)[13]。
- 隐藏玩法:傍晚在南京东路地铁站旁的“钟书阁”书店拍照,网红书店融合艺术与商业[12]。
第二天:文化体验与现代都市
交通建议
- 地铁+打车:住宿至豫园约2公里,打车¥10;豫园至新天地约3公里,打车¥15。
行程安排
- 豫园与城隍庙(上午)
- 路线:豫园(门票¥40)→城隍庙(免费)。
- 特色:游览江南古典园林,推荐“绿波廊”品尝蟹粉豆腐、八宝鸭(人均¥80)[12]。
- Tips:避开节假日人流,可预约“豫园景区VIP导览”(含茶点,¥150/人)。 - 上海博物馆(中午)
- 路线:豫园步行至人民广场站(1/8/14号线),直达博物馆(免费,需预约)。
- 必看展品:大克鼎、商周青铜器、明清书画[19]。 - 新天地与艺术街区(下午至傍晚)
- 路线:人民广场站→新天地(打车10分钟)。
- 玩法:
- 白天:参观石库门建筑群,打卡“1920”爵士酒吧(下午茶套餐¥150/人)。
- 夜晚:体验“新天地艺术季”展览(免费),或前往“爵士酒廊”听现场演出(人均¥200)[19]。 - 夜游黄浦江(可选)
- 推荐项目:
- 东方明珠夜游(二球联票¥135,含浦江游船,19:00-20:00时段最佳)[14]。
- The Stage白玉兰观景台(新地标,320米高空观景,4月15日开放后票价约¥200)[15]。
第三天:主题乐园与自然风光
交通建议
- 地铁+打车:市区至迪士尼乐园约20公里,打车¥50;或乘坐地铁11号线直达(约40分钟)。
行程安排
- 上海迪士尼乐园(全天)
- 入园准备:
- 提前1周在“上海迪士尼”APP购票(平日票¥599/人),下载电子地图及快速通行证(FP)[16][17]。
- 建议携带自热食品(园内餐饮价格较高,人均¥100-150)。
- 必玩项目(按热度排序):
1. 翱翔·飞越地平线(FP建议10:00抢)
2. 雷鸣山漂流(FP建议10:30抢)
3. 创极速光轮(刺激首选,需提前排队2-3小时)
4. 玩具总动员:英雄之旅(适合亲子)
- 表演推荐:
- 11:00《米奇大街迎宾巡游》
- 16:00《花车巡游》
- 19:30《童话城堡夜光巡游》(必看烟花表演)[17]。 - 共青森林公园(备选)(若乐园游玩较早)
- 特色:春季郁金香花海(4月花期),新增《天际花田》艺术装置,适合拍照[18]。
- 交通:地铁8号线市光路站→森林公园(步行15分钟)。
预算参考(人均)
- 交通:高铁¥275 + 市内交通¥150 ≈ ¥430
- 住宿:经济型酒店¥400/晚×2 ≈ ¥800
- 门票:东方明珠¥135 + 迪士尼¥599 ≈ ¥734
- 餐饮:¥200/天×3 ≈ ¥600
- 总计:约¥2,164(不含购物)
注意事项
- 证件携带:身份证必备(高铁、迪士尼、博物馆均需刷证)。
- 天气查询:4月上海多雨,建议携带折叠伞及防滑鞋。
- 错峰出行:迪士尼乐园平日人流量较少,若时间允许可考虑工作日游玩。
- 紧急预案:下载“随申办”APP,可实时查询地铁延误及景区开放状态。
此计划兼顾经典景点与深度体验,如需调整(如增加购物或博物馆),可联系本地导游(推荐参考网页19中的推荐)进行个性化定制。
说实话,这波智谱开源+免费真是良心,并且国内大模型真是越来越好了!PS:模型我已经在下载了,哈哈哈!
4月份的KPI又有了,换模型,换模型!!