跳到主内容
@wquguru
精选85硅谷101(YouTube)技巧与观点

AI Infra效率革命:如何把GPU利用率榨到极限

“榨”出硅的极限:怎么让GPU不“闲着”?|与SGLang、RadixArk深聊AI Infra技术与千亿美元市场

原文
发到 X
推荐理由

做AI Infra和推理优化的同学必看,这期把KV Cache复用、PD分离、投机采样等关键技术的原理和工程取舍讲透了,还附了CMU实测数据,值得收藏对照自己的部署调优。

AI行业突然开始了一场“造芯大战” OpenAI亮出了比脸还大的首枚推理芯片 谷歌计划将Gemini架构直接写入硅片 Anthropic、智谱、DeepSeek 也都相继传出了正在进行相关布局 他们把目光都投向了推理加速 背后的原因很简单 当模型竞争全面进入部署阶段 让模型更快、更便宜地跑起来 变成了最重要的事 “推理的拐点已经到来” 但是并不是每家公司都有资金、有能力 去重造一块芯片 而现在有一个市场 正在引发资本和巨头的关注 就是AI Infra 但它背后的逻辑是 已经部署好的数据中心和GPU 它本身还存在优化的空间 AI推理平台Baseten一年收入增长了20倍 估值从21亿美元暴涨到了130亿美元 同赛道的Fireworks 七个月内估值翻了四倍 达到了175亿美元 年化营收突破10亿美元 而最近这个赛道还迎来了一股强劲的势力 开源推理引擎“双子星”vLLM和SGLang 前后脚宣布商业化 种子轮融资都超过了一亿美元 背后几乎聚齐了AI产业里面 所有巨头和顶级风投的名字 拉开了强强对决的大幕 所以“GPU的利用率” 成为了硅谷的最新关键词 也是带出了一个新的千亿级市场 这期视频我们也邀请到了 由SGLang孵化的RadixArk的 联合创始人和核心成员 以及数据中心专家 一起聊聊AI Infra的四层架构 行业如何把“硅”的潜力榨到极限 以及背后的关键技术 好 那么接下来就跟我们来看看 AI Infra正在发生的“效率革命” 大模型的重心从训练走向推理 这对算力会提出完全不同的要求 训练成本极高 但是训练完之后任务就告一段落 但是推理不一样 无论是Chatbot‌还是Agent AI应用越多 GPU就需要处理越多的请求 而且这些请求是完全不间断 推理需求也随之爆发性增长 随着大家不断地拓展这个应用 拓展这个人工智能模型的能力边界 然后这个推理的需求就会越来越大 我们现在其实已经大到就是说 基本上市面上的卡其实都很难找到了 每一家都缺卡 每一家都缺卡 对于有钱的巨头们来说 最直接的方法还是继续地建数据中心 采购更多的GPU Meta、Google、Microsoft等科技巨头 持续提高资本开支 今年预计超过1万亿美元 而黄仁勋预测 到2030年 全球AI基础设施 年投资规模将达到4万亿美元 但是华尔街是担心的 华尔街的担心也是不无道理的 在过去我们是有前车之鉴的 像互联网时代的泡沫的破灭 当时是大量地投入到 比如说光纤的建设 对互联网的公司的投资等等 其实虽然长期来看是实现了它们价值 但是短期是出现了很大的问题的 所以如果不能在短时期内 大规模去增加算力 还有什么样的办法 能够满足AI快速发展的需求 答案是 提高GPU的利用率 那么这背后的这一层产业叫做AI Infra 人工智能基础设施层 首先我们就从AI Infra的整体架构角度 来科普一下GPU的一个误区 你以为GPU很忙吗 其实大多数时间GPU是很“闲”的 GPU 它只是整个AI系统中的一环 从一条用户请求进入系统开始 它需要经过网络传输、资源调度 模型加载、内存管理 再到最终完成推理、返回结果 整个过程当中 只要任何一个环节出现瓶颈 GPU就只能停下来等待 卡内基梅隆大学最近对756块GPU 进行了31天的细粒度遥测 覆盖从A100、H100 到最新B200的六代产品 结果发现很多时候GPU都处于一种 叫做“execution-idle”执行时空转的状态 而这种“看似繁忙实则空转” 到底有多严重呢 在他们观测的集群中 整体上有近20%的执行时间 和约11%的能耗被浪费在了等待上 而更值得关注的是推理场景 Azure Code负载有高达65%的能耗 消耗在了这种空转上 OpenAI的Chat类请求也达到了52% 那么为什么GPU会被跑不满呢 我们首先要了解一下AI Infra的四层架构 每一层其实都会影响GPU的利用率 第一层是能源基础设施 也就是电 这一层决定的是 GPU能不能持续稳定地运行 第二层是计算硬件 也就是卡 除了GPU之外 现在还包括了高带宽存储、高速互联 以及CPU等等 这一层决定的是 理论上能够提供的计算上限 第三层就是系统软件了 这一层就包括了CUDA、编译器、通信库 内存管理和底层算子库等等 决定的是每一次计算 能不能被执行到硬件的物理极限 第四层我们叫服务编排 你听这个名字 “编排”就能够理解 这一层要负责协调GPU资源 决定哪些任务优先运行 以及不同业务之间的动态调度 推理引擎、训练框架 请求调度和资源管理等等都属于这一层 代表性项目就有vLLM、SGLang等等 也是近年来创新最密集的地方 那我们搞清楚了AI Infra的架构之后 回到我们的问题 为什么这么多的GPU都跑不满呢 主要卡在什么环节 理论上来说 四个层级当中任何一层出现问题 其实都会影响GPU的利用率 电力和散热不足 GPU就会被迫降频运行 硬件互联跟不上 会让GPU花大量的时间在等数据 而不是算数据 系统软件优化不够 会让每一次计算 都无法触及硬件的物理极限 而请求调度不当 会让本来可以合并的计算被拆散 可以复用的结果被重算造成浪费 但是这四层的问题性质并不相同 下面两层是“硬”问题 电力、散热、芯片的改造周期以年为单位 而且优化空间正在快速地见顶 上面的两层是“软”问题 系统软件和调度逻辑 本质上是工程问题、算法问题 优化之后往往能够带来数倍的性能提升 那么在这样的背景之下 现在行业的注意力也在快速地上移 尽管就是说成本会在这个物理层上 大部分工作都是要放在软件层和服务编排 因为你把人力投入到这一块当中 你能够带来最大的优化的可能性 来举一个具体的例子 一台NVIDIA GB200 NVL72机柜 采购成本大约是在400万美元 但是如果它的软件栈 没有做好调度和优化 那么GPU的实际利用率可能就只有50% 那就相当于只用到了200万 剩下的200万美元 以电费、折旧和机会成本的形式 被白白地烧掉了 如果反过来把利用率从50%推到90%以上 那么效果就相当于凭空多出了一台机柜 你这个软件层能做得最好 就会带来更好的服务 和更好的这种token的消耗 最后你能够去通过这一层的重写 以及这一层的优化去帮助推理引擎 还有这种训练的框架 去做到更好的这种交互 以及像Reinforcement Learning(强化学习)

