大模型完整运行链路通俗拆解(从输入到输出全流程)

目录

[一、上层业务完整运行链路(调用 API / 本地部署流程)](#一、上层业务完整运行链路(调用 API / 本地部署流程))

[1. 用户请求接入层](#1. 用户请求接入层)

[2. 请求分发与调度](#2. 请求分发与调度)

[3. 上下文组装](#3. 上下文组装)

[4. 前端预处理](#4. 前端预处理)

[5. Tokenizer 分词(文本→数字 ID,模型唯一能看懂的语言)](#5. Tokenizer 分词(文本→数字 ID,模型唯一能看懂的语言))

[6. 模型推理核心阶段(最耗算力)](#6. 模型推理核心阶段(最耗算力))

[(1)Prefill 预填充:一次性处理全部输入上下文](#(1)Prefill 预填充:一次性处理全部输入上下文)

[(2)Decode 解码生成:逐 token 串行输出](#(2)Decode 解码生成:逐 token 串行输出)

[7. 后处理:数字 ID 转回人类文字](#7. 后处理:数字 ID 转回人类文字)

[8. 结果返回与后置流程](#8. 结果返回与后置流程)

[二、底层 Transformer 内部计算链路(单 token 微观逻辑)](#二、底层 Transformer 内部计算链路(单 token 微观逻辑))

三、关键核心概念串联理解链路

四、极简版链路记忆口诀

五、为什么要懂完整运行链路?


一句话总览:用户输入→预处理→Tokenizer 分词→模型推理(Transformer 核心计算)→解码生成→后处理输出 ,配套调度、显存、上下文缓存、硬件调度整套工程链路。 分两大层:业务应用链路(使用者视角) + 底层模型计算链路(算法 / 工程视角)

一、上层业务完整运行链路(调用 API / 本地部署流程)

1. 用户请求接入层

用户发消息(网页、客户端、API 接口),携带信息:

  • 文本 prompt、图片(多模态)、系统提示词 system prompt、历史对话上下文、参数(温度 top_p、最大生成长度、流式开关)
  • 网关校验:鉴权、限流、计费、格式校验、恶意内容过滤

2. 请求分发与调度

多机器 / 多卡集群场景: 负载均衡将请求分配到空闲 GPU 节点; 本地单卡则跳过,直接送入模型推理服务(vLLM/TensorRT-LLM/Transformers)。

3. 上下文组装

服务拼接三段文本: 系统提示词 + 历史对话轮次 + 用户当前提问 长对话会触发上下文截断:超出窗口长度时,丢弃最早历史,保证总 token 不超限。

4. 前端预处理

清洗输入文本:去空格、特殊符号过滤、多模态切分(图文分离)、格式统一。

5. Tokenizer 分词(文本→数字 ID,模型唯一能看懂的语言)

这是文本和模型之间的翻译器,核心步骤:

  1. 文本切分子词(不是简单汉字 / 单词,如 "人工智能" 拆成 2~3 个子词)
  2. 映射为词表内唯一整数 token_id
  3. 补充特殊标记:
    • <bos>:开始符、<eos>:结束符、<pad>:填充符
  4. 生成 input_ids、attention_mask(掩码,区分有效文字和填充空白)

示例: 文字:你好 → 分词子词 → 123,456 数字序列,送入 GPU 张量。

6. 模型推理核心阶段(最耗算力)

分为Prefill 预填充阶段 + Decode 逐一生成阶段,是整条链路性能瓶颈

(1)Prefill 预填充:一次性处理全部输入上下文

把用户所有输入 token 并行计算,一次性算出所有 token 的 Key/Value 缓存(KV Cache) 作用:保存上下文记忆,后续生成新字不用重复计算历史,大幅提速。 输入越长,Prefill 耗时越高。

(2)Decode 解码生成:逐 token 串行输出

大模型是自回归生成,一次只能输出 1 个 token:

  1. 基于 Prefill 得到的 KV 缓存,计算下一个 token 概率分布
  2. 根据采样参数(temperature、top-k、top-p)筛选概率最高的词
  3. 输出 1 个 token,把这个 token 的 K、V 追加进 KV 缓存
  4. 循环重复,直到输出<eos>结束符 / 达到最大长度限制

流式输出:每算出 1 个 token 立刻返回前端;非流式:全部生成完一次性返回。

7. 后处理:数字 ID 转回人类文字

  1. Detokenizer:把输出 token 数字 ID 反向还原成子词、拼接成完整中文 / 英文
  2. 清洗:剔除特殊标记、多余换行、无效乱码
  3. 多模态还原:如果是图文模型,还原图片嵌入内容

8. 结果返回与后置流程

  • 返回文本给用户;
  • 日志落盘:记录输入输出、token 消耗、推理耗时;
  • 安全二次审核:输出内容风控过滤;
  • 计费统计:统计输入 token、输出 token 数量扣费。

二、底层 Transformer 内部计算链路(单 token 微观逻辑)

输入张量 input_ids → 嵌入层 Embedding → 多层 Transformer Encoder/Decoder → 输出层

  1. Embedding 嵌入层 数字 token_id 映射为高维向量(如 4096 维),文字转化为可计算浮点矩阵。
  2. 位置编码 Positional Encoding 给向量加入位置信息,让模型区分 "我打他" 和 "他打我" 语序差异。
  3. 多层 Transformer Block(模型核心骨架,几十至上百层) 每层固定两步: ① 多头自注意力 Multi-Head Attention 利用 KV Cache,让每个 token 和上下文所有 token 做关联计算,理解语义逻辑、指代、上下文关系; ② 前馈神经网络 FFN 非线性变换,挖掘深层语义、知识推理。 每层前后搭配层归一化 LN、残差连接,保证深层网络可训练。
  4. 输出层 LM Head 将最后一层隐藏向量映射回词表维度,输出每个候选 token 的概率。
  5. 采样策略 贪心采样、TopP、TopK、随机温度采样,控制回答创造力、随机性。

三、关键核心概念串联理解链路

  1. KV Cache 缓存(性能核心) Prefill 阶段缓存全部历史 token 的 K/V 向量,Decode 阶段只计算新增 token,避免重复计算上下文; 没有 KV Cache,长对话推理速度会暴跌几十倍。

  2. 上下文窗口 Context Window 模型能一次性读取的最大总 token 数,链路中组装对话、截断历史都受窗口限制。

  3. Prefill / Decode 资源差异

  • Prefill:并行计算,占用高算力,适合批量请求;
  • Decode:串行逐字生成,显存占用持续上涨,并发上限由 Decode 瓶颈决定。
  1. 多模态模型扩展链路(图文大模型) 图片单独经过视觉编码器 ViT,转为图像向量,和文本 Embedding 拼接后统一送入 Transformer,其余推理链路和纯文本一致。

四、极简版链路记忆口诀

用户提问 → 拼对话上下文 → 清洗文本 → Tokenizer 转数字张量 → Prefill 批量算上下文 KV 缓存 → 循环 Decode 逐字预测 token → ID 转回文字 → 风控 + 日志返回用户

五、为什么要懂完整运行链路?

  1. 调优体验:对话卡顿、长上下文丢失、输出乱码,都能定位是 Tokenizer / 截断 / KV 缓存问题;
  2. 性能优化:吞吐低、显存溢出,区分 Prefill 和 Decode 瓶颈做优化(vLLM 分页缓存、量化);
  3. 故障排查:输出幻觉、重复文字、截断丢失历史,对应链路不同环节;
  4. 工程部署:区分 API 服务、本地推理、多卡分布式调度的差异。
相关推荐
BullSmall10 小时前
大模型测试通用工具完整清单
大模型测试
twc8294 个月前
Query 改写 大模型测试的数据倍增器
开发语言·人工智能·python·rag·大模型测试
twc8294 个月前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
多则惑少则明7 个月前
AI测试、大模型测试(九)spring集成大模型(AI4J)
人工智能·ai测试·大模型测试
多则惑少则明7 个月前
AI测试、大模型测试(五)AI测试工具有哪些
人工智能·测试工具·ai测试·大模型测试
多则惑少则明7 个月前
AI测试、大模型测试(四)AI测试分类&AI测试岗位分工
人工智能·ai测试·大模型测试·算法测试
多则惑少则明7 个月前
AI测试、大模型测试(一)
人工智能·ai测试·大模型测试