大语言模型推理系统综述

过去几年见证了专业的大语言模型(LLM)推理系统,例如 vLLM、SGLang、Mooncake 和 DeepFlow,以及通过 ChatGPT 等服务快速采用 LLM。 推动这些系统设计工作的是 LLM 请求处理独特的自回归特性,这促使人们开发新的技术,以在高容量和高速度的工作负载下实现高性能,同时保持较高的推理质量。 虽然许多这些技术在文献中都有讨论,但它们尚未在完整推理系统的框架下进行分析,系统本身也未经过分析和比较。

在本综述中,我们回顾了这些技术,首先从请求处理的算子和算法开始,然后转向模型优化和执行技术,包括内核设计、批处理和调度,最后以内存管理技术结束,包括分页内存、驱逐和卸载技术、量化和缓存持久性。 通过这些讨论,我们表明这些技术从根本上依赖于负载预测、自适应机制和成本降低,以便克服自回归生成带来的挑战并实现系统的目标。 然后,我们讨论如何将这些技术组合起来,形成单副本和多副本推理系统,包括提供对资源分配更多控制权的分离式推理系统,以及可以部署在共享硬件基础设施上的无服务器系统。 最后,我们讨论了剩余的问题挑战。

1 引言

自从序列生成从循环神经网络转向 Transformer以来,大型语言模型(LLM)现在已经达到了一定的质量水平,可以使用它们来完成各种任务,包括交互式通用问答、文档摘要和分类、语言翻译、代码生成 数据整理等 。 这一突破导致了 LLM 在工业界和普通消费者中的指数级增长,通过 ChatGPT、Gemini、Claude、Grok、Kimi 和 DeepSeek 等服务,给设计能够支持高性能模型服务的系统带来了压力。

Refer to caption

图 1: LLM 推理堆栈

为了满足这一需求,已经开发出专门的 LLM 推理系统来管理模型执行的各个方面,除了基本的 LLM 推理工作流程之外,还包括系统级的方面,例如负载平衡、作业批处理、作业调度和内存管理,这与其他高容量和高速数据处理系统类似。 但是,基于 Transformer 的 LLM 推理的独特的自回归特性意味着必须为这些方面中的每一个开发新的技术。传统的数据处理系统通过对输入执行一次操作序列来处理请求,但 LLM 需要执行多次,次数与请求输出的长度成正比。

所有请求都采用文本字符串的形式,输出长度非确定性地取决于字符串的文本内容。 由于字符串内容可以是用户想要的任何内容,因此不存在典型的输出长度。 因此,请求处理成本,尤其是内存成本,是未知的,并且可能在极大的范围内变化,即使是内容相似的请求之间也是如此。

输出的根本非确定性导致了 LLM 推理系统的三个关键挑战。(1) 尽管最近取得了突破,但就输出满足请求表达的任务的程度而言,输出的质量仍然无法保证,因为输出是由非确定性采样生成的,而不是从数据中进行分析构建的。 (2) 执行轮次的不确定数量意味着处理请求的最终内存使用量是未知的,这使得为一次处理多个请求的系统分配内存具有挑战性。 (3) 同样,由于处理请求所需的时间也是不确定的,因此设计可以避免诸如掉队者和队首阻塞等问题的批处理和调度技术也具有挑战性。

为了应对这些挑战,LLM 推理系统采用了许多技术,涵盖了面向用户的前端以及执行运行时,如图 1 所示。 为了提高 LLM 的质量,推理系统支持一系列序列生成技术,例如束搜索、思维树、思想图和自洽性,这些技术可以提高生成高质量输出的可能性(图 1©),以及许多提示技术。 多种技术导致了旨在简化用户交互的前端设计(图1(a)),其功能包括自动提示优化和约束输出生成(图1(b)),旨在减轻制作提示和协调复杂工作流程的负担。 为了适应动态内存需求,推理系统依赖于基于页面的块内存分配,并结合缓存持久化和量化技术,以减少总体内存使用量(图1(g))。 为了适应动态请求生命周期,推理系统使用动态作业调度、动态批处理和灵活的负载均衡(图1(d, e)),这些都基于负载预测机制,以及专门的算子和内核实现,以降低总体推理成本(图1(f, h))。