现在特别火的这样的一个后训练的过程 去做这一块的调度 然后把GPU的利用率给使用上来 这就是为什么 当硬件成本高到这个量级的时候 软件层的每一次优化 都变成了直接的商业问题 不久之前有网友扒出 Anthropic的员工现在占比最大的 就是AI Infra相关的工程师 背后也是与这个逻辑息息相关 那他们其实现在inference(推理)的队伍已经有堆了 大概200多个人 其实在这三年期间 他们也是从infra极度不稳定 然后到现在就是极度趋于稳定 以及把成本和优化做得更强 这也是直接影响了 它现在收入在Q2(二季度)就能够达到盈利 OpenAI、Anthropic和谷歌 会把这样的AI Infra团队 放在公司内部去做 因为这是成为了 各大前沿实验室的竞争壁垒之一 但是对于没有资金量去做优化的 稍小一些的模型团队或者初创公司来说 两个开源框架是成为了它们的支柱 分别是vLLM和SGLang 这就是为什么两年前会有 像SGLang这样的一个开源社区出现 你需要有这样的新的框架 去重新定义这一波 这种新的硬件系统的这种组合 那你才能去跟它做更好的适配 好 四层架构我们理解了 上面两层需要被优化的我们也知道了 那么具体应该怎么做呢 目前所有的优化工作 都可以归结为对四个问题的回答 就是哪些计算不用重新做 哪些等待可以消除 哪些算力没有吃满 以及哪些资源没有协同 刚才我们提到的SGLang和vLLM 都是现在围绕着这几个问题展开 只是设计思路略有不同 vLLM因为提出了PagedAttention 而受到广泛的关注 更加强调常规、通用的推理部署场景 而SGLang则是从推理执行流程出发 更强调计算复用和系统级优化 我们来看看 SGLang孵化出来的RadixArk团队 现在是如何思考AI Infra优化的 这四个核心问题的 首先我们先来解决一下计算的问题 大模型推理里面有一个“很傻”的事实 当同一段文字被反复地喂给模型的时候 它每次都要从头计算一遍 这在实际业务里面简直就是硬伤 尤其是在Agent工作流里面 同样的工具描述可能被调用几十次 每一次都是从零开始 现在业界把它称为是“推理税” 这意思大概跟智商税也差不多 反正都是白花的钱 那么这个税能不能省呢 当然能 Anthropic之前就做过一版优化 直接把成本砍了90% 同样的东西本来要花十块 优化完只需要花一块钱 这背后最核心的思路叫做KV cache复用 简单来说就是把算过一遍的东西存下来 下次直接拿来用 不用从头再算 Transformer在解码的时候 每一层self-attention(自注意力机制)

