掘金 人工智能 07月05日 18:11
LLM 系列(六):模型推理篇
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了大型语言模型(LLM)推理的各个方面,从自回归生成机制出发,分析了其核心挑战——低延迟、高吞吐量和低成本之间的权衡。文章详细介绍了推理过程中的关键指标、优化技术、分布式策略,以及主流推理框架,构建了关于 LLM 推理的完整知识图谱。此外,文章还关注了国产化浪潮下,自主生态系统中的推理实践,并对未来推理技术的发展趋势进行了展望。

💡 **推理的核心:** LLM 的推理本质上是一个两阶段的自回归过程,包括预填充(处理输入 Prompt)和解码(逐个生成 token)。预填充阶段计算密集,解码阶段内存带宽密集。

💾 **KV 缓存:** KV 缓存是优化推理的关键,它通过存储预填充阶段的 Key 和 Value 值,减少了解码阶段的计算量。然而,KV 缓存也带来了新的内存瓶颈,其大小与序列长度和批处理大小成正比。

⚙️ **性能指标:** 评估 LLM 推理性能的四个核心指标包括:首个 Token 生成时间 (TTFT)、每输出 Token 时间 (TPOT)、延迟 (Latency) 和吞吐量 (Throughput)。这些指标相互关联,需要根据应用场景进行权衡,以实现“有效吞吐量”。

🚀 **优化技术:** 为了攻克挑战,学术界和工业界发展了多种优化技术,例如 PagedAttention、多查询注意力 (MQA) 与分组查询注意力 (GQA)、FlashAttention、连续批处理等,这些技术旨在减少内存访问延迟和提高硬件利用率。

🌍 **分布式推理:** 当模型尺寸超过单个 GPU 的内存限制时,需要采用分布式策略,如张量并行、流水线并行、数据并行等。选择哪种策略取决于硬件的物理连接方式和具体应用场景。

⚙️ **主流框架:** 当前,开源社区和商业公司提供了多个优秀的推理框架,如 vLLM、TensorRT-LLM、Hugging Face TGI,它们在性能、生产力和可移植性之间取得了不同的平衡。

🇨🇳 **国产化浪潮:** 中国正在构建“模型-框架-硬件”全栈协同与自主创新的生态系统,国产 AI 芯片、大模型和推理框架深度适配,共同推动推理技术的进步。

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和扩展。欢迎感兴趣的小伙伴们关注和 Star。

项目地址github.com/java-ai-tec… 🎉🎉🎉🎉🎉

LLM 系列文章列表:

引言

大型语言模型(LLM)的训练过程虽然耗资巨大且备受关注,但其真正的价值实现,却发生在**推理(Inference)**这一最终环节。推理是将训练好的模型应用于实际,根据 用户输入(Prompt)生成响应的过程 。无论是驱动一个实时聊天机器人,还是进行离线文档分析,高效、可靠的推理是所有 LLM 应用的基石。然而,这一过程远非简单地调用模型那么直接,它面临着一个核心的 三难困境(Trilemma)

既要追求极致的低延迟(Latency)以保证用户体验,又要实现最大的高吞吐量(Throughput)以服务海量用户并降低单位成本,同时还需控制昂贵的硬件成本(Cost)

本文将深入剖析 LLM 推理的全貌,从其根本的自回归生成机制出发,逐层揭示其 核心挑战、关键性能指标、优化技术、分布式策略以及当前主流的推理框架 。本文旨在为读者构建一个关于 LLM 推理的完整知识图谱,理解其“表”之性能与“里”之原理。

推理的本质:一个两阶段的自回归过程

要理解推理优化,首先必须掌握 LLM 生成文本的底层机制。现代主流的生成式 LLM(如 GPT 系列)本质上都是 自回归(Autoregressive) 模型。

Transformer 推理机制

现代大语言模型主要基于 Transformer 架构,其推理过程的核心是自注意力机制。在推理阶段,模型需要处理的主要计算包括:

下图是基于 Decoder 的 Transformer 架构

自回归生成:逐字吐露的本质

自回归意味着模型以 逐个 token 的方式生成文本。每个新 token 的预测都依赖于之前已经生成的所有 token(包括原始输入和先前已生成的输出)。这个过程形成了一个循环:

这种循序渐进的特性是 LLM 能够生成连贯、上下文相关文本的基础。但它也带来了固有的算法性挑战:随着序列的增长,模型在下一步需要处理的上下文也随之增加,导致计算量不断累积,速度越来越慢

两阶段过程:预填充(Prefill)与解码(Decode)