在本调查中,我们将在一个综合推理系统的框架内讨论这些技术。 在第2节中,我们将讨论对于执行高质量的大语言模型推理至关重要的算子和序列生成算法。 在第3节中,除了内核设计,我们还将讨论批处理和调度的技术,内核设计旨在开发高效的算子实现,以利用专门的硬件。 在第4节中,我们将讨论内存管理技术,包括基于页面的内存、用于支持请求抢占和长上下文的驱逐和卸载技术、量化和缓存持久化技术,包括缓存重建技术。 在这些讨论之后,在第5节中,我们将讨论如何将这些技术结合起来,形成当前的大语言模型推理系统格局,包括旨在托管单个大语言模型副本的环境的单副本系统,以及旨在通过多个大语言模型副本处理请求的多副本系统。 这些系统尤其允许分离的架构,从而可以更好地控制硬件资源的分配方式

2请求处理

基于Transformer的语言模型在离散的有限token集合上运行,产生一个输出token以响应一系列输入token,x1⁢…⁢xp,所有这些token都是该集合的成员。 这是通过将 Token 集合映射到高维向量空间来实现的,从而允许将简单的线性变换应用于 Token 嵌入,以生成 上下文相关的 嵌入,xp,最终从中选择输出 Token。

第 5 节中将要介绍的所有大语言模型推理系统都使用基于 Transformer 的模型,这些模型遵循相同的基本推理工作流程,主要依赖于嵌入上的注意力机制、前馈和 Token 采样算子来生成输出 Token(第 2.1 节)。 然而,注意力机制和前馈算子的高昂根本成本,以及生成能够产生语义连贯且在其他方面可接受的文本的 Token 的需求 2 ,激发了人们在算子设计方面的大量努力(第 2.2 节)。 此外,由于 Token 只能一次生成一个的固有局限性,生成长文本序列涉及多轮模型执行,并且由于每个输出 Token 可能对每轮给定的输入高度敏感,因此这些相同的担忧也导致了各种序列生成技术(第 2.3 节)。 面对这种多样化的请求处理技术,系统设计人员必须仔细权衡这些技术的各种优点和缺点,以及系统其余部分的设计方式,以及下游的后果将在第 2.4 节中讨论。

2.1推理工作流程

一个请求由一个初始输入,x1⁢…⁢xp,称为提示或前缀组成。 响应是基于提示的完整序列,x1⁢…⁢xp⁢…⁢xn。 计算 Token xi+1,对于 i≥p,需要对所有先前的 Token 即 xi+1=LLM⁢(x1⁢…⁢xi)执行一次模型,因此输出序列通过反馈先前的 Token 一次形成一个 Token,这个过程称为自回归生成。

Refer to caption

