{"id":"mb-20260830-ff036c","kind":"deep","title":"大模型每生成一个词，芯片都要把全部模型参数从显存里完整搬运一遍","summary":"大模型每生成一个词，芯片都要把全部模型参数从显存里完整搬运一遍","body":"大模型每生成一个词，芯片都要把全部模型参数从显存里完整搬运一遍。\n一个 700 亿参数的模型，哪怕只输出一个标点符号。\n显存也要完整读出 140GB 的权重数据。\n这 140GB 搬进计算核心，实际发生的算术运算只有一瞬间。\n价值数万美元的顶级 GPU，大半时间都在原地干等数据搬运。\n算术强度太低，芯片大部分算力都在原地放空。\n解决这个问题最直接的办法，是批处理。\n把几十个用户的提问打包成一个批次。\n同样读一遍 140GB 的权重，一口气算出几十个用户各自的新词。\n显存搬运的时间几乎没变，吞吐量却瞬间拉高了几十倍。\n但传统的打包方式，很快撞上了一堵硬墙。\n每个用户的提问长度和回答长度完全不同。\n有人问一个是非题，模型生成 10 个词就结束了。\n有人让模型写长篇分析，需要生成 1000 个词。\n在传统的静态批处理里，一个批次只要开跑，必须等最慢的请求跑完。\n那个 10 步就结束的席位，在剩下的 990 步里只能填入无效占位符。\n算力席位白白空转，服务器门外却排起长队。\n整个批次的算力利用率，经常在后半程暴跌到两成以下。\n怎么让芯片在每一个时间切片里都跑满？\n2022 年，首尔大学与 FriendliAI 团队在 OSDI 会议上给出了答案。\n他们在一篇名为 Orca 的论文里，提出了这台机器：连续批处理。\n它把调度的最小颗粒度，从整条请求粉碎到了单个词的生成步。\n过去是按整批任务进出。\n现在是每生成一个词，系统就重新做一次调度决策。\n每一个解码步骤结束，系统立即扫描所有席位。\n只要有一条请求输出了结束符，它的席位下一毫秒就会被释放。\n排队队列里的新请求，立刻顶进这个空出来的矩阵行。\n为什么在飞行途中随意换人，在数学上完全合法？\n关键在于 Transformer 解码阶段的矩阵行独立性。\n所有请求共享同一份静态模型权重。\n但在注意力计算中，每个请求只读取属于自己的键值缓存。\n矩阵里的每一行，在计算时彼此完全隔离，互不干涉。\n第一行在算第 500 个词，第二行刚进来算第 1 个词。\n它们并排坐在同一个矩阵里，计算过程互不影响。\n这种隔离性，让动态插队和腾退变得极其顺畅。\n2023 年，伯克利团队在 SOSP 上推出 vLLM。\n配合分页机制解决显存碎片，这套调度彻底成了全行业的标配底座。\n大模型推理成本的大幅下降，不单靠芯片制程的升级。\n把传统调度下浪费的算力缝隙填满，一样能让吞吐效率实现几十倍跃迁。","topic":"大模型每生成一个词，芯片都要把全部模型参数从显存里完整搬运一遍","frame_type":["连续批处理与迭代级调度（Continuous B","机制"],"citations":[],"channel_note":"","identity_notice":"","source_type":"generated","status":"published","generated_at":"2026-08-30 21:55:02","legal_anchor_count":0,"transcript_citation_count":0}