LESSON 6.4 · 工程 · 130 分钟

llama.cpp:本地推理的工程解剖

llama.cpp:本地推理的工程解剖:理解GGUF、mmap、CPU/GPU offload、sampling,完成“在 Mac 上部署并 benchmark”。属于「让模型快而可靠地说话」学习阶段。

学完你应该能够

  1. 能不用术语堆砌,解释「llama.cpp:本地推理的工程解剖」解决了什么问题。
  2. 能围绕 GGUF、mmap、CPU/GPU offload 画出变量与因果关系。
  3. 能完成「在 Mac 上部署并 benchmark」,并用证据而不是感觉判断结果。

核心概念

GGUF

GGUF用更少比特近似权重或激活。速度收益取决于硬件 kernel,质量损失取决于离群值、分组与校准;文件变小不等于端到端一定更快。

mmap

mmap需要在固定质量与负载下比较延迟、吞吐、显存和成本,单独的速度数字没有决策意义。 把它放进前后依赖中:输入从哪里来,输出会改变谁。

CPU/GPU offload

CPU/GPU offload需要在固定质量与负载下比较延迟、吞吐、显存和成本,单独的速度数字没有决策意义。 写出至少一个不变量、shape 约束或成立条件。

sampling

sampling需要在固定质量与负载下比较延迟、吞吐、显存和成本,单独的速度数字没有决策意义。 用反例说明忽略它时系统会怎样失败。

实践任务

在 Mac 上部署并 benchmark

  • 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
  • 构建:定义约束与成功指标,只保留回答核心问题所需的最小组件。
  • 验证:使用固定质量约束下测 p50/p95 延迟、吞吐、显存和成本;保存参数、随机种子与原始结果。
  • 迁移:改变并发、序列长度或硬件后重新选择缓存与批处理策略,说明原结论是否仍成立。

进入完整互动课程