服务、网关与算力
服务为何困难,理论部分 第 31 章 与 第 32 章 已经讲过;落到实践里,它是一条由三个决定组成的请求路径。自托管端点只在负载值得时才划算,网关(gateway) 要放在前面管住密钥与成本,整套东西还必须落到能够承担的算力之上。这条路径自上而下穿过三个层:与之对话的网关、解码 token 的服务引擎,以及下方的 GPU。
下文的一切都是带日期的快照。工具排名、版本号与价格每个季度都在变。基准测试的差值来自第三方博客且与具体负载相关,因此请当作方向性参考而非事实,并在落地前重新核实当前值。这里真正持久的内容是分类、权衡与接线方式,而非任何单一数字。
自托管栈的三层
一个自托管推断栈是三层,外加一条贯穿其中的统一接口。图 82.2 展示了请求路径。
接口是整套设计的关键。到 2026 年,几乎每个引擎和网关都讲 OpenAI 的 HTTP 形态(/v1/chat/completions、/v1/completions、/v1/embeddings)。正是这一单一约定,让自托管模型可以换成托管模型、多个引擎前可以统一架一个网关,也让评测工具链(第 87 章)指向与生产相同的 URL。如今在它旁边又浮现出第二种形态:OpenAI 自己的主接口已换成有状态的 Responses API,vLLM 也在经典端点之外提供了 /v1/responses;但 Chat Completions 仍是各引擎与网关互操作的最小公分母。围绕它来构建,并让每一层都保持可替换。
第 1 层:服务引擎
服务引擎把一组权重变成一项服务:它把模型加载到加速器上,对请求做批处理,运行前向传播,管理键值缓存,并把 token 流式返回。大部分可控成本与大部分用户可感知延迟都在这里。同一组权重在两个引擎下、或在同一引擎的两套配置下,每秒 token 数与尾延迟可以相差一个数量级。
两个阶段驱动了每一个设计决策(第 31 章)。Prefill 并行处理整个提示词,是计算受限的。Decode 每次只产出一个 token,每一步都要重读缓存,是内存带宽受限的。关键特性都在回应二者之间的取舍,其中多数会在 第 32 章 与 第 33 章 中展开,这里先给出简版。连续批处理(continuous batching)每步加入与退出请求,是 2026 年的入门标配。PagedAttention 把缓存存为非连续的页,避免内存碎片。前缀缓存 / KV 复用把共享的前导前缀只算一次,是智能体与 RAG 的主导收益,并被 SGLang 的 RadixAttention 推广为基数树(一棵以 token 前缀为键的字典树)。量化(第 34 章)把权重压到更少的比特:FP8、FP4、经由 AWQ/GPTQ 的 INT4、GGUF K-quants。投机解码(第 33 章)先草拟廉价的 token,再用一遍验证它们。结构化输出是经 XGrammar 的语法约束解码,好让工具调用与抽取出的数据能被解析。prefill/decode 解耦把两个阶段放到各自独立的 worker 池上,是 2026 年数据中心的招牌模式。
玩家
下表是 2026 年年中的快照。许可证与「最适合」较为持久;基准注记来自第三方且与负载相关。
| 引擎 | 是什么 | 许可证 / 硬件 | 最适合 |
|---|---|---|---|
| vLLM | 常见的开源默认。PagedAttention 的发源地,模型与特性覆盖最广,「V1」内核重构以降低开销。 | Apache-2.0,GPU | 通用 GPU 服务;稳妥默认 |
| SGLang | 基于 RadixAttention(基数树前缀复用)的高性能引擎,外加用于结构化 LLM 程序的前端。 | Apache-2.0,GPU | 前缀密集流量(智能体、RAG、多轮)、大型 MoE |
| TensorRT-LLM | NVIDIA 的优化引擎;编译核加上现为默认的 PyTorch 后端,可免构建步骤加载 HF 权重。 | Apache-2.0,仅 NVIDIA | 在 Hopper/Blackwell 上压榨吞吐/延迟,FP8/FP4 |
| LMDeploy | InternLM/OpenMMLab 引擎,带 C++ TurboMind 后端与激进的内建 w4a16 量化(权重 4 比特、激活 16 比特)。 | Apache-2.0,GPU | 低 TTFT(首词元延迟,time to first token)量化服务,INT4 70B 级 |
| llama.cpp | 面向 GGUF 量化模型的可移植 C/C++ 引擎。可跑在 CPU、CUDA、ROCm、Vulkan、Metal 上。 | MIT,可移植 | 本地 / 边缘 / CPU / 混合厂商;最大可移植性 |
| Ollama | 对开发者友好的封装(registry + CLI + OpenAI API),基于 llama.cpp;在 Apple Silicon 上转向 MLX 后端(预览)。 | MIT,可移植 | 本地开发、笔记本、最快上 localhost |
| MLX / mlx-lm | Apple 面向 Apple Silicon 的框架(统一内存、零拷贝)。 | MIT,仅 Apple | Mac 上最快的单流 |
| NVIDIA Dynamo | 不是引擎:是引擎之上的数据中心编排器。解耦、KV 感知路由、NIXL 传输、内存分层。 | Apache-2.0,NVIDIA | 多节点、按 SLO 驱动的大规模机群 |
| llm-d | Kubernetes 原生的分布式栈:vLLM worker + KV 感知路由 + 解耦 + Inference Gateway。 | Apache-2.0(CNCF Sandbox) | K8s 原生机群,不必全栈绑定 NVIDIA |
| Hugging Face TGI | 曾是领先的服务器。2026 年 3 月归档,维护模式;HF 现引导用户转向 vLLM/SGLang/llama.cpp/MLX。 | Apache-2.0,已归档 | 仅遗留场景;不要从这里起步 |
截至 2026 年年中,第三方基准报告 SGLang 在某些 H100 单模型测试上领先 vLLM(有一处引用约 29%),在前缀密集形态上收益更大,到 70B 规模差距收窄;LMDeploy 在吞吐上接近 SGLang,INT4 70B 的 TTFT 同级最佳;MLX 在某些 Apple Silicon 模型上比 llama.cpp 快 30 到 50%。这些来自厂商与博客基准,随模型、GPU、批形状与调优而变,且很快过时。在把任何一个当作决定因素之前,先在自己的负载上验证。
如何选引擎
这个决策主要是三个变量的函数:在哪里运行、流量长什么样,以及能投入多少性能工程。
- 选 vLLM,当想要 GPU 上一个稳妥、广受支持的默认、眼下就需要广泛的模型与特性、并且看重生态成熟度甚于最后那 20% 的性能时。对多数团队,这是更稳妥的起点。
- 选 SGLang,当流量前缀密集(智能体、RAG、多轮)或要服务大型 MoE 模型、并且想在这些形态上拿到顶级吞吐时。先在自己的流量上验证收益。
- 选 TensorRT-LLM,当全栈 NVIDIA、延迟与吞吐是一等成本、并且能在工具链上投入时(默认 PyTorch 后端相比旧构建流程降低了这一成本)。
- 选 LMDeploy,当量化的 w4a16 服务与 NVIDIA 机群上的低 TTFT 最为关键。
- 选 llama.cpp,当需要可移植性(CPU、经 Vulkan/ROCm 的 AMD、Metal)、边缘或本地部署与 GGUF 量化、且不需要数据中心级并发时。
- 选 Ollama 或 MLX,当目标是一台笔记本或少数内部用户;在 Apple Silicon 上专门选 MLX 拿最快单流。
- 上 Dynamo 或 llm-d,当已超出单节点、需要跨机群的 KV 感知路由、解耦与按 SLO 驱动的自动伸缩时。
- 2026 年不要从 TGI 起步;它已归档且仅维护。
稳妥默认(2026 年年中): vLLM 架在 OpenAI 兼容端点之后,开启前缀缓存,配上合适的量化(Hopper/Blackwell 上用 FP8,或用 AWQ/GPTQ INT4 把更大的模型塞进更小的卡),并为任何工具调用或抽取路径配上 XGrammar 支持的结构化输出。它覆盖面最广,迁移风险也最低。对本地与开发,默认就转向 Linux/Windows 上的 Ollama 或 llama.cpp 以及 Mac 上的 MLX。它们是单节点、低并发的工具;不要把它们推进高流量路径。
一个最小的单节点 vLLM 启动:
vllm serve <model-id> \
--enable-prefix-caching \
--quantization fp8 \
--guided-decoding-backend xgrammar
# 在 :8000 暴露一个 OpenAI 兼容服务器
标志名与结构化输出参数在 vLLM 各版本间会漂移;请查阅所用版本的文档。
第 2 层:网关
模型网关是一个控制平面,夹在应用代码和它要对话的众多模型供应商之间。往最简单里说,它是一个反向代理:讲一套 API,把请求扇出到 OpenAI、Anthropic、Google、Bedrock、Azure、自建的 vLLM,以及像 OpenRouter 这样的聚合器。但生产职责远不止代理转发。五件事不适合散落在应用代码各处,网关正是把它们集中起来的地方:
- 统一 API。 一套请求 schema,于是把
gpt-5换成claude-opus-4或一个自托管变体是改配置,而不是改代码。 - 密钥托管。 供应商密钥留在服务器上。应用与智能体只持有短期的虚拟密钥,受限于模型白名单与预算,从不接触原始供应商凭据。
- 成本追踪。 按密钥、按团队、按标签的花费,归因并可导出。这是团队采用网关被引用最多的单一理由。
- 回退与路由。 重试、供应商故障切换、负载均衡、上下文窗口回退、按成本或延迟感知的模型选择。
- 预算与策略。 硬性花费上限、速率限制、护栏(PII 脱敏、越狱过滤)与审计轨迹。
网关是服务层与其上一切之间的接缝。最新的网关把这一理念从单纯的 LLM 调用推到了智能体原生协议(用于工具的 MCP、用于智能体之间的 A2A),于是网关也成了工具与智能体流量的策略点,这一点直接接上了 第 85 章 的运行框架工作与 第 56 章 的授权模型。
玩家
| 网关 | 是什么 | 托管方式 | 最适合 |
|---|---|---|---|
| LiteLLM | Python SDK + 可自托管代理,把 100+ 供应商翻译为 OpenAI 格式;虚拟密钥、预算、花费日志、UI。 | 自托管(OSS 核心)+ 企业版 | 最广供应商覆盖、Python 栈、有 DevOps;它是 Python 代理,负载下吞吐就是它的上限(第 88 章) |
| OpenRouter | 托管聚合器:一个端点、预付额度、300+ 模型、支持 BYOK。 | 托管 SaaS | 想零搭建访问大目录的独立开发者与小团队 |
| Portkey | 带护栏、虚拟密钥、回退、缓存、提示管理、可观测性的网关。 | OSS 核心 + 托管 | 需要治理的企业:PII 脱敏、审计、合规 |
| agentgateway | 面向 HTTP/gRPC 与 AI 原生协议的 Rust 数据平面:LLM + MCP + A2A 合一。 | 自托管(Apache-2.0,Linux Foundation) | 想用一个代理统管 LLM、工具与智能体流量的平台团队 |
| Envoy AI Gateway | 基于 Envoy + Gateway API 的 Kubernetes 原生网关;token 速率限制、InferencePool。 | 自托管(OSS) | 已在 Envoy/Istio/Gateway API 上的团队 |
| Kong AI Gateway | 把 LLM 路由作为 Kong API 平台的插件;PII 脱敏、语义缓存。 | OSS 核心 + 企业版 | 已在运行 Kong 的组织 |
| Cloudflare AI Gateway | 平台原生网关:可观测性、缓存、速率限制、成本追踪;统一计费。 | 托管 SaaS | 已在 Cloudflare/Workers 上的团队 |
| Helicone | OSS 网关/代理,可观测性优先的日志与分析;Rust 运行时。 | OSS + 托管 | 低开销的日志与分析(常与 LiteLLM 搭配) |
| Bifrost(Maxim AI) | Go 网关:自适应负载均衡、集群模式、护栏;主打极低开销。 | OSS + 商业 | 高吞吐自托管的 LiteLLM 替代 |
| Lux(latere.ai) | 作者自己的网关:一个地址通往 OpenAI/Anthropic/Gemini/OpenRouter/Ollama;封存凭据、虚拟密钥、花费上限、hooks、审计。 | Latere 产品 | Latere 栈;此处作样例,非中立推荐 |
若干厂商发布了夸张的开销数字(Bifrost「比 LiteLLM 快 50 倍」与「约 11µs」;Portkey「<1ms」;LiteLLM「1k RPS 下约 8ms P95」)。这些是条件不一致的厂商基准,未经独立验证。持久的要点是:编译型语言网关(Go/Rust:Bifrost、agentgateway、Helicone、Envoy)通常号称比 Python 的 LiteLLM 代理开销更低,但对多数负载,供应商与模型的延迟以数量级压过网关开销。在把开销当作决定因素之前,先在自己的流量上做基准。第 88 章 里一组受控基准点明了差距真正出现在哪:不是逐请求开销,而是吞吐,Python 代理在几百 RPS 处就饱和,而编译型网关穿过 1000 仍保持平直。
如何选网关
按顺序处理两个轴:托管对自托管,再是纯 LLM 对智能体原生。
- 选 OpenRouter,当身为独立开发者或小团队、想要最大目录、零基础设施、零合同时。
- 选 LiteLLM,当想要一个自托管、广泛兼容的网关、并有 DevOps 去运行时,尤其在 Python 栈、且流量中低、供应商覆盖比吞吐上限更要紧的场景。
- 选 Portkey(或若已在运行 Kong 则选 Kong),当治理、护栏与合规是硬要求而非锦上添花时。
- 选 agentgateway,当路线图偏智能体、需要把 LLM、MCP 与 A2A 流量纳入一个受治理的策略点时。
- 选 Envoy AI Gateway,当平台团队已身处 Envoy/Istio/Gateway API、想让 AI 控制平面留在同一套 CRD 中时。
- 用托管网关(OpenRouter、Cloudflare、Portkey 托管版),当想要零基础设施、并接受密钥与请求元数据经过第三方时。等密钥托管、审计或合规逼到头上,再转向自托管。
稳妥默认(2026 年年中): 自托管一个性能良好的编译型网关,agentgateway(Rust,Apache-2.0,中立)或 Lux(Go,本书的示范案例),搭配一层可观测性做花费与请求分析。它提供带预算的虚拟密钥、花费追踪与回退,跑在自己的环境里,并在智能体负载下保持平直,而 Python 代理在那里会饱和(第 88 章)。LiteLLM 仍是一个合理之选,适合最广的供应商覆盖与中低流量,那里它的生态广度盖过吞吐上限。agentgateway 还把 LLM、工具与智能体流量纳入同一个策略点,这在路线图偏智能体后就要紧了。
披露:作者自己的栈用 Lux 作网关。它在此作为这些模式的样例出现,而非相对上述选项的中立推荐。
一个最小的网关配置,把一个托管模型与一个自托管模型统一到一个名字之后,并加上回退。这里给的是形状,而非某一款产品的 schema:
# Each gateway has its own schema; this shows the shape, not a product's exact keys.
models:
- alias: smart # 应用请求时用的名字
target: anthropic/claude-opus-4
api_key: ${ANTHROPIC_API_KEY}
- alias: smart # 同一别名,负载均衡 / 回退目标
target: openai/gpt-5
api_key: ${OPENAI_API_KEY}
- alias: local
target: vllm/<model-id> # 自建的 vLLM,OpenAI 兼容
base_url: http://vllm-svc:8000/v1
routing:
smart:
strategy: fallback # 若托管目标失败,用下一个
fallback: [local]
retries: 2
# 虚拟密钥、团队预算与花费上限在带外签发,
# 经由管理 API 或仪表板,而非此文件。
随后应用把一个标准 OpenAI 客户端指向该代理,请求模型 "smart"。网关解析别名,做负载均衡或故障切换,把花费记到虚拟密钥上,并发出追踪。上游的 "local" 解析到自建的第 1 层引擎,于是自托管与托管模型在一个名字之后变得可互换:
from openai import OpenAI
client = OpenAI(base_url="https://gateway.internal/v1", api_key="<virtual-key>")
resp = client.chat.completions.create(
model="smart",
messages=[{"role": "user", "content": "..."}],
)
每个网关都有自己的 schema,且在各版本间会漂移;确切的键请查阅其文档。
第 3 层:其下的算力
这套服务最终都会落到一块 GPU 上,需要有人去预置、调度、付费。两个问题居于中心,且大体正交:GPU 从哪里来(自建对租用轴)以及它们如何被调度。硬件本身是 第 62 章;编排基底是 第 65 章;成本算术是 第 76 章。这里我们做选择。
自托管对调用 API
在为 GPU 定容之前,先解决前置问题:到底要不要自托管?多数团队应当从托管 API 起步,仅当某个具体压力逼迫时才自托管。决策规则很直白:
- 调用托管 API(经网关),当流量是突发或低量、当想要前沿模型但不想运维它、当上线速度比每 token 成本更重要、当数据可以离开自己的环境时。对多数应用团队这是正确默认。
- 自托管,当下列至少一条绑定时:持续高利用率使每 token 经济性占主导(硬件被喂满)、数据驻留或合规要求权重与提示留在自己的环境里、需要某个 API 不提供的开放权重模型或微调、或需要 API 给不了的延迟与尾部行为控制。
网关让这件事可逆。因为两条路都讲同一种 OpenAI 形态的接口,可以从托管起步,把自托管路由作为又一个别名加进来,改配置就能迁移流量。为任一路径选模型是 第 81 章;整个栈的接线是 第 88 章。
GPU 从哪里来
一条谱系从无服务器 GPU 平台(推一个函数或一个模型,机器由它们管),经租用的 GPU 云与 neocloud,到超大规模云,再到在 colo 里自有硬件。决定性变量是持续利用率。
| 层级 | 例子 | 计费形态 | 最适合 |
|---|---|---|---|
| 无服务器 GPU / 托管推断 | Modal、Replicate、Baseten、RunPod Serverless、Fireworks、Together | 按秒 / 按 token,可缩容到零 | 突发或低利用率推断,零基础设施可运维 |
| GPU 云 / neocloud | CoreWeave、Lambda、Nebius、Crusoe | 按需 + 预留 GPU 小时 | 稳定、高利用率的训练与服务集群 |
| 市场 / spot | Vast.ai、去中心化 | 按小时,可中断 | 最便宜的容错批处理;绝不用于延迟敏感服务 |
| 超大规模云 | AWS、GCP、Azure | 按需 / 预留;自研芯片 | 已在其上、菜单最广、托管流水线、TPU/Trainium |
| 自有硬件(colo) | 自运维 | 资本支出 + 运维 | 规模化的持续极高利用率,且具备运维能力 |
定价波动且聚合器之间不一致,因此锚定形态而非美元数字。截至 2026 年年中,标价锚把无服务器 H100 定在每小时 3 到 4 美元左右(Modal 约 3.95/hr,RunPod 约 2.89/hr),各层级 H100 按需价大约有 5 倍跨度。落地前请重新核实;这些每季度都在动。
经验法则:低于专用 GPU 持续利用率约 40 到 50% 时,无服务器更便宜,因为空闲时不付钱。高于此,neocloud 或超大规模云上的预留 GPU 小时价同时压过无服务器与按需。仅在持续极高利用率、摊销后的资本支出胜过多年租金时才自有硬件。仅为容错批处理用市场或 spot。当想保持可移植、跨云追逐最便宜可用容量并避免锁定时,在所有这些之上用 SkyPilot。
两个每小时价决定无服务器与预留成本线的交叉点;用本章的标价锚,盈亏平衡点落在所说的 40 到 50% 区间附近。
import numpy as np, matplotlib.pyplot as plt
serverless_rate = 3.95 # 美元/GPU-小时,仅在繁忙时付费(缩容到零)
reserved_rate = 2.00 # 美元/GPU-小时,无论是否空闲都 7x24 计费
hours = 730 # 一个月
u = np.linspace(0, 1, 101)
serverless = u * hours * serverless_rate # 成本随利用率变化
reserved = np.full_like(u, hours * reserved_rate) # 固定成本
breakeven = reserved_rate / serverless_rate # 交叉点利用率
print(f"盈亏平衡利用率: {breakeven*100:.1f}%")
plt.plot(u*100, serverless, label="serverless(按量付费)")
plt.plot(u*100, reserved, label="预留(固定费用)")
plt.axvline(breakeven*100, ls="--", color="gray")
plt.xlabel("持续利用率(%)"); plt.ylabel("月成本(美元)")
plt.legend(); plt.title("GPU 成本:serverless vs 预留"); plt.show()
GPU 如何被调度
一旦掌控了一个资源池,就由一个控制平面决定放置。三个主导者及其分工:
- Slurm,当主导负载是大型多节点训练与批处理:启动、跑数小时、做检查点、退出的作业。gang 调度(一个作业的所有 worker 要么一起调度,要么都不调度)是原生且简单的。代价是没有原生的服务、入口或自动伸缩。
- Kubernetes,当要运行推断服务、混合负载或与 AI 并列的微服务、并想要自动伸缩、入口与服务网格生态时。加 Volcano 或 NVIDIA KAI Scheduler 做 gang 调度,加 Kueue 做多团队配额与准入,加 DRA 做细粒度 GPU/MIG 分配。
- Ray(在 KubeRay 上),当团队是 Python 原生、想在一个框架里同时做分布式训练、RL、数据与服务、跑在 K8s 之上时。
大团队常见的分工是训练用 Slurm、服务用 Kubernetes。2026 年的收敛是 Slurm-on-K8s 项目(SchedMD Slinky、CoreWeave SUNK、Nebius Soperator)在共享的 K8s 基础设施上保留 Slurm 的 gang 语义,缩小这道分工。势头朝着即便训练也统一到 Kubernetes(经由上述插件),因为如今主导 AI 算力开销的是推断而非训练,而服务恰好想要 Kubernetes 提供的那种弹性、缩容到零、延迟感知的调度。
稳妥默认(2026 年年中): 对一个交付 AI 功能、混合突发推断与偶尔微调、没有专职基础设施团队的团队,从无服务器 GPU 或托管推断平台起步(Modal 拿通用无服务器 Python 工效,Baseten 拿带 SLA 的生产服务,Fireworks 或 Together 拿纯开放权重模型的 token 推断)。当利用率攀升、租金溢价开始主导账单时,再升级到用 Slurm 训练、Kubernetes 服务来调度的预留 neocloud 集群。
一个 token 的服务成本,定在这一层,却一路向上回到预训练。第 5 章 把一个更小的模型训练到超过 Chinchilla 最优,正是因为这里定下的 GPU 小时与每 token 经济性,要为模型的整个服务生命周期买单。栈的底部设定了栈顶的一个参数。
接线到一起
三层组合成一条请求路径,见 图 82.3,而正是 OpenAI 兼容接口让每一层都保持可替换。
这套接法之所以能在实践中成立,靠的是三个具体安排。第一,应用从不持有供应商密钥:它们持有网关签发的虚拟密钥,于是轮换凭据或给失控的智能体封顶是服务端操作,无需客户端重新部署。第二,一个 base URL、OpenAI 形态,同样服务应用代码、评测工具链与智能体运行时,于是切换模型或加回退只是改配置。第三,强制结构化输出靠的是引擎,而非提示词:当下游代码解析工具调用或抽取数据时,经 XGrammar 的引导解码才是可靠的那条路。
网关作为策略点
这些层最终通过网关接回本书主线。能力在于它能触达的范围:一套接口让每个模型,无论托管还是自托管,都变得可寻址,于是为每次调用挑最佳模型就成了一条路由规则。效率是引擎与算力层级的协同:连续批处理、前缀缓存与量化抬高每秒 token 数,而自建对租用与利用率的决策为每个 token 设下美元底线。信任仍然落在网关这个策略点上:密钥托管、花费上限、审计、PII 脱敏,以及把工具与智能体流量收进同一道受治理接缝的智能体原生协议,这正是本章交棒给 第 56 章,转入安全与授权的地方。
不稳定的选择,是这套栈到底该拥有多少。托管 API 迭代快,也能省掉很多运维负担,但延迟、密钥托管、价格和模型行为都有一部分在团队边界之外。自托管引擎拿回控制权,并且可能在高用量下胜出,却把调度、升级、利用率和事故响应都变成团队自己的问题。实践答案取决于工作负载:先用网关让两条路都保留,直到实测延迟、成本、合规和可靠性迫使选择收窄。
延伸阅读
- vLLM, “vLLM documentation” (特性、量化、结构化输出), n.d.. docs.vllm.aivLLM 是一个开源大语言模型推理与服务库,通过 PagedAttention 分页注意力、连续批处理、推测解码及 FP8/GPTQ 等量化格式实现高吞吐量推理。
- vLLM, “OpenAI-compatible server: online serving” (在经典 Chat Completions 端点之外列出 /v1/responses), n.d.. docs.vllm.ai
- vLLM, “Disaggregated prefilling,” n.d.. docs.vllm.aivLLM 的分离预填充功能将预填充与解码阶段运行在不同实例中,支持独立调优首词元时间(TTFT)和尾部每词元延迟,但不提升吞吐量。
- SGLang, “SGLang” (RadixAttention), n.d.. github.comSGLang 是一个面向大语言模型和多模态模型的开源高性能推理服务框架。
- NVIDIA, “TensorRT-LLM,” n.d.. developer.nvidia.comTensorRT-LLM 是 NVIDIA 的开源库,用于在 NVIDIA GPU 上对大语言模型(LLM)进行高性能实时推理优化。
- NVIDIA, “TensorRT-LLM documentation,” n.d.. nvidia.github.ioTensorRT-LLM 是 NVIDIA 官方文档,介绍其开源大语言模型推理优化库,支持量化、分页 KV 缓存及自定义算子。
- NVIDIA, “NVIDIA Dynamo” (数据中心级解耦), n.d.. developer.nvidia.comNVIDIA Dynamo 是一个开源、低延迟、模块化的推理框架,面向分布式环境中的生成式 AI 和大语言模型(LLM)服务。
- ai-dynamo, “Dynamo,” n.d.. github.comDynamo 是 NVIDIA 开源的数据中心规模分布式推理服务框架,面向大语言模型(LLM)部署。
- llm-d, “llm-d” (2026 年 3 月加入 CNCF), n.d.. github.comllm-d 是一个 Kubernetes 原生的开源分布式大语言模型推理服务栈,在 vLLM 和 SGLang 之上增加了预填充/解码分离与 KV 缓存感知路由。
- Red Hat, “What is llm-d,” n.d.. redhat.comllm-d 是由 Google、NVIDIA、IBM Research 和 CoreWeave 联合发起的 Kubernetes 原生开源框架,通过 KV 缓存感知路由与预填充/解码分离加速分布式大语言模型推理。
- InternLM, “LMDeploy,” n.d.. github.comLMDeploy 是 InternLM 开源的大语言模型压缩、部署与推理服务工具包。
- ggml-org, “llama.cpp,” n.d.. github.comllama.cpp 是一个开源 C/C++ 库,用于在消费级硬件上本地运行大语言模型推理,无需 GPU 集群。
- Ollama, “Ollama,” n.d.. github.comOllama 是一个开源工具,提供简单的 CLI 和 API,可在本地运行 DeepSeek、Qwen、Gemma 等大语言模型。
- Apple, “Apple MLX / mlx-lm,” n.d.. github.comMLX 是面向 Apple silicon 的机器学习数组框架,专为在苹果设备上高效进行模型训练与推理而设计。
- Hugging Face, “Text Generation Inference” (2026 年 3 月 21 日归档), n.d.. github.comText Generation Inference (TGI) 是 Hugging Face 面向大语言模型(LLM)生产部署的推理服务框架,支持连续批处理与量化加速。
- LiteLLM, “LiteLLM proxy: cost tracking” (成本追踪、负载均衡、回退), n.d.. docs.litellm.aiLiteLLM 的 Spend Tracking 文档页面介绍如何通过其代理按 API 密钥、用户和团队跟踪 100 多个大语言模型(LLM)的费用。
- LiteLLM, “LiteLLM routing and load balancing,” n.d.. docs.litellm.aiLiteLLM 路由与负载均衡文档介绍了针对多模型部署的自适应路由、回退、预算路由和健康检查驱动路由等策略。
- OpenRouter, “What is an LLM gateway,” n.d.. openrouter.aiOpenRouter 博客介绍了大语言模型网关(LLM 网关)的概念:一个在应用与多个大语言模型(LLM)提供商之间提供统一 API、故障转移、成本追踪和可观测性的中间件层。
- Portkey, “AI gateway buyers guide,” n.d.. portkey.ai这是一份 AI 网关产品选型指南,对比了 OpenRouter、LiteLLM、Cloudflare AI Gateway 和 Portkey 在路由、可观测性、治理、防护栏及 MCP 方面的能力,面向生产环境。
- agentgateway, “agentgateway” (LLM + MCP + A2A;Linux Foundation), n.d.. agentgateway.devagentgateway 是一个开源单二进制网关,将 LLM 路由、模型上下文协议(MCP)、A2A 与 HTTP 流量统一处理,并提供逐调用可观测性与策略执行。
- agentgateway, “agentgateway,” n.d.. github.comAgentgateway 是基于模型上下文协议(MCP)和 A2A 协议构建的开源代理,为智能体与大语言模型、工具及智能体间的通信提供安全性、可观测性和治理能力。
- Envoy, “Envoy AI Gateway capabilities” (InferencePool、token 速率限制), n.d.. aigateway.envoyproxy.ioEnvoy AI Gateway 是一个 Kubernetes 原生代理,提供大语言模型流量路由、基于词元的限速、多提供商故障转移以及模型上下文协议(MCP)网关支持。
- Maxim AI, “Bifrost,” n.d.. github.comBifrost 是一个开源企业级 AI 网关,声称比 LiteLLM 快 50 倍,具备自适应负载均衡、护栏机制,支持 1000 余个模型,开销低于 100 µs。
- latere.ai, “Lux,” n.d.. lux.latere.aiLux 是一个单地址模型网关,将请求代理至 OpenAI、Anthropic、Gemini、OpenRouter 或 Ollama,服务端持有密钥并对每次调用进行计量与限额。
- Modal, “Modal pricing” (计费模型、GPU 价), n.d.. modal.comModal 定价页面列出了 B200、H200、H100、A100 等 GPU 的按秒计费单价及套餐方案,用户只为实际使用的算力付费,无需为空闲资源付费。
- RunPod, “RunPod pricing,” n.d.. runpod.ioRunPod 定价页列出了 H100、A100 和 RTX 等 GPU 的按秒计费云租用价格,涵盖按需 Pod、无服务器和集群产品,价格比超大规模云厂商低至多 80
- SkyPilot, “Slurm vs K8s for AI Infra” (SUNK、Soperator、Volcano、Kueue), n.d.. blog.skypilot.coSkyPilot 博客文章对比 Slurm 与 Kubernetes 在 AI 基础设施中的适用性,指出两者均不理想,并倡导以抽象层屏蔽底层编排复杂性。
- SkyPilot, “GPU Compass pricing,” n.d.. blog.skypilot.coGPU Compass 是 SkyPilot 推出的实时仪表盘,追踪 20 余家云服务商、2,000 余项图形处理器(GPU)产品的定价与可用性。
- Ray, “KubeRay” (官方 Ray K8s operator), n.d.. github.comKubeRay 是一个用于在 Kubernetes 上部署和管理 Ray 分布式计算应用的开源工具包。
- Anyscale, “Introducing KubeRay v1.4,” n.d.. anyscale.comKubeRay v1.4 发布了 API server V2、Ray Autoscaler V2 和服务水平指标(SLI)度量,以提升在 Kubernetes 上运行 Ray 集群的可靠性与可观测性。
- CloudOptimo, “Kubernetes AI Infrastructure in 2026” (KAI、DRA、推理占比框架), n.d.. cloudoptimo.comCloudOptimo 博客文章,综述 2026 年 Kubernetes 作为生产 AI 基础设施层的现状,涵盖 GPU 调度、KubeRay 分布式训练、DRA 资源分配、多租户以及大语言模型(LLM)推理服务。
- Spheron, “vLLM vs TensorRT-LLM vs SGLang H100 benchmarks” (2026,方向性), 2026. spheron.networkSpheron 在同一块 H100 GPU 上对 vLLM、TensorRT-LLM 和 SGLang 进行基准测试,报告吞吐量、首词元时间(TTFT)及峰值显存,以指导推理引擎选型。
- Spheron, “GPU cloud pricing comparison 2026,” 2026. spheron.network
- SqueezeBits, “Guided-decoding performance vLLM vs SGLang” (2026,方向性), 2026. blog.squeezebits.comSqueezeBits 对 XGrammar 与 LLGuidance 作为约束解码后端在 vLLM 和 SGLang 上进行基准测试,以确定结构化输出生成的最优配置。
评论
登录后评论