一页速记(认证/面试前 30 分钟)
AI 落地速记单页:显存账 4 项、延迟 3 指标、量化 3 档、RAG 5 步、评估 4 层、成本 1 式。
用法:认证/面试前只过这一页 + 项目三件套自查。“每个数字都要有推导”——“我测过"才是合格回答。
一、显存账 4 项(“最高频计算”)
显存 ≈ 模型权重 + KV Cache + 激活 + 框架开销
| 项 | 估算(示例) |
|---|---|
| 模型权重 | 参数量 × 字节数(7B FP16 ≈ 14GB;INT8 ≈ 7GB;INT4 ≈ 3.5GB) |
| KV Cache | 随并发 × 上下文长度增长(动态大头) |
| 激活 | 前向计算临时占用(较小) |
| 框架开销 | CUDA/框架常驻(1~2GB 量级) |
记忆锚:“权重静态,KV 动态;7B FP16 十四 G,INT4 折成 3.5”。
二、延迟 3 指标(“必背”)
| 指标 | 含义 | 优化方向 |
|---|---|---|
| TTFT(Time To First Token) | 首 token 时延(Prefill 决定) | 短上下文/前缀缓存/强算力 |
| TPOT(Time Per Output Token) | 每 token 时延(Decode 决定) | 大 Batch/显存带宽 |
| E2E(端到端) | 整体时延 | TTFT + TPOT × 长度 |
两阶段:“Prefill 计算密集(一次算完输入),Decode 显存带宽密集(逐 token 生成)”。
三、量化 3 档(“精度/显存/速度三角”)
| 档 | 显存 | 精度 | 适用 |
|---|---|---|---|
| FP16 | 基线(×1) | 基线 | 有显存/求稳 |
| INT8 | ≈×2 省 | 掉点很小 | 均衡 |
| INT4(GPTQ/AWQ) | ≈×4 省 | 掉点要测 | 显存紧/成本敏感 |
铁律:“量化必测掉点”——“建测试集跑一遍,‘掉 2% 业务可接受’才是答案”。
四、优化 3 招(“吞吐 vs 延迟”)
| 招 | 原理 | 效果 |
|---|---|---|
| Continuous Batching | 请求动态进出 Batch(不等齐) | 吞吐 ↑↑ |
| PagedAttention | KV Cache 分页管理(不碎片) | 显存利用率 ↑ |
| 量化 | 降精度省显存/带宽 | 显存 ↓ / 吞吐 ↑ |
五、RAG 5 步(“链路原理”)
① 切分(语义完整/256~512 token/留重叠 10~20%)
↓
② Embedding(向量化)
↓
③ 检索(向量 + BM25 混合)
↓
④ 重排(Reranker 精排 top-k)
↓
⑤ 生成(塞进提示词 + 引用来源)
记忆锚:“切分是 RAG 一半质量;专有名词靠 BM25;重排是最后一道关”。
六、评估 4 层(“生命线”)
① 测试集(50 条业务评测集,分层:核心/边界/对抗)
② 自动评估(相似度/LLM 评审/RAGAS)
③ 人工抽查(10% 样本人看:幻觉/格式/安全)
④ 用户反馈(点赞点踩 + 定期看差评)
铁律:“改提示词/换模型/换切分 → 必跑回归”——“没有测试集的 AI 项目 = 每次改动都在赌博”。
七、成本 1 式 + 数字卡
每千次成本 ≈ 单次平均 token 数 × 单价 × 1000
(全成本 = GPU/token + 维护人力——"老板看总账")
数字卡(“必背”):
- 7B FP16 ≈ 14GB(INT4 ≈ 3.5GB);
- Demo 用 Ollama,生产用 vLLM,端侧用 llama.cpp;
- TTFT 看 Prefill,TPOT 看 Decode;
- RAG = 切分→嵌入→检索→重排→生成(“5 步”);
- 评估 = 测试集→自动→人工→反馈(“4 层”)。