BrainBank
AI 课堂/知识Resources

LLM Inference Engineering 快速参考指南

2026/8/29 11:24:10 · 更新于 2026/8/29 11:36:36

#knowledge#quantization#llm-inference#local-llm#apple-silicon#inference-engineering#model-serving#kv-cache#speculative-decoding#runtime

本文系统性地梳理了 LLM 推理工程的核心概念体系,帮助读者快速识别模型、运行时、推理引擎和服务器各层次的术语,并掌握 KV Cache、推测解码、量化等优化技术的原理与实战应用。

它的目标不是教你某一个软件,而是当你以后看到 Ollama、oMLX、MLX、MLX-LM、llama.cpp、vLLM、KV Cache、Prefix Cache、MTP、Speculative Decoding、Serving、Runtime、Engine 等术语时,可以快速判断:

“它是什么?属于哪一层?我现在到底在做什么?下一步应该做什么?”


LLM Inference Engineering

推理工程长期参考指南

适用场景:Apple Silicon / Mac Studio / Qwen / Agentic Coding / Claude Code / Local AI


1. 一分钟版本:先记住这张图

                         AI 应用
                            │
                            ▼
                    Agent / Claude Code
                            │
                            ▼
                    API / Model Router
                            │
                            ▼
              ┌─────────────────────────┐
              │   INFERENCE ENGINEERING │
              │       推理工程          │
              └────────────┬────────────┘
                           │
             ┌─────────────┼─────────────┐
             ▼             ▼             ▼
         Serving       Optimization    Reliability
         模型服务         推理优化         稳定性
             │             │             │
             ▼             ▼             ▼
         oMLX/vLLM     KV Cache        Monitoring
         Ollama        Prefix Cache    Benchmark
         llama.cpp     MTP             24/72h test
             │         Spec Decode
             │         Quantization
             ▼
       Inference Runtime
             │
       ┌─────┴─────┐
       ▼           ▼
    MLX-LM      llama.cpp
       │
       ▼
      MLX
       │
       ▼
 Apple Silicon / GPU
       │
       ▼
     Qwen

一句话:

模型负责“想什么”,Runtime 负责“怎么算”,Inference Engine/Server 负责“怎么高效地服务”,Inference Engineering 负责“把整个系统做到最好”。


2. 四个最容易混淆的概念

以后只要不确定 terminology,先回到这四个概念。

概念

中文

核心问题

Model

模型

AI 要计算什么?

Runtime

推理运行时

怎么把模型跑起来?

Inference Engine / Server

推理引擎/服务

怎么高效地服务请求?

Inference Engineering

推理工程

怎么把整个系统做到最好?


3. Model —— 模型层

例如:

  • Qwen3.8-27B

  • Qwen 35B

  • Llama

  • DeepSeek

  • Mistral

它们是:

模型本身。

模型决定:

  • 参数规模

  • Architecture

  • Reasoning capability

  • Context length

  • Tokenizer

  • Model quality

例如:

Qwen3.8-27B
      │
      ▼
   Model
      │
      ▼
需要 Runtime 执行

4. Compute Framework —— 计算框架

这是比 Runtime 更底层的一层。

典型:

技术

主要硬件

MLX

Apple Silicon

PyTorch

NVIDIA / AMD / CPU / Apple

CUDA

NVIDIA

Metal

Apple

ROCm

AMD

MLX

记住:

MLX = Apple Silicon 机器学习计算框架

不是 Ollama 的替代品。

它更接近:

MLX
 │
 ├── Tensor Operations
 ├── GPU computation
 ├── Memory
 └── Apple Silicon optimization

5. Inference Runtime —— 推理运行时

这是:

真正执行模型计算的运行环境。

它解决:

模型权重
   ↓
加载
   ↓
计算
   ↓
Token
   ↓
生成

典型:

  • llama.cpp

  • MLX-LM

  • ONNX Runtime

  • TensorRT 等


6. Inference Engine —— 推理引擎

推理引擎比单纯 Runtime 更关注:

如何高效运行大量推理请求。

主要解决:

  • Scheduling

  • Batching

  • Continuous Batching

  • KV Cache

  • Prefix Cache

  • Streaming

  • Concurrency

  • Memory management

  • API serving

典型:

  • vLLM

  • SGLang

  • TensorRT-LLM

  • oMLX


7. Inference Server —— 推理服务器

它解决:

“应用怎么访问模型?”

例如:

Claude Code
     │
     │ HTTP API
     ▼
Inference Server
     │
     ▼
Inference Engine
     │
     ▼
Model

典型 API:

POST /v1/chat/completions

或者:

Anthropic Messages API

所以:

Server 是模型向外提供服务的入口。


8. Ollama 到底属于哪里?

记住:

Ollama 是一个“整合型本地 LLM 平台”。

它横跨多个层:

              Ollama
                 │
      ┌──────────┼──────────┐
      ▼          ▼          ▼
 Model Manager  Runtime    Server
      │          │          │
   下载模型    执行推理     API

它最大的优势:

简单。

适合:

  • 本地聊天

  • 快速测试

  • 开发

  • 简单 API

  • 本地模型管理

但是:

Ollama ≠ 完整 Inference Engineering。


9. oMLX 到底属于哪里?

这个非常重要。

oMLX 是针对 Apple Silicon 的 LLM inference server / serving system。

它建立在 MLX/MLX-LM 生态之上。

大致:

Apple Silicon
      │
      ▼
     MLX
      │
      ▼
   MLX-LM
      │
      ▼
    oMLX
      │
 ┌────┼───────────────┐
 ▼    ▼               ▼
API  KV Cache      Scheduling
     Prefix Cache  Batching
     SSD Cache

所以:

MLX 是基础计算框架。

MLX-LM 是 LLM 推理层。

oMLX 是更完整的 LLM inference serving system。

对于:

Mac Studio + Qwen + Claude Code + Agentic Coding

oMLX 特别值得关注。


10. llama.cpp 到底是什么?

最简单的记法:

llama.cpp = 高效、跨平台的 LLM inference runtime,同时提供 server 能力。

所以它会跨两个分类:

llama.cpp
    │
    ├── Inference Runtime
    │
    └── llama-server
            │
            └── API Server

这也是为什么你会看到不同文章把 llama.cpp 称为:

  • Runtime

  • Inference Engine

  • Inference Server

都不完全错。


11. vLLM 是什么?

记住:

vLLM = 高性能 LLM inference engine / serving system。

重点:

  • GPU utilization

  • Continuous batching

  • KV Cache

  • 高并发

  • throughput

  • scheduling

更偏:

服务器 / 数据中心

而不是:

Mac 本地个人使用


12. 最终术语表

以后看到术语,可以直接查这里。

英文

中文

简单解释

Model

模型

Qwen/Llama 等

Model Weights

模型权重

模型参数

Runtime

运行时

执行模型

Backend

后端

底层计算实现

Compute Framework

计算框架

MLX/PyTorch

Inference Engine

推理引擎

高效执行推理

Inference Server

推理服务器

给应用提供 API

Model Serving

模型服务

把模型作为服务提供

API Endpoint

API 接口

应用调用模型的位置

Context

上下文

当前模型看到的信息

Context Window

上下文窗口

模型能处理的最大上下文

KV Cache

KV 缓存

保存 Attention 中间状态

Prefix Cache

前缀缓存

复用重复 Prompt

Quantization

量化

降低模型精度/内存

MTP

多 Token 预测

一次预测多个后续 Token

Speculative Decoding

投机解码

小模型帮助大模型加速

Batching

批处理

一次处理多个请求

Continuous Batching

连续批处理

动态加入/退出请求

Scheduling

调度

决定谁什么时候运行

Routing

路由

决定使用哪个模型

Streaming

流式输出

Token 生成一个个返回

Throughput

吞吐

单位时间生成多少 Token

Latency

延迟

请求需要多久

TTFT

首 Token 时间

First Token 到达时间

TPOT

每 Token 时间

Token 之间的平均时间

Token/s

每秒 Token

