# Meridian：为推理模型设计的 vLLM 阶段感知调度器

> Meridian 通过区分推理模型的"思考阶段"和"输出阶段"，实现更高效的 LLM 服务调度，显著提升输出阶段的响应速度。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-21T04:43:12.000Z
- 最近活动: 2026-05-21T04:55:49.574Z
- 热度: 150.8
- 关键词: vLLM, 推理模型, LLM调度, KV缓存, DeepSeek-R1, Qwen3, 熵优化, CUDA
- 页面链接: https://www.zingnex.cn/forum/thread/meridian-vllm
- Canonical: https://www.zingnex.cn/forum/thread/meridian-vllm
- Markdown 来源: ingested_event

---

# Meridian：为推理模型设计的 vLLM 阶段感知调度器\n\n## 背景：推理模型的独特挑战\n\n随着 DeepSeek-R1、Qwen3、o3 等推理模型的普及，大语言模型的工作方式发生了根本性变化。这些模型在生成最终答案之前，会先输出一段内部推理过程（thinking tokens），形成明显的两阶段结构：\n\n```\n[用户输入] → [思考阶段...N个推理token...] → [输出阶段]\n```\n\n这两个阶段有着截然不同的特性：\n\n| 阶段 | 用户可见性 | 延迟容忍度 | 成本特征 |\n|------|-----------|-----------|---------|\n| 思考阶段 | 否 | 高 | 吞吐量导向 |\n| 输出阶段 | 是 | 零容忍 | 延迟导向 |\n\n传统的连续批处理调度器将两个阶段同等对待，使用相同的优先级队列和延迟目标。这导致输出阶段的延迟被思考阶段的批处理动态所拖累——即使输出阶段对延迟极为敏感，也必须等待思考阶段的批次完成。\n\n## Meridian 的核心设计\n\nMeridian 是一个针对 vLLM 的调度层，它在运行时拦截 vLLM 调度器（无需 fork），为两个阶段应用不同的服务等级目标（SLO）、驱逐策略和基于熵的预算控制。\n\n### 双队列调度机制\n\nMeridian 的核心创新是将请求分为两个独立的调度队列：\n\n- **输出阶段队列**：严格遵循 TTOT（Time-To-First-Token）目标，具有最高优先级\n- **思考阶段队列**：采用更宽松的 TPOT（Time-Per-Output-Token）目标，允许更大的批处理预算（2.5倍）\n\n当 GPU 有空闲容量时，输出阶段的请求会优先填充批次，思考阶段的请求仅使用剩余容量。这种设计充分利用了两个阶段的不对称性。\n\n### 阶段感知的 KV 缓存驱逐\n\nMeridian 实现了三层 KV 缓存驱逐策略：\n\n1. **ThinkComplete**：已完成思考阶段的缓存，首先被驱逐\n2. **ThinkActive**：正在进行思考阶段的缓存，其次被驱逐\n3. **OutputCritical**：正在进行输出阶段的缓存，除非发出警报，否则永不驱逐\n\n这种严格的优先级排序确保了输出阶段的用户体验不受思考阶段缓存压力的影响。\n\n### 基于熵的智能预算控制\n\nMeridian 集成了两种前沿的熵信号：\n\n- **EAT（Entropy-Aware Thinking）**：来自 arXiv:2509.26522，用于检测模型何时趋于收敛\n- **RPDI（Relative Perplexity Drop Indicator）**：来自 arXiv:2603.14251，用于判断推理是否充分\n\n这些信号在模型显示收敛迹象时注入，而非依赖静态计时器，实现更智能的思考终止决策。\n\n## 技术实现亮点\n\n### 零侵入式 vLLM 插件\n\nMeridian 通过属性委托包装现有调度器，实现完全可逆的集成，无需修改 vLLM 源代码。这种设计使得：\n\n- 现有 vLLM 用户可以无痛试用\n- 出现问题时可以快速回滚\n- 不需要维护 vLLM 的 fork\n\n### 分离式 KV 传输支持\n\n通过 `offload_block` 和 `ingest_block` 钩子，Meridian 支持预填充-解码分离架构（兼容 NIXL、Mooncake 等传输框架），为大规模部署提供灵活性。\n\n### CUDA 内核优化\n\n熵计算和 EAT 内核在独立的二级 CUDA 流上运行，避免干扰主推理流。项目使用 Rust 编写核心调度逻辑，通过 PyO3 提供 Python 绑定，兼顾性能与易用性。\n\n## 使用场景与价值\n\nMeridian 特别适合以下场景：\n\n1. **高并发推理服务**：当同时服务数百个推理模型请求时，输出阶段的延迟隔离至关重要\n2. **交互式应用**：聊天机器人和实时应用需要快速的首次响应\n3. **成本优化**：通过更激进的思考阶段批处理，在不影响用户体验的前提下提高吞吐量\n\n## 局限与定位\n\nMeridian 明确声明其非目标：\n\n- 不是吞吐量优化器（throughput optimizer）\n- 不是精度保证器（accuracy guarantor）\n- 不是完整的推理引擎（full serving engine）\n\n它是一个专注于调度层面的优化工具，与 vLLM 形成互补关系。\n\n## 结语\n\nMeridian 代表了 LLM 服务架构演进的一个重要方向：从"一视同仁"的批处理，转向"因阶段而异"的精细化调度。随着推理模型成为主流，这种针对其独特工作模式的优化将变得越来越重要。\n\n对于运行大规模推理模型服务的团队，Meridian 提供了一个值得评估的新选择。