图 2: 一个 Transformer 层中的 Prefill(a)和解码(b

生成一个输出token时,每个输入token首先通过嵌入模型映射为高维向量表示。这些向量随后流经一系列功能相同但参数各异的Transformer层,被赋予上下文信息。最终,输入序列末位token的上下文向量被送入token采样器,从而产生输出token。图2展示了这一流程。

在每个 transformer 层内部,有一个注意力算子与一个前馈网络(FFN)相结合,中间夹杂着一个归一化算子 。 注意力算子和 FFN 主要通过将嵌入乘以各种权重矩阵来工作,这些权重矩阵的值通过训练来确定。 因此,这些算子的基本计算和存储(内存)成本取决于这些矩阵的大小。 具体而言,对于注意力算子,将算子应用于第i个嵌入需要第j个嵌入的线性投影(i.e. keyvalue 向量),j<i。 由于序列生成是自回归的,因此这些投影的数量(i.e. KV cache 的大小)在请求的生命周期内会增长。 因此,处理请求的总计算和内存成本取决于其输出的长度。

性能和准确性。 高成本表现为高端到端延迟,包括提交请求和生成完整输出序列之间的时间。 但由于大语言模型的自回归特性,输出可以在生成 Token 的同时流式传输给用户。 因此,对于诸如问答之类的交互式应用,只要 token 之间的时间间隔(TBT)和第一个 token 的响应时间(TTFT)较短,较长的延迟不一定会导致较差的用户体验。 其他应用场景(例如文档摘要)可能对token吞吐量或请求并发量更为敏感。 对于对延迟和吞吐量都敏感的请求,有效吞吐量可能是一个更有用的性能指标,它被定义为在特定延迟目标(服务级别目标,或 SLO)内完成的请求数量 。

用户也需要高质量的输出。 但是,由于用户提示可以表达各种各样的任务,从知识检索到语义操作 ,输出的质量高度依赖于任务,从而排除了通用的质量指标。 对于衡量大语言模型的一般质量,通常使用困惑度。 诸如BLEU 和 ROUGE ROUGE等指标已被用于特定任务,例如机器翻译和文档摘要 。

2.2算子

Refer to caption

图 3: 单头和多头注意力。 在 MHA 中,每个注意力头产生的低维 delta 向量被连接起来,并乘以一个重投影矩阵。

对高性能和高精度推理的需求激发了对注意力、FFN 和 Token 采样算子的新设计。 对于注意力算子, 引入了一种多头注意力 (MHA) 机制来提高推理质量。 分组查询注意力 (GQA) 和多查询注意力 (MQA)进一步发展了这个想法,通过减少变换矩阵的大小和数量来降低基本的计算和内存成本。 同样,许多工作集中在稀疏注意力上,还有一些共享注意力的技术,例如 chunkattention ,其中某些注意力输出在多个请求之间共享,从而减少了内存负担。 对于 FFN,专家混合 (MoE) 技术通过将 FFN 分割成多个小的独立网络 liu2025survey 来工作,从而减少了计算负担。对于oken 采样,诸如 top-k 采样和 nucleus 采样等随机采样技术,通过探索 Token 空间的狭窄区域之外的区域来提高推理质量,而推测解码技术通过利用小型草稿模型,然后进行并行验证 decoding 来提高 Token 吞吐量。

2.3 序列生成

生成完整输出序列时,可采用递归方式将已生成的部分序列重新输入模型,以流式方式逐个生成后续token,直至满足终止条件(如生成终止token)。但提示词****(prompt)的微小差异——例如:

  • 链式思维(CoT)提示(wei2022chain)
  • 少样本示例(xu2024does)
  • 其他提示工程技巧(sahoo2025systematic)

可能显著改变输出结果,进而影响成本和准确性。

另一方面,结构化生成方法通过维护一组候选输出序列,按自回归方式推进每个候选序列,最终择优返回。例如:

  • 束搜索(beam search, graves2012sequence)
  • 思维树(Tree-of-Thoughts, yao2023tree)
  • 思维图(Graph-of-Thoughts, besta2024graph)
  • 自洽性(Self-Consistency, wang2023self)

这些方法虽增加了请求处理成本,但通常能提升多数任务的输出质量。

流式生成(Streaming)
  1. 链式思维提示:在提示词中插入"show your work"等关键短语,诱导大模型生成更长响应,提升任务完成度(wei2022chain)。

  2. 少样本学习:在提示词末尾附加已完成实例(xu2024does),目标类似。

  3. 内化链式思维:通过奖励引导的强化学习训练模型,使其无需显式提示词即可生成类CoT输出(fu2024efficiently)。
    (更多提示工程技术详见sahoo2025systematic综述)

    Refer to caption

图 6: 当 k=3时的beam search示例.
结构化生成(Structured)

通过维护候选池并动态筛选生成结果(图6为束搜索k=3示例):

  1. 束搜索:同时维护k个候选序列,每步采样多个token,保留全局top-k序列推进,最终返回累计logit最高的序列(graves2012sequence)。
  2. 思维树:将候选序列组织为搜索树,通过不同提示策略扩展子节点(yao2023tree)。
  3. 思维图:将节点视为逻辑图,支持聚合多父节点等操作(besta2024graph)。
  4. 自洽性:删除与其他候选差异过大的输出,促使剩余候选收敛至高质量结果(wang2023self)。

2.4 讨论

自回归请求的不可预测性是LLM推理系统的核心特性,区别于传统大数据处理系统:

  • 输出长度决定处理成本,但除少数受控场景(见5.1节)外,终止长度无法预先确定
  • 注意力机制导致的提示词交互复杂性,进一步阻碍终止轮次的分析预测。
  • 这种不确定性(尤其对内存影响)催生了分页注意力(4.1节)、作业再平衡(3.3节)等动态适应技术,以及预测内存成本(3.4节)或直接降低成本的方案(4.3节)。

注意力机制、FFN、token采样与序列生成技术虽可独立适配任意推理系统,但设计时需考虑其特性:

  • 投机解码需单独训练草稿模型(drafter),可能不适合依赖输出多样性的创意任务。
  • 稀疏注意力、MoE等效率优化方案可能牺牲准确性;束搜索、思维树等准确性优化方案则增加成本。

未来展望:随着LLM向多领域扩展(luo2024projecting)及专用硬件发展(kwon2025lol),针对特定场景的算子设计与生成策略(如强化学习、新型提示策略等)可能重塑推理系统设计(deepseekai, zhang2024reactable)。

如何学习大模型 AI ?

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

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

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

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

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

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

在这里插入图片描述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值