推理速度

Concurrency

并发

同时多少请求

Memory Footprint

内存占用

模型消耗多少内存

Cache Hit

缓存命中

成功复用 Cache

Cache Miss

缓存未命中

必须重新计算

Prefill

预填充

处理输入 Prompt

Decode

解码

生成输出 Token

Agentic Inference

Agent 推理

Agent 多轮调用模型

Benchmark

基准测试

测量性能

Reliability

可靠性

长时间稳定运行

Observability

可观测性

日志、指标、Tracing


13. Prefill vs Decode

这是以后做性能优化必须懂的。

             Prompt
               │
               ▼
            PREFILL
               │
               ▼
           KV Cache
               │
               ▼
             DECODE
               │
       ┌───────┼───────┐
       ▼       ▼       ▼
     Token   Token   Token
       1       2       3

Prefill

处理输入:

“模型阅读了多少内容?”

通常影响:

TTFT


Decode

生成输出:

“模型每秒能生成多少 Token?”

通常关注:

tokens/sec / TPOT


14. KV Cache

这是 Inference Engineering 最核心的概念之一。

没有 Cache:

Prompt
 ↓
每次重新计算
 ↓
Generate

有 KV Cache:

Prompt
 ↓
Compute
 ↓
KV Cache
 ↓
下一次请求复用
 ↓
继续 Generate

特别是 Agent:

System Prompt
+
Tool Definitions
+
Project Context
+
Previous Messages

大量内容会重复。

因此 KV Cache 非常重要。


15. Prefix Cache

Prefix Cache 可以简单理解:

如果两个请求开头完全一样,就不要重复计算。

例如:

Request 1:
[System][Tools][Project]
               ↓
              Cache

Request 2:
[System][Tools][Project][New Task]
               ↓
          Reuse Cache

对于:

Claude Code / Coding Agent

尤其有价值。


16. Speculative Decoding

基本思想:

             大模型
             Qwen 35B
                 ▲
                 │ verify
                 │
             小模型
             Qwen 3B/7B
                 │
                 ▼
           猜测多个 Tokens

小模型:

“我猜接下来是 A B C D。”

大模型:

“让我验证。”

如果猜对很多:

大模型可以更快生成。


17. MTP

MTP = Multi-Token Prediction

核心思想:

模型尝试一次预测多个未来 Token。

它和 Speculative Decoding 有相似目标:

提高生成速度。

但实现机制不同。

以后看到:

MTP
Speculative Decoding
Draft Model
Draft Tokens

都应该想到:

Inference Acceleration


18. Quantization

量化:

FP16
 ↓
INT8
 ↓
INT4

目的:

  • 降低内存

  • 提高速度

  • 允许更大的模型

  • 提高本地部署能力

但:

速度、内存、质量之间需要平衡。


19. 最重要的性能指标

以后 benchmark 不要只看:

“多少 tok/s?”

至少看:

指标

意义

TTFT

用户等多久看到第一个 Token

Prefill tok/s

处理 Prompt 多快

Decode tok/s

生成多快

TPOT

Token 之间间隔

Throughput

整体吞吐

Concurrency

并发能力

Memory

内存占用

Cache Hit Rate

Cache 使用效率

Error Rate

API 错误

Crash Rate

崩溃

Uptime

稳定运行时间


20. Agentic Coding 的完整流程

这是你以后最应该参考的 Process Map。

                   Claude Code
                       │
                       ▼
                 User Request
                       │
                       ▼
                 Context Build
                       │
          ┌────────────┴────────────┐
          ▼                         ▼
    System Prompt              Project Files
          │                         │
          └────────────┬────────────┘
                       ▼
                 Prefix Cache
                       │
                       ▼
                    Router
                       │
              ┌────────┴────────┐
              ▼                 ▼
           Qwen 27B          Qwen 35B
              │                 │
              └────────┬────────┘
                       ▼
                 Inference Server
                       │
                       ▼
                    Runtime
                       │
                       ▼
                   Hardware
                       │
                       ▼
                  Token Output
                       │
                       ▼
                   Tool Call
                       │
                       ▼
                 Execute Tool
                       │
                       ▼
                   New Result
                       │
                       ▼
                 Update Context
                       │
                       ▼
                    KV Cache
                       │
                       ▼
                 LLM 再次推理
                       │
                       ▼
                      ...

