M55:可选探索:量化、Batch、Context 或本地后端
今天任选一个推理旋钮做最小观察,或完全用于补课与恢复;目标是把一个资源假设变成可检查问题,不是搭建服务平台。
内容类型:预习教材(不代表已完成)
日期:2026-10-17
阶段:P1 · AI Model Engineering 90
周次:W8 · 推理、KV Cache、量化与 serving
节奏:周六可选探索 / 补课
状态:教材已备;学习未完成
标签:quantization、batch、context、mlx、llama-cpp、optional
一句话定义
今天任选一个推理旋钮做最小观察,或完全用于补课与恢复;目标是把一个资源假设变成可检查问题,不是搭建服务平台。
学习目标
- 理解量化、batch、context 和后端实验分别控制什么。
- 设计只有一个主变量的小对照。
- 保留质量、资源和设备边界,不追求排行榜结果。
核心知识
量化把高精度权重映射到较低位表示,通常需要 scale,有时还有 zero-point、分组或异常通道处理。权重内存会下降,但 KV cache 可能仍保持 FP16/BF16;模型也可能受后端反量化或不支持的算子限制。
Batch 实验主要观察吞吐与单请求延迟的交换;context 实验主要观察 prefill、cache 与长输入质量;后端实验同时改变内核、格式和调度,变量更多,结论必须更加局部。
同一模型名称可能对应不同权重转换、量化格式和 chat template。比较 MLX/llama.cpp 前应记录精确文件、量化方法与模板,不能只写“都是 7B”。
机制/推导
低位量化可近似写为 w≈s(q−z):浮点权重 w 映射为整数 q,推理时按 scale s 和 zero-point z 还原近似值。量化误差会在层间传播,自回归解码又可能放大很小的 logit 次序变化。
Batch/context 对 KV cache 的影响近似线性,因此将 batch 翻倍并把 context 也翻倍,cache 可能约增四倍;这已不是单变量实验。
最小练习或观察步骤
任选一项,最多 45 分钟:
- 量化:固定 prompt/解码,对比两种可用 precision 或读取已有模型元数据;同时检查关键字段。
- Batch:固定长度和精度,比较 batch 1 与一个小 batch 的吞吐与单请求时间。
- Context:固定输出上限,比较短/长输入的 TTFT 与 cache 估算。
- 后端体验:只让同一小 prompt 跑通,记录格式、设备路径和不兼容点,不做性能排名。
- 资源不足或需要恢复时,选择不运行也完全合格。
常见误区
- 同时换模型文件、量化等级和后端,再归因于量化。
- 只记录总时间,不记录输入/输出 token。
- 本地一次运行更快,就宣称后端普遍更优。
- 周六探索演变成下载多个大型权重。
金融 / Web3 / 文档场景连接
若输出包含金额、哈希或地址,质量对照应逐字符检查关键字段。普通语言看起来相似,不代表低位量化对高风险 token 没有影响。
自检问题
- 权重量化为何不等于 KV cache 同比例缩小?
- batch 与 context 同时翻倍会怎样影响归因?
- 比较两个本地后端至少要记录哪些版本信息?
专业课程对齐
- 精读 PyTorch Tutorials 的 quantization 与 performance tuning 主题,找到 scale、zero-point、粒度、校准与后端 kernel 在代码中的边界。
- 精读 Stanford CS336 的 inference/system performance 课题,用 arithmetic intensity 和内存带宽视角解释 batch/context 的影响。
- 选读 vLLM PagedAttention 的 cache 访存设计,仅用于解释 batch×context 对 KV 占用的乘法效应。
深入学习提示
今日只选一个变量:量化则保持 backend/prompt/decode 不变,batch 实验则保持 context/precision 不变。量化时追踪 w≈s(q-z)、weight dtype、accumulation dtype 和 KV dtype;度量权重文件/峰值内存、TTFT、TPOT、tokens/s 及固定探针质量。batch 时同时报总吞吐与单请求延迟,context 时分开 prefill 与 decode。反例是同时换量化文件、chat template 和后端却归因于位宽,或 batch 与 context 同时翻倍后把约四倍 KV 增长解释为内存泄漏。
学后填写区
- 今日选择(量化 / batch / context / 后端 / 补课 / 休息):
- 唯一主变量:
- 质量观察边界:
- 一条观察或待验证假设:
- 停止位置: