大语言模型推理并行策略全景解析:TP / DP / PP / EP 原理与 vLLM 实战性能验证

当大语言模型的参数规模跨过几十亿门槛之后,一个事实变得不可回避:单卡时代已经结束。无论是训练还是推理,模型本身的参数规模、KV Cache 的增长速度,以及真实业务中并发请求带来的显存与算力压力,都决定了大模型必须运行在多 GPU、甚至多节点的环境中。 然而,用多张卡跑模型并不是一个简单的资源堆叠问题。在实践中,工程团队很快会发现:不同的拆分方式,带来的性能表现差异可能是数量级的。有的配置 TTFT 极低,却在高并发下迅速失速;有的方案吞吐惊人,却难以满足在线服务对延迟的要求;还有一些组合在理论上看似合理,却在真实硬件拓扑下被通信成本完全吞噬。 在训练与推理阶段,业界逐步沉淀出四类核心并行策略: TP(Tensor Parallelism,张量并行) DP(Data Parallelism,数据并行) PP(Pipeline Parallelism,流水线并行) EP(Expert Parallelism,专家并行,主要用于 MoE) 大语言模型四种核心并行策略基础 Tensor Parallelism(TP):算子级拆分 核心思想:将单层内部的矩阵计算(如 Linear / Attention)沿维度切分到多张 GPU 上并行计算。 典型拆分方式: Linear 层按 hidden_size 或 num_heads 切分 Attention 的 Q / K / V 或 FFN 的中间层拆分 优点: 单层显存占用显著下降 单 token 延迟较低(适合推理) 代价: 每一层都需要 All-Reduce / All-Gather 通信频繁,对 NVLink / IB 依赖高 适用场景: 单模型过大但层数不多 对 **TTFT(Time To First Token)**敏感的在线推理 Data Parallelism(DP):请求级复制 核心思想:模型完整复制到多张 GPU,每张 GPU 处理不同请求或 batch。...

十二月 24, 2025 · 2 分钟

大语言模型(LLM)推理加速:预填充(Prefill)和解码(Decode)解耦(PD 分离)

随着大语言模型(LLM)在对话系统、智能助手和 Agent 场景中的广泛落地,推理系统面临的核心挑战已从“能不能跑”转向“如何以更低延迟、更高吞吐、更稳定的方式运行”。在这一背景下,PD Disaggregated(Prefill / Decode 解耦) 逐渐成为大规模在线推理系统中的关键架构思想。 本文将不依赖任何具体推理框架,从 模型推理执行流 的角度,系统阐述什么是 PD Disaggregated、为什么需要它,以及它为 LLM 推理系统带来的核心优势。 LLM 推理的两个本质阶段 所有自回归大语言模型的推理过程,本质上都可以拆解为两个阶段: Prefill(预填充阶段) Prefill 阶段负责处理用户输入的完整 Prompt,其主要任务包括: 对输入序列进行一次完整前向计算; 构建上下文对应的 KV Cache; 生成第一个输出 Token。 这一阶段具有如下特征: 计算密集型(Compute-bound) 大规模矩阵乘法(GEMM)占主导 序列长度通常较长 对批处理(Batching)高度友好 Decode(解码阶段) Decode 阶段进入逐 Token 生成过程,每一步都会: 输入上一个生成的 Token; 读取历史 KV Cache; 生成下一个 Token,直到结束条件满足。 其特征与 Prefill 明显不同: 访存密集型(Memory-bound) 计算规模小,但 KV Cache 访问频繁 强延迟敏感 执行步数随生成长度线性增长 问题根源:Prefill 与 Decode 的“异构性” Prefill 与 Decode 并非同一类工作负载,它们在多个维度上呈现出显著异构性: 维度 Prefill Decode 计算模式 大算子、密集计算 小算子、频繁访存 批处理需求 大 batch 效果最好 batch 过大反而增加延迟 延迟容忍度 相对较高 极低 资源瓶颈 算力 显存带宽 / KV Cache 如果将这两种阶段混合部署、统一调度,就会导致资源使用上的结构性低效。...

十二月 22, 2025 · 2 分钟

Fara-7B:微软推出的高效电脑操作代理模型