21. 你的本地 AI Stack 可以这样理解

你现在的核心环境:

                  Mac Studio
                       │
                       ▼
                Apple Silicon
                       │
              ┌────────┴────────┐
              ▼                 ▼
             MLX            llama.cpp
              │
           MLX-LM
              │
              ▼
            oMLX
              │
              ▼
        Qwen3.8-27B
              │
              ▼
        Claude Code
              │
              ▼
        Agentic Coding

同时:

Ollama
  │
  └── 另一条 inference stack

因此你真正要比较的不是:

“Ollama vs MLX”

而应该是:

“不同 Inference Stack 在我的 Agentic Coding workload 下表现如何?”


22. 你的四条测试路线

建议长期保留:

Stack A — Ollama

Claude Code
     ↓
Ollama
     ↓
Ollama Runtime
     ↓
Qwen
     ↓
Apple Silicon

Stack B — oMLX

Claude Code
     ↓
oMLX API
     ↓
oMLX
     ↓
MLX / MLX-LM
     ↓
Qwen
     ↓
Apple Silicon

Stack C — llama.cpp

Claude Code
     ↓
llama-server
     ↓
llama.cpp
     ↓
Qwen / GGUF
     ↓
Apple Silicon

Stack D — MLX-LM

Application
     ↓
MLX-LM
     ↓
MLX
     ↓
Apple Silicon

它更适合:

研究、实验、底层调优

而不是直接作为完整 Agent Server。


23. 出问题的时候,先定位是哪一层

这是以后 troubleshooting 最有用的一张图。

Claude Code
     │
     X ← API failed?
     │
Inference Server
     │
     X ← Scheduling / batching?
     │
Inference Engine
     │
     X ← KV / cache?
     │
Runtime
     │
     X ← MLX / llama.cpp?
     │
Backend
     │
     X ← Metal / GPU?
     │
Hardware

如果 API failed

先查:

Server / API layer

如果 model crashes

查:

Runtime / memory / model compatibility

如果越来越慢

查:

Context / KV Cache / Memory pressure

如果 tok/s 很低

查:

Runtime / backend / quantization / hardware utilization

如果长时间后 crash

查:

Memory / Cache / fragmentation / leak / server reliability


24. Troubleshooting Checklist

当出现:

API Failed

□ Server 是否运行?
□ Port 是否正确?
□ API endpoint 是否正确?
□ OpenAI/Anthropic API format 是否匹配?
□ Streaming 是否正常?
□ Tool calling 是否兼容?

Crash

□ RAM 是否耗尽?
□ Swap 是否暴涨?
□ Context 是否太长?
□ KV Cache 是否太大?
□ Model 是否正确量化?
□ Runtime 是否支持该模型?
□ Server 是否有 crash log?

性能越来越慢

□ Context 是否越来越长?
□ KV Cache 是否增长?
□ Prefix Cache 是否命中?
□ Memory pressure?
□ Swap?
□ Thermal throttling?
□ Batch 是否合理?

25. Inference Engineering 的完整 Process Map

以后你不知道“我到底应该从哪里开始”,就走这张图:

                    ① 定义 Workload
                         │
                         ▼
                ② 选择 Model
                         │
                         ▼
               ③ 选择 Runtime
                         │
                         ▼
             ④ 选择 Inference Engine
                         │
                         ▼
                 ⑤ 建立 API
                         │
                         ▼
                 ⑥ 接入 Agent
                         │
                         ▼
               ⑦ 测量 Baseline
                         │
                         ▼
              ┌──────────┴──────────┐
              ▼                     ▼
         性能太慢                 不稳定
              │                     │
              ▼                     ▼
        Cache / Decode          Memory
        Quantization            Context
        Batching                API
        Scheduling              Runtime
              │                     │
              └──────────┬──────────┘
                         ▼
                  ⑧ 优化
                         │
                         ▼
                  ⑨ Benchmark
                         │
                         ▼
                  ⑩ Stress Test
                         │
                         ▼
                  ⑪ 24/72 Hour
                         │
                         ▼
                  ⑫ Production