LLM 推理并非一个单一的过程,而是被清晰地划分为两个计算特性截然不同的阶段。这种二元性是所有推理优化挑战的根源。

这种 计算密集内存密集 的鲜明对比,意味着任何单一、静态的优化策略都难以同时完美地适应两个阶段。一个真正高效的推理系统必须能够同时处理这两种性质迥异的负载。

KV 缓存:优化的功臣与新的瓶颈

为了避免在每个解码步骤中为所有历史 token 重复计算注意力机制中的 Key (K)Value (V) 张量,**KV 缓存(KV Cache)**这一关键优化应运而生。

量化性能与直面挑战

为了有效评估和优化推理系统,我们需要一套标准的语言来描述其性能,并清晰地认识其面临的核心硬件制约。

核心性能指标

以下四个指标构成了评估 LLM 推理性能的基石,它们相互关联,共同定义了一个复杂的权衡空间。

指标定义衡量内容场景影响
首个 Token 生成时间 (TTFT)从用户发送请求到收到第一个响应 token 的时间。系统的初始响应速度,主要由预填充阶段的延迟决定。实时交互应用(如聊天机器人)的用户体验。
每输出 Token 时间 (TPOT)生成第一个 token 之后,平均生成每个后续 token 所需的时间。也称作 Inter-Token Latency (ITL)。模型的“流式”生成速度,由解码阶段的延迟决定。流式应用的流畅性,影响用户阅读体验。
延迟 (Latency)生成完整响应所需的总时间。可近似为 TTFT + (TPOT * 生成的token数)端到端的请求处理时间。离线、长文本生成任务的效率 。
吞吐量 (Throughput)系统在单位时间内能处理的 token 或请求的总量。通常以 Tokens/秒 (TPS)请求数/秒 (RPS) 衡量。系统的处理能力和成本效益。服务的可扩展性和经济性,决定了能以多低成本服务多少用户。

这四个指标并非孤立存在。例如,为了提高吞吐量而增大批处理大小,通常会导致每个请求的排队时间和处理时间增加,从而恶化 TTFT 和 TPOT。因此,不存在普适的“最佳性能”,只有面向特定应用场景的“最优权衡”。一个实时聊天应用会优先保证低延迟,而一个离线分析服务则会优先追求高吞吐量。

“有效吞吐量”与双重瓶颈

单纯追求高 TPS 可能会产生误导。一个系统可以通过极大的批处理来刷高 TPS,但如果每个请求的延迟都高到用户无法接受,那么这种高吞吐量是无效的。因此,**有效吞吐量(Goodput)**的概念应运而生,它衡量的是在满足特定服务等级目标(SLO,如 TTFT < 200ms)的前提下,系统所能达到的吞吐量。这促使我们从关注“硬件跑得多忙”转向关注“系统交付了多少有价值的成果”。

这背后是推理系统面临的双重瓶颈:

优化技术

为了攻克上述挑战,学术界和工业界发展出了一系列精巧的系统级优化技术。这些技术并非孤立的选项,而是构成了一个协同工作的技术栈,共同铸就了现代高性能推理引擎。

PagedAttention 与注意力变体

加速核心计算:FlashAttention

标准注意力计算本身也是内存带宽密集型的,因为它需要将巨大的中间结果(一个 N×N 的注意力矩阵)写入和读出 HBM (High Bandwidth Memory 高带宽内存)。

FlashAttention 是一种 IO 感知的精确注意力算法,通过重排计算顺序来最小化 HBM 访问。

通过避免读写巨大的中间矩阵,FlashAttention 显著减少了内存 IO,带来了 2-4 倍的计算加速,并支持更长的上下文。

压榨 GPU 性能:连续批处理

其他关键优化

这些优化技术的演进趋势清晰地表明,推理优化的重心已从单纯减少计算量转向了更复杂的隐藏系统延迟,尤其是内存访问延迟。

规模化之路:分布式推理策略

当单个模型的尺寸超过单个 GPU 的内存限制时,就必须采用分布式策略,将其部署在多张 GPU 乃至多个节点上。

并行策略的分类

硬件与策略的匹配

并行策略的选择与硬件的物理连接方式(网络拓扑)息息相关。

未来的一个重要方向是 动态并行。鉴于预填充和解码阶段的计算特性不同,推理引擎未来可能会根据当前处理的阶段动态地调整并行策略(如动态重分片),以实现全局最优性能。

主流推理框架

当前,开源社区和商业公司提供了多个优秀的推理框架,它们在设计哲学和技术实现上各有侧重。