微软研究院最近发布了 Fara-7B,这是一款专为电脑操作(Computer Use)设计的代理小语言模型(Agentic SLM)。与传统的聊天模型不同,Fara-7B 旨在通过像人类一样使用鼠标和键盘来完成任务。 什么是 Fara-7B? Fara-7B 是一个拥有 70 亿参数的模型,基于 Qwen2.5-VL-7B 构建。它的主要特点包括: 视觉感知:它通过视觉感知网页(截图)来操作,不需要依赖辅助功能树(Accessibility Trees)或额外的解析模型。 高效紧凑:尽管只有 7B 参数,但在同类模型中实现了最先进的性能,甚至在某些基准测试中可以与更大的模型竞争。 端侧运行:由于体积小,它可以在设备上本地运行,从而降低延迟并提高隐私安全性。 核心技术 Fara-7B 的训练利用了微软开发的合成数据生成管道,该管道基于 Magentic-One 框架。它通过“观察-思考-行动”(observe-think-act)的循环来执行任务。 在每个步骤中,模型会接收: 用户指令 完整的操作历史 最近的三张屏幕截图 然后,它会输出一个推理信息(“思考”下一步行动),随后调用工具(如 click(x,y)、type() 等)来执行操作。 性能表现 在 WebVoyager、Online-Mind2Web 等基准测试中,Fara-7B 展现了强大的性能。例如在 WebVoyager 上,它的任务成功率达到了 73.5%,超过了 UI-TARS-1.5-7B (66.4%) 和 GPT-4o (SoM Agent, 65.1%)。 如何通过 vLLM 使用 Fara-7B Fara-7B 已经发布在 Hugging Face 上。由于它是基于 Qwen2.5-VL 的,我们可以使用 vLLM 来高效地部署和推理。 安装 vLLM 首先确保你安装了最新版本的 vllm: pip install vllm Python 代码示例 以下是一个使用 vLLM 加载 Fara-7B 并进行推理的 Python 脚本示例:...

十一月 28, 2025 · 2 分钟

AI 推理的最佳选择 - vLLM

原文链接:The Best Choice for AI Inference -> vLLM 注意:本译文已获得的原文作者翻译授权,为避免广告嫌疑,本文中移除了特定产品和品牌的商业宣传内容,仅保留技术特性及企业级产品功能描述,相关内容请以原文为准。 随着各组织从大语言模型(LLM)的试验阶段迈向生产部署,选择哪种推理平台就成了一项关键的业务决策。这个选择不仅影响性能,也影响灵活性、成本优化,以及应对快速变化业务需求的能力。 对于技术人员和方案架构师在评估 LLM 推理平台时,应该重点考虑以下三大因素: 架构灵活性:能否在不同硬件加速器和混合云环境间部署,而不会被某一家厂商锁定。 运行可扩展性:支持从单 GPU 部署扩展到分布式多节点的高级部署模式。 生态开放性:对最广泛的模型与内核支持,以及能与各种企业软件生态系统整合。 vLLM 在开源基础、先进内存管理能力,以及即将推出的分布式部署蓝图方面,独特地满足这些需求。与专有或硬件专用方案不同,这套组合提供了在成本、性能和运营需求上随时优化调整的自由。 本文将深入分析为何 vLLM 在其技术架构与能力上(尤其是其 KV-Cache 管理、并行策略,以及未来的 llm-d 分布式能力)提供了最可持续的生产级 LLM 部署路径。 开源优势 社区驱动的大规模创新 LLM 推理的发展,根本上受到开源创新的推动。过去一年半以来 vLLM V1: A Major Upgrade to vLLM’s Core Architecture | vLLM 博客(英文版),vLLM 在支持多样模型、功能和硬件后端方面取得显著成绩,从伯克利大学的研究项目成长为开源 AI 生态中的事实标准之一 vLLM 2024 Retrospective and 2025 Vision | vLLM 博客(英文版)。 vLLM 社区发展参考链接 vLLM 现在隶属于 PyTorch 基金会托管项目(GitHub — vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs),这保证了其长远的可持续性和治理机制。...

十月 15, 2025 · 7 分钟

玩转大语言模型:基于 vLLM 框架的大模型推理优化实现参数 / 数据(P/D)分离