都会把历史token映射成 Key / Value 张量 简称KV Cache就是缓存 有了KV Cache之后 在第一次请求的prefill 中文叫预填充 也就是用户输入完prompt 到生成首个token的过程的时候 系统把prompt中的每个token 每一层的K/V都存下来 之后解码每个新token的时候 只计算新token的KV 并且把它追加到缓存里 而对于历史token的K/V则是直接复用 但是KV Cache它有一个弊端 它虽然可以降低解码的计算量 降低首token延迟 也就是我们说的TTFT 但是它的代价是 占GPU显存 当上下文很长 同时有很多用户请求的时候 KV Cache会占用大量的显存 显存一旦不够 模型就很难继续地提高并发和速度 所以它常常会变成推理服务的主要瓶颈 而SGLang在这件事情上的解决方案之一 是一项叫做RadixAttention的核心技术 它的核心思路是一种叫做“基数树” Radix Tree的数据结构 来组织海量请求的KV Cache 你可以把它想象成一棵共享前缀的家族树 共享同样开头的请求会共同用同一段枝干 只有当内容开始分叉的时候 才各自长出新的树枝 现在agentic world(智能体世界)

其实大家很多时候 会有很多shared system prompt(共享的系统提示词)

然后它会在这个 Shared system prompt完以后 会有不同的user prompt(用户提示词)

但是在同一个user prompt下面 大家会接着问问题 所以它就会有更多的这个 Tree structure就延伸下面 这个其实也是SGLang论文 比较有远见的地方 就它其实在2023年的时候就已经 大概预见到了这样的一个模式 随着这种agentic coding(智能体编程)用户越来越多 其实这个RadixTree 也包括这个SGLang本身的prefix cache(前缀缓存)