26. 以后看到一个新工具,怎么判断它是什么?

问它五个问题:

Q1

它负责执行模型吗?

如果是:

Runtime


Q2

它负责 batching / scheduling / cache / concurrency 吗?

如果是:

Inference Engine


Q3

它提供 API 给应用调用吗?

如果是:

Inference Server


Q4

它负责下载、管理、切换模型吗?

如果是:

Model Manager


Q5

它是不是在优化整个系统?

如果是:

Inference Engineering


27. 最终分类速查表

工具/概念

最准确定位

记忆方式

Qwen

Model

模型

MLX

Compute Framework / Backend

计算基础

MLX-LM

LLM Runtime / Library

MLX 上跑 LLM

llama.cpp

Runtime + Server

高效本地推理

Ollama

Runtime + Model Manager + Server

最方便

oMLX

Apple Silicon Inference Server/Engine

Mac 高性能推理

vLLM

Inference Engine + Server

服务器高吞吐

SGLang

Inference Engine + Server

高性能/Agent

TensorRT-LLM

NVIDIA Inference Engine

NVIDIA 极致优化

KV Cache

Optimization

避免重复计算

Prefix Cache

Optimization

复用 Prompt 前缀

MTP

Acceleration

多 Token 预测

Speculative Decoding

Acceleration

小模型辅助大模型

Quantization

Optimization

降低内存/提高效率

Batching

Serving Optimization

多个请求一起算

Routing

System Design

决定用哪个模型

Scheduling

System Design

决定谁先算

Benchmark

Engineering

测性能

Stress Test

Engineering

测稳定性

Inference Engineering

完整工程体系

全部串起来


28. 最后记住这张“脑图”

                    ┌─────────────┐
                    │    MODEL    │
                    │    Qwen     │
                    └──────┬──────┘
                           │
                           ▼
                  ┌────────────────┐
                  │ Compute        │
                  │ MLX / CUDA     │
                  └───────┬────────┘
                          │
                          ▼
                 ┌──────────────────┐
                 │ Runtime          │
                 │ MLX-LM           │
                 │ llama.cpp        │
                 └────────┬─────────┘
                          │
                          ▼
               ┌─────────────────────┐
               │ Inference Engine    │
               │ oMLX / vLLM / SGLang│
               └──────────┬──────────┘
                          │
                          ▼
                ┌────────────────────┐
                │ Inference Server   │
                │ API / Streaming    │
                └─────────┬──────────┘
                          │
                          ▼
                    Claude Code
                          │
                          ▼
                     AI Agent
                          │
                          ▼
                ┌────────────────────┐
                │ Optimization       │
                │ KV Cache            │
                │ Prefix Cache        │
                │ Quantization        │
                │ MTP                 │
                │ Speculative Decode  │
                │ Batching             │
                └─────────┬──────────┘
                          │
                          ▼
                ┌────────────────────┐
                │ Engineering        │
                │ Benchmark           │
                │ Monitoring          │
                │ Reliability         │
                │ Stress Test         │
                └─────────┬──────────┘
                          │
                          ▼
                ★ INFERENCE ENGINEERING ★

最核心的一句话

Ollama、oMLX、llama.cpp、MLX-LM、vLLM 是“构建推理系统的工具和组件”;KV Cache、Prefix Cache、量化、MTP、Speculative Decoding 是“推理优化技术”;而把 Model、Runtime、Engine、Server、Cache、Scheduling、Hardware、Agent、Benchmark 和 Reliability 全部结合起来,并针对具体 workload 持续优化——这才叫 Inference Engineering(推理工程)。

对于你目前的 Mac Studio + Apple Silicon + Qwen3.8-27B + Claude Code + Agentic Coding,最值得建立的思维方式就是:

不要问“哪个工具最好?”