大模型在推理部署时,往往存在显存瓶颈: 模型参数(Parameters, P)动辄上百 GB,需要长期驻留显存。 输入/输出数据(Data, D)则随请求动态变化,但往往和参数耦合在同一设备上,导致显存占用不均衡,扩展性受限。 为了解决这一问题,可以借助 vLLM 框架实现参数 / 数据(P/D)分离,提升推理系统的灵活性和吞吐。 大模型推理的资源瓶颈 以一个 70B 规模的 Transformer 模型为例: 参数权重(FP16 存储)约需 140GB 显存; 每次请求输入的序列数据、KV Cache 会消耗额外显存,并随 batch size 增长而急剧膨胀。 如果不加区分地将 P 与 D 放在同一块 GPU: 参数长期驻留,挤压了用于动态数据的显存; 多实例并发时,数据显存不足,限制了吞吐。 因此,在分布式推理系统中,业界逐渐采用 参数与数据分离(P/D Separation) 的架构思路。 vLLM 简介 vLLM 是一个高性能的大模型推理引擎,核心优势包括: PagedAttention:高效管理 KV Cache,支持大批量并发; 高吞吐率:相较于 Hugging Face Transformers 推理,吞吐提升数倍; 灵活的分布式支持:可结合 DeepSpeed、Megatron 等方案,支持参数/数据分布式存储与调度。 vLLM 的模块化架构,使其天然适合实现 P/D 分离。 P/D 分离的实现思路 在 vLLM 中,推理流程大致分为两个部分: 参数侧(P) 模型权重加载与存放; 可通过 ZeRO-3 / Tensor Parallel 等策略将参数分布在多 GPU 节点上; 参数在整个推理生命周期中保持常驻,不随请求波动。 数据侧(D)...

九月 29, 2025 · 2 分钟

玩转大语言模型:使用 SGLang 框架实现大语言模型推理入门教程

随着大语言模型热度的升级,企业和个人使用者的研究重心逐步从训练转移至推理(说白了是由造轮子转变为务实的使用)。而在模型推理领域,最炙手可热的两大框架无疑是 vLLM 和 SGLang,而作为后起之秀的 SGLang,其表现也值得大家关注,今天就基于 SGLang 为大家带来一篇入门教程文章,希望能帮助更多希望了解大语言模型及 SGLang 框架的朋友。 SGLang 简介 SGLang 是一款面向大语言模型(LLM)和视觉语言模型(VLM)的高性能推理框架,通过精心设计的后端运行时与前端语言协同工作,使模型交互更加高效且可控。其核心优势包括: 高效后端运行时:采用创新的 RadixAttention 技术实现前缀缓存,支持跳跃式受限解码、零开销 CPU 调度、连续批处理、令牌注意力(分页注意力)、张量并行、FlashInfer 内核、分块预填充以及多种量化技术(FP8/INT4/AWQ/GPTQ),显著提升推理效率。 灵活前端语言:提供直观且强大的 LLM 编程接口,支持链式生成调用、高级提示工程、复杂控制流、多模态输入、并行处理及外部系统交互。 广泛模型兼容性:支持多种主流生成式模型(Llama、Gemma、Mistral、QWen、DeepSeek、LLaVA 等)、嵌入模型(e5-mistral、gte)及奖励模型(Skywork),并提供简便的新模型扩展机制。 活跃开源生态:拥有蓬勃发展的社区支持,已获得广泛业界认可(截至 2025 年 3 月 17 日,GitHub 累计星标超过 12,000)。 其技术架构如下: 除此之外,对于初学者,需要了解其以下特性: OpenAI 兼容 API:直接用 openai Python SDK 或 cURL 调用,不用改你的上层业务代码。 高吞吐与低延迟:结合连续批处理与前缀缓存等技巧,让相同前缀的请求复用计算。 生产友好:支持多并发、流式输出、可与 Hugging Face 模型库直接对接。 环境准备 工欲善其事必先利其器,要完成本文的新手实验,需准备如下环境: 操作系统:建议 Linux(常用为 Ubuntu 20.04+)。WSL2 也可尝试。 Python:建议 3.10 或 3.11。 GPU:建议 NVIDIA 显卡,24GB 显存可跑 7B/8B 级(如 Llama 3.1 8B)。没有 GPU 也能跑小模型或量化模型,但性能有限。 模型来源:Hugging Face(如 meta-llama/Llama-3....

七月 10, 2025 · 2 分钟