这套系统带来的增益就越来越大 简单来说 SGLang完成的核心优化之一 是跨请求、跨机器地 共享和复用KV Cache 普通的KV Cache只服务于一个请求 但是SGLang把KV Cache 变成了全局可复用资源 不过这件事听起来简单 工程上却很复杂 比如说缓存存在哪里、怎么快速地匹配 多个请求怎么共享 显存不够的时候该淘汰谁 每一步都要精细地设计 仅仅有一个好的缓存结构还不够 还需要“调度器” 主动把可以共享前缀的请求 给安排在一起处理 否则缓存明明存着 调度器却把请求分到不同时间 不同的GPU 缓存就等于白存了 对此 SGLang是做了非常多优化的策略 比如说Cache-aware scheduling 就是把相似请求排在一起处理 你可以把大模型运作想象成餐厅的后厨 如果后厨现在连续处理这几单 比如说连续的三份麻辣香锅 很多调料和准备工作可以复用 效率就高了 就算有稍微的区别 也只是小辣、中辣还有大辣的区别 但它如果顺序是这样的 麻辣香锅、寿司、牛排 麻辣香锅、寿司、披萨 麻辣香锅 你这个中间切来切去 大厨还得洗锅 那复用机会就少了 所以SGLang会用Cache-aware scheduling 让前缀相似的请求靠近处理 这样缓存更容易命中 进一步地提高效率 这个顺序就会是 三份麻辣香锅加两份寿司 加牛排加披萨等等 还有一个叫做Eviction的淘汰机制 就是显存不够的时候 扔掉最不可能再用的缓存 就跟你管理手机内存一样 十年前的照片和文档 可能就没有最近几个月的数据那么有价值了 所以常用的system prompt 高频RAG文档 还有最近刚被用过的对话前缀更会被保留 而显存不够的时候 就会淘汰很久没有用过的、复用价值低的 不太可能再被访问的KV Cache 还有一个让AI Infra 显得非常有智商的技术 叫做分布式 cache-aware load balancer 我们知道 大规模服务通常有很多GPU 但是问题来了 如果某段长prompt的KV Cache 在GPU 1上 但是下一个相同前缀的请求 被发到了GPU 3上 那GPU 3没有这份缓存 还是得重新算 所以SGLang它还是会尽量把请求发到 “已有笔记”的那一个GPU上 这样一来 可以少算很多重复内容 还有很多其他的小技术细节 我们就在这里暂时不展开了 总体而言 虽然SGLang把架构都给你搭好了 但是具体每个团队怎么部署infra 还是蛮有工程上的考量的 除了重复计算之外 第二大浪费是等待 现在这个行情 内存价格一个季度能够涨90% 高端显存缺货缺到2027年 GPU有钱都不一定能够抢得到 但是最后这些花了大价钱抢到的卡 一半时间却都在“干等” 一是请求之间的等待 最早的推理引擎是“排队制” 请求一个一个来 一个算完再算下一个 后来演进到“批处理” 凑够一批一起算 但是吧 凑批它也要等 而且一批里面如果有的请求短 有的请求长 短的算完了还要等长的算完 才能够一起下车 但短请求的用户体验也是极差的 现在主流的叫法叫做Continuous Batching 连续批处理 不再等一批人全部到齐之后再发车 而是像一辆随时可以上下客的公交车 新请求随时能够上车 算完的请求随时能够下车 GPU始终保持满载 这一改造能够让GPU的实际吞吐量 提升两到四倍 除了请求等待之外 计算阶段也有等待 我们知道大模型的推理 其实包含“读入”和“生成”两个阶段 读入阶段需要快速处理一大段文字 对算力要求高 生成阶段则是一个字一个字地往外蹦 计算量不大 但是每写一个字都要翻一遍完整记忆 对显存带宽极其敏感 过去这两个部分被塞进 同一张GPU里面混合执行 结果就是Prefill在算的时候Decode在等 Decode在算的时候Prefill在等 互相拖累 现在的做法叫做Prefill/Decode分离 把这两个阶段拆到不同的GPU上 各自用最适合的硬件配置 通过高速网络传递中间结果 比如说DeepSeek就采用了这个方案 Prefill“读题”的时候 32张GPU组成了一个最小计量单元 等真正开始“逐字作答”的时候 任务就交给另一批GPU接手 两拨卡各干各的 互不打扰 如今 PD分离已经成为了 推理引擎最重要的架构演进之一 在英伟达最新推出的 分布式推理框架Dynamo当中 PD分离就被放在了 整个架构设计的核心位置 而SGLang也是业界最早 支持大规模PD分离部署的推理引擎之一 接下来我们来说一下第三个大问题 算力跑满的问题 隆重介绍英伟达H100芯片 当年英伟达的H100发布之后 Tensor Core算力相比A100是提升了数倍 整个行业都期待着AI推理 能够同步增长、性能飞跃 但是现实却并不是这样 背后的主要原因是 GPU大量时间花在了数据搬运上 又受限于串行解码 计算的能力无法得到充分释放 目前解决思路有两个主要的方向 一个是低精度计算 大模型在运行的时候 GPU显存里面是主要装了三样东西 分别是模型权重、中间激活值 以及KV Cache 这三部分的精度可以独立设置 用更小的数据格式来存储 或者运算其中的任何一部分 都能够减少显存占用 也能够利用GPU上更快的低精度算力 在合适的场景下这甚至相当于 能够多释放出一倍的算力空间 另一个是投机采样(Speculative Decoding)