框架核心哲学关键技术优势劣势理想场景
vLLM通过极致的内存管理实现高吞吐量。PagedAttention, 连续批处理业界领先的吞吐量,社区活跃,支持多厂商硬件 (NVIDIA/AMD),易用性高。对量化模型的优化可能落后于专用框架,单请求低延迟场景非其最强项。高并发、吞吐量敏感的在线服务。
TensorRT-LLM压榨 NVIDIA GPU 的极致性能。TensorRT 编译器,深度核融合,FP8/INT4 量化,高级调度在 NVIDIA 硬件上通常能达到最高的性能(最低延迟和最高吞吐量),与 NVIDIA 生态(Triton)紧密集成。仅支持 NVIDIA,设置复杂,需要显式的模型编译步骤,学习曲线陡峭。对性能有极致要求、且技术栈锁定在 NVIDIA 的企业级部署。
Hugging Face TGI提供与生态系统无缝集成的生产级解决方案。连续批处理,张量并行,Rust 核心服务部署极其简便,特别是对于 Hugging Face Hub 上的模型,是“开箱即用”的典范。性能通常不及 vLLM 或 TensorRT-LLM,在生态系统外使用可能受限。快速原型验证,以及深度绑定 Hugging Face 生态的应用。

这三个框架完美体现了工程领域的经典权衡:性能(Performance) vs. 生产力(Productivity) vs. 可移植性(Portability)。TensorRT-LLM 追求极致性能,TGI 追求极致生产力,而 vLLM 则在性能和易用性/可移植性之间取得了出色的平衡。对用户而言,选择哪个框架,取决于具体的业务需求、硬件环境和团队技术栈。任何脱离具体场景的“性能最好”的论断都是片面的,唯一的真理是进行符合自身生产环境的基准测试。

国产化浪潮:自主生态下的推理实践

在全球大模型技术飞速发展的同时,中国的人工智能领域也形成了蓬勃发展的生态系统,其显著特点是“模型-框架-硬件”全栈协同与自主创新 。在推理层面,这体现为国产大模型、推理框架与国产AI芯片的深度适配和联合优化。

国产 AI 芯片与推理的基石

大模型的推理对算力、内存带宽和容量提出了极高要求,这催生了国产AI芯片的快速发展,它们是实现大模型应用落地的关键硬件载体 。

主流国产大模型与推理框架

依托于自主硬件和软件生态,国内的主要科技公司均推出了各具特色的大模型及配套的推理部署方案 。

开源驱动与生态共建

与国际趋势相呼应,开源已成为推动中国大模型技术发展和应用普及的核心战略 。通过开源模型,国内厂商能够快速构建开发者社区,整合底层资源,降低行业研发成本,并以非对称优势参与全球竞争 。这种开放的生态不仅加速了模型本身的迭代,也催生了丰富的下游应用,形成了从基础研究到产业落地的良性循环 。

总体而言,国产大模型推理正走在一条 自主可控开放兼容 并行的道路上。一方面,通过自研芯片和全栈软件优化,构建自主的技术体系;另一方面,通过积极拥抱开源和产业合作,融入全球 AI 生态,共同推动大模型推理技术的边界。

总结

LLM 推理领域是一场与内存瓶颈和硬件利用率的持续战斗。本文梳理的各项优化技术,都是为了让日益庞大的模型变得更加实用和经济。展望未来,几个关键趋势正在塑造下一代推理技术:

    更小、更高效的模型架构:业界正大力投入于研发更小但能力依旧强大的模型(如 Phi-3)以及稀疏化的专家混合(MoE)模型。MoE 模型在每次推理时只激活一小部分参数,从根本上降低了单次推理的计算和内存成本。软硬件协同设计:从 FlashAttentionFlashAttention-3 的演进,清晰地展示了算法如何紧随硬件特性(如 Hopper 架构的 FP8 支持)进行迭代。未来的性能突破将更多地来自于算法与底层芯片的深度协同设计。动态与自适应推理:未来的推理系统将更加智能。它们能够根据请求的难度和类型,动态地分配计算资源,例如为复杂问题提供更多的“思考时间”(推理时计算缩放),或在预填充和解码阶段间动态切换并行策略,从而摆脱当前“一刀切”的计费和资源分配模式。可控与可信的推理:随着 LLM 逐渐演化为能够自主行动的智能体(Agent),如何保证其推理过程的正确性、逻辑性和可控性,将成为新的研究焦点。

总而言之,大型语言模型的未来,不仅取决于我们能构建多大的模型,更取决于我们能以多快的速度、多低的成本、多高的效率去运行它们。推理优化,正是这场通往通用人工智能道路上,至关重要且充满挑战的征途。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

LLM 推理 优化 KV 缓存 国产化
相关文章