而要问:

“针对我的 workload,哪一套 inference stack 能在速度、Context、KV Cache、内存、API 稳定性、Agent compatibility 和 72 小时可靠性之间取得最好的平衡?”

这就是从 “会用本地 LLM” 进入 “真正做 Inference Engineering” 的分界线。

学习地图

LLM 推理工程学习路线

阶段一:基础知识层

  • 理解 Model(模型)的概念——Qwen、Llama 等决定 AI "想什么"
  • 掌握核心参数:参数量、架构、上下文长度、Tokenizer、Model Quality
  • 了解 Compute Framework(计算框架)的作用与硬件对应关系

阶段二:Runtime 与 Engine

  • 理解 Inference Runtime——MLX-LM、llama.cpp 等执行模型计算的运行环境
  • 学习 Inference Engine 的概念——vLLM、oMLX 如何高效服务批量推理请求
  • 掌握 Serving/Server API 层的概念(OpenAI 格式接口、流式输出)

阶段三:优化技术层

  • KV Cache 原理与 Prefix Cache 的复用机制
  • Quantization(INT8/INT4 量化对性能的影响)
  • Speculative Decoding(小模型辅助大模型加速生成)
  • MTP(多 Token 预测)与 Continuous Batching
  • Prefill vs Decode 两个阶段的区别

阶段四:性能评估与调优

  • 关键指标体系:TTFT、TPOT、Decode tok/s、Throughput、Cache Hit Rate
  • 监控 Observability——日志、指标、追踪
  • 构建 Benchmark(基准测试)和 Stress Test(压力测试)流程

阶段五:系统设计与稳定性

  • Agent 推理工作流与 Routing / Scheduling 设计
  • 长时间运行稳定性(24/72h stress testing)
  • 分层排错方法论——定位问题在 API、Runtime、引擎还是硬件层

动手实践——分步指南

  1. 安装本地 LLM Runtime 环境 选择一种推理栈并安装(Mac Studio 推荐 MLX/oMLX,通用推荐 llama.cpp)

  2. 下载并加载一个开源模型 使用 Hugging Face 或本地方式获取 Qwen3.8-27B 等模型的权重文件

  3. 启动一个推理 API Server 运行 ollama serve、oMLX 或 llama-server,使其提供 /v1/chat/completions 接口

  4. 编写一个基本的推理调用脚本 通过 OpenAI 兼容 API 格式向本地 Server 发送第一个 prompt,验证输出

  5. 开启 KV Cache 监控 配置 oMLX/llama.cpp 的缓存指标,观察 Cache Hit Rate 和 Prefix Cache 命中情况

  6. 实验不同量化精度对性能的影响 使用 FP16、INT8、INT4 加载同一模型,对比 Token/s、内存占用和输出质量

  7. 开启流式输出(Streaming)模式 修改 API 调用参数 stream=true,观察 TTFT(首 Token 时间)的变化

  8. 设计一个 Agent 推理工作流 模拟 Claude Code 式的多轮交互——包含上下文构建 / Tool Call / KV Cache 复用

  9. 构建性能基准测试 记录不同场景下的 TTFT、Decode tok/s、Throughput 和并发能力

  10. 进行长时间压力测试 以 24-72h 周期运行推理服务,监控内存增长、Cache 碎片化和崩溃率

三大推荐资源

  1. 1
    Hugging Face Transformers 官方文档

    大规模预训练模型推理与微调的基础文档,涵盖核心概念和 API 使用指南。

    https://huggingface.co/docs/transformers

  2. 2
    llama.cpp 项目文档

    本地 LLM 推理的核心运行时工具库,支持跨平台 GPU/CPU 高效加载与推理模型。

    https://github.com/ggerganov/llama.cpp

  3. 3
    MLX 官方开发者指南 (Apple Silicon)

    Apple Silicon 机器学习计算框架的官方文档,涵盖张量操作、GPU 计算和 MLX-LM 推理入门。

    https://ml-explore.github.io/mlx/build/html/overview.html

链接由 AI 推荐——使用前建议快速核实。