深度解读AI 与大模型generatedpublished

一次计算只产一个token:大模型推理引擎如何把三万美元GPU压榨到物理极限

LLM推理流水线与物理饱和(预填充算力受限、解码机制

在前端让大模型写一篇五百字的文章,后台那张几万美元的 GPU 到底经历了什么? 很多人以为它像打印机一样,把整篇文章算好了直接吐出来。 真实的情况完全相反。 这个庞大的神经网络每从头到尾跑一整遍,只吐出一个 token。 一次前向传播,产一个词。 一篇五百字的长回答,GPU 要在短短几秒钟里把整个模型循环跑上七百次。 每一次循环,都在跟底层的物理硬件搏命。 Together AI 的工程师 Zain Hasan,最近在开源 AI 峰会上把这台推理引擎的底细彻底讲透了。 它不是什么优雅的思考机器。 它是一座把三万美元显卡压榨到极致的重工业流水线。 整个过程从你敲下回车的那一瞬间就开始了。 模型根本不认识人类的文字。 在 GPU 真正介入之前,CPU 必须先把你的句子切碎成一个个编号。 字典里大概有十万多个代码。 比如你问一句纽约去哪玩,送进显卡时,其实是一串枯燥的整数。 接下来,请求进入了整个推理过程最分裂的两个阶段。 第一阶段叫预填充。 它把你发过去的所有问题,一次性打包压进显卡的核心里。 几千个计算核心全功率开动,疯狂做矩阵乘法。 这个阶段完全是算力受限。 显卡算力跑满了,决定了你多久能看到屏幕上蹦出第一个字。 但只要第一个字一出来,画风立刻大变。 系统马上滑进第二阶段,解码。 大模型是按顺序自回归的:想算第十个词,必须先把前九个词都看一遍。 这时候每一次循环,只算一个新词。 矩阵计算量小得可怜,几万个计算核心大部分时间都在无所事事地空转。 但显卡必须干一件极耗时间的苦力活:为了算出这一个新词,它必须把之前所有词的数据,从显存里完完整整搬运一遍。 算力根本没用完,显存带宽先被撞瘫了。 第一阶段在拼命吃算力,第二阶段在疯狂吃带宽。 如果每生成一个新词,都要把前面所有词的注意力从头重算一遍,计算量会跟着长度呈平方级爆炸。 怎么避免这种自杀式计算? 工程师把前面算过的键值数据直接存下来,这就是 KV 缓存。 下一次循环只算新词,前面全部从缓存里读。 可是新的麻烦立刻就来了。 三万美元一张的旗舰 GPU,显存就那么几十个 G 到一百多 G。 每一个用户的每一轮对话,都在疯狂吞噬这些昂贵的高带宽显存。 早期的引擎设计非常笨拙:每个请求一进来,就先给它预留最大长度的显存空间。 哪怕你只问了两个字,剩下的显存也必须给这单留着。 显存利用率低得离谱,大半空间都是被占着位置的空白碎片,后面的用户只能在外面干等。 后来怎么解决的? 工程师把操作系统管理虚拟内存的那套机制搬了过来,这就是分页注意力。 显存不再提前整块霸占,切成固定大小的小块,按需申请,动态拼接。 同样的显存空间,能并发接客的请求数量直接翻倍,甚至翻上几倍。 显存挤出空间了,下一个问题是:怎么别让显卡闲着? 以前的静态批处理,就像凑一车人发车。 四个人的请求一起跑,有人十个词就答完了,有人要答一千个词。 早答完的人只能干坐着等,空出来的显存和算力全在陪跑烧钱。 现在的引擎换成了连续批处理。 调度器不再等一整批任务结束,它在每一次循环之后重新排班。 任何一个用户的回答刚冒出结束标记,下一毫秒立刻出队。 等在排队列表里的新用户,当场插进这个刚空出来的卡槽。 没有一张显卡被允许停下来休息。 要是半路突然杀进来一个几千词的超长提示词怎么办? 一次性吃下去,其他正在吐字的用户就会被活活卡死。 调度器就搞分块预填充,把长输入切成两千词一段的小碎片,分批塞进显卡,一边切片一边匀速给别人吐字。 真正把这套精巧系统推向崩溃边缘的,是智能体循环。 人类开始用智能体写代码、跑任务,交互逻辑全变了。 智能体不是在聊天。 它每执行一步工具调用,都要把最初的系统设定、几十个工具接口说明、历史执行记录和新拿到的结果,打包成一个全新的请求重新发进引擎。 在一个一百轮的智能体长任务里,灾难发生了。 第一轮发几百个词,第十轮把前九轮全带上,第五十轮带上前四十九轮。 每次输入都比上一次更长,而吐出来的工具调用往往只有几十个词。 如果没有针对性的优化,每一轮交互,都要把滚雪球一样的历史记录从头到尾重新预填充一遍。 算下来,一百轮任务的总计算量,会膨胀到第一轮的整整 55 倍。 显卡算力直接在无休止的历史复算里被榨干。 前缀缓存拯救了这个死局。 既然每一轮前面那一长串系统提示词和工具定义完全没变,引擎就直接给这些文本块打上哈希标签。 相同的前缀,物理显存块只算一次,全生命周期直接复用。 每一轮交互,显卡只需要预填充最后新蹦出来的那一点点工具结果。 一百轮智能体循环的总计算量,硬生生从 55 倍被砍到了 10 倍。 当智能体在外面执行搜索或者跑代码时,引擎甚至会把它的显存缓存临时倒腾到便宜的 CPU 内存里,等它下次唤醒再搬回来。 很多人在前端看着光标飞速打字,以为自己看到的是智能在自然流淌。 但在那块硅片上,根本没有什么随心所欲的魔法。 分词切片、连续拼车、显存分页、前缀复用。 每一个环环相扣的调度机制,都是工程师在用极为繁复的工序,拼命掩盖神经网络在物理结构上的笨拙。 算力从来不是免费的空气。 屏幕前每一次丝滑流畅的交互,背后都是一层又一层工程调度,在顶着物理极限做生死极限的榨取。

引用 / CITATIONS

No citations exported.

同领域解读 / AI & LLMS

查看全部「AI 与大模型」解读 →

导出 / EXPORT

订阅 · SUBSCRIBE

每周一封独立、不受审查的科技与 AI 深度评论,周一发出。带出处,可核查。

不追踪邮件打开与邮件链接点击,一键退订。 或用 RSS · 详情