意思是先用一个小模型 叫做draft model 也叫做草稿模型 去“猜”接下来的几个字 再让大模型进行一次性验证 猜对了就等于一次计算生成了多个字 做个类比 大模型是一个很厉害但是很忙的老师 小模型是一个速度很快的助教 之前学生每写一个字都会问老师 你看这个字行不行 老师确认之后再写下一个字 但是投机采样是助教 先帮学生写一小段草稿 老师就一次性看这一小段 如果前面都对就全部通过 如果中间错了就从错的地方重新再来 这样的方式 最佳情况下能够把生成速度提升两到三倍 而推理引擎 在这里扮演着一个至关重要的角色 就是把这些新功能 第一时间集成到系统里面 把软件和硬件的四层都给它打通 让优化协同起来 其实SGLang本身是个整体的解决方案 它是一个inference engine(推理引擎)

它需要保证就是说 比如说我们会做kernel optimization(计算内核优化)

然后会做scheduler optimization(调度器优化)

然后会做这个 比如说CUDA Graph(CUDA图执行优化)

continuous batching(连续批处理)

甚至再往上走 你会有routing(请求路由)

也包括prefix cache(前缀缓存)

怎么去被route(路由)到 对应的engine replica(推理引擎实例)

SGLang其实有非常非常多的技术 是结合在一起 然后去把这个推理 整体这个解决方案做到极致 做到最好 RadixArk联合创始人朱邦华就跟我们说 像SGLang这样的推理引擎 现在跟芯片厂商之间 已经是一种深度绑定的联合优化了 芯片厂在设计新硬件的时候 就已经在和SGLang的团队 一起做联合调优 等到硬件正式发布的时候 SGLang也几乎在同一时间 完成了day-0的支持 双方一起希望能够把硅的性能 给压缩到极致 这个不管是哪一个硬件厂 就大家如果做出来这个新的GPU 新的硬件 其实都需要演示 这个硬件其实是非常高性能的 基本上现在默认 很多人的选择都是通过跑SGLang 甚至SGLang某种程度上变成一个硬件评测的工具 比如说你可以看到AMD最新的硬件 英伟达最新的硬件 其实现在都是一个产品发布合作伙伴 甚至就是在发布硬件的day-0 就是当天 其实他们就会说 在SGLang的性能上达到了多少多少 所以其实我们现在是 比如说我们会和 所有的这种硬件供应商都会合作 SGLang本身和我们团队 能够把他们硬件的性能压缩到极致 使得就是说最后能交付更好的 推理的性能、训练的性能等等 这其实也解释了RadixArk 从SGLang孵化出来进行融资的时候 机构投资人方面 英伟达、AMD、联发科、Databricks等 AI硬件与系统层的主要玩家 几乎全部到齐 个人投资者的名单更是一个比一个重磅 英特尔CEO陈立武 Broadcom CEO陈福阳 OpenAI的联合创始人John Schulman等等 可以说

原文超出正文长度上限,此处截断——上游还有内容,完整版见上方「原文 ↗」。

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

另一事件,读法相近