FIELD NOTES / STACK

技术栈与部署选型

从 PyTorch 与推理引擎,到硬件、量化、并行和性能验证。

资料核查 正文:中文

核查日期:2026-11-04。本指南覆盖语言、推理、代码、多模态理解、图像、视频、语音及检索服务。模型见语言与理解目录和媒体目录,收录与证据口径见知识库入口。

选择顺序是:任务与质量要求 → 具体权重 → 可用运行时与硬件 → 量化和并行布局 → 服务负载验证。框架名不是独立的性能结论;在远端速度与并发优先的场景中,应比较达到质量和延迟要求后的有效吞吐。

1. 按服务类型缩小范围

下表是进入评估的顺序,前提是具体检查点、硬件和任务已被对应实现支持。

1. 按服务类型缩小范围
任务优先评估的路线其他候选与条件关键判断
文本、代码、推理与工具调用该模型官方配方中的 vLLM / SGLang有匹配实现的 TensorRT-LLM、LMDeploy 或专用引擎模板、工具协议、思考预算、长短请求混合
图片、视频、文档理解支持该编码器及协议的 vLLM / SGLang / 原厂实现具体后端已适配的 LMDeploy、专用 OCR 流水线图片预处理、视频抽帧、视觉 token 与输出结构
图像、视频、联合音视频生成对应模型的 SGLang Diffusion / vLLM-Omni 配方Diffusers / 原厂代码用于基线与定制,ComfyUI 用于创作工作流任务能力、编解码开销、每小时合格产出
ASR、TTS、实时语音原厂运行时或已适配的专用服务SGLang-Omni / vLLM-Omni 已覆盖完整链路时;Whisper 可对比专用实现首音频、质量、连续播放、实时性与会话数
Embedding / Reranker支持具体结构的 TEI、vLLM pooling 或原厂库有匹配导出路线的 ONNX Runtime / OpenVINO检索质量、长度分布、文档吞吐与输出语义
单机、工作站与容量受限推理llama.cpp / MLX-LM / 模型专用原生引擎KTransformers 等异构方案质量、容量、交互延迟与总成本
多节点、多模型在线服务先验证引擎,再评估 Dynamo / Ray Serve 等服务层有路由、扩缩容或 prefill/decode 资源冲突证据时调度收益与网络、KV 传输及运维成本

这是选择建议,不是逐模型支持表。交叉核对 vLLM 支持清单、SGLang 配方、vLLM-Omni 模型与任务及 TEI 支持表。

2. 技术栈分层:部署方案不等于框架

2. 技术栈分层:部署方案不等于框架
层次职责常见对象
模型与产物网络、权重、tokenizer/processor、任务能力原始模型、量化、蒸馏版、LoRA、视觉编码器
运行时与内核张量、设备、算子、内存与执行PyTorch、CUDA/ROCm、ggml、MLX、优化 attention/MoE 内核
模型与流水线库加载组件并组织生成、识别或编码Transformers、Diffusers、Sentence Transformers、原厂代码
推理引擎执行模型、管理状态、批处理与多卡计算vLLM/SGLang 后端、TensorRT-LLM、llama.cpp、ds4
服务与调度队列、准入、批处理、流式输出与接口vLLM/SGLang 服务、vLLM-Omni、TEI、模型 server
工作流与平台多步骤处理、素材、多个实例或模型的组合ComfyUI、Ray Serve、Dynamo、Triton Inference Server
部署运维环境固定、资源、存储、监控、升级与恢复容器、脚本、必要时的 Kubernetes、网关和对象存储

一个项目可覆盖多层。vLLM 和 SGLang 可称为推理与服务框架;llama.cpp 和 ds4 也有 server;ComfyUI 除界面外还有执行引擎。完整部署方案还必须包含权重、版本、硬件、并行参数、接口、资源预算和验收恢复步骤。

Docker 承载运行环境,并不代替模型引擎。统一 API 入口可以连接不同后端,也不意味着后端具有相同能力或性能。

流程图可横向滚动 · 查看完整图 ↗
2. 技术栈分层:部署方案不等于框架:流程关系图,文字说明见下方
图示文字说明
  • 业务调用方 → 请求入口与路由
  • 请求入口与路由 → 文本与多模态理解服务
  • 请求入口与路由 → 图像与视频任务服务
  • 请求入口与路由 → 语音与实时会话服务
  • 请求入口与路由 → 向量与重排服务
  • 文本与多模态理解服务 → vLLM / SGLang / 对应引擎
  • 图像与视频任务服务 → SGLang Diffusion / vLLM-Omni / 对应流水线
  • 语音与实时会话服务 → 原厂语音运行时 / 适配后的多模态服务
  • 向量与重排服务 → TEI / pooling / 对应编码器
  • vLLM / SGLang / 对应引擎 → 各自分配的计算资源
  • SGLang Diffusion / vLLM-Omni / 对应流水线 → 各自分配的计算资源
  • 原厂语音运行时 / 适配后的多模态服务 → 各自分配的计算资源
  • TEI / pooling / 对应编码器 → 各自分配的计算资源

这是逻辑职责图,不要求一开始部署四组独立平台。规模小时可减少组件,规模增加后按实际资源瓶颈拆分。

3. PyTorch 为什么用于推理?能否不用?

训练完成后仍要执行矩阵乘法、注意力等计算。PyTorch 同时提供训练和推理所需的张量、模型及设备运行机制;关闭梯度不会移除这些需要。

采用 PyTorch 的框架可以调用融合内核、CUDA Graph、专用注意力和量化算子。Python 通常组织执行,不表示每个标量都在 Python 中计算。现代 TensorRT-LLM 也采用 PyTorch 原生架构,因此“TensorRT-LLM 一定不需要 PyTorch”不是准确的通用描述。TensorRT-LLM 架构

3. PyTorch 为什么用于推理?能否不用?
说法应如何理解
服务依赖 PyTorch所选实现需要它,模型在数学上并不限定运行时
官方容器包含依赖通常无需在宿主 Python 再装一份;宿主仍须有匹配驱动和 GPU 容器支持
关闭 torch.compile关闭编译优化,不会关闭 PyTorch 或改成 CPU 推理
使用 Torch SDPA选择注意力执行接口与实现路径,不能由名字推断运行在 CPU
使用 C/C++、ggml 或 MLX使用另一套模型与算子实现,不会自动获得全部模型支持

例如,SGLang Diffusion 的标准 NVIDIA 容器包含扩散依赖,H3 只是其中一个应用。安装说明 原生路线可参考 llama.cpp、MLX-LM及 ds4。应比较完整工作负载,减少 Python 依赖本身不是速度证明。

4. 框架与工具的适用范围

4.1 文本与多模态理解

4.1 文本与多模态理解
项目主要价值应核查的边界
vLLM调度、连续批处理、KV 管理、量化、多卡与 API架构支持不代表所有工具解析、模态、量化和并行组合都支持
SGLang高吞吐服务、前缀缓存、分布式执行与专用优化缓存收益依赖真实前缀和路由;文本与扩散的参数不同
TensorRT-LLMNVIDIA 平台的模型执行、内核和并行优化GPU、后端、版本与功能矩阵;旧式构建流程不适用全部新后端
LMDeploy压缩、推理与服务,含 TurboMind/PyTorch 路线两种后端的模型和量化覆盖不同,需要分开查
Transformers定义、加载、生成、训练与调试生态适合基线和定制;有 serving 入口不等于已满足目标负载
TGI既有文本生成服务栈README 标为维护模式,仓库已于 2026-03-21 归档只读;新部署需评估后续维护来源

无需所有模型共用一个引擎。可以统一对外契约与观测方式,分别选择内部版本和调度。

4.2 图像、视频与全模态生成

4.2 图像、视频与全模态生成
项目主要价值需要避免的混淆
SGLang Diffusion同一 SGLang 仓库和包中的扩散引擎sglang[diffusion] 是额外依赖;语言模型走另一执行路径
vLLM-Omni多模态、非自回归和多阶段生成服务普通 LLM 命令仅替换模型名,不能获得完整音视频服务
SGLang-Omni基于 SGLang 的多阶段语音、Omni 与实时交互运行时独立仓库与安装路径;具体模型的平台、流式和双工能力要按配方核对
Diffusers组件化图像、视频和音频生成需匹配 pipeline、权重布局、scheduler、编码器
ComfyUI节点工作流、素材处理、创作和 API 执行可以用于服务器;工作流跑通不证明多用户吞吐
FastVideo等专用实现特定模型、内核和加速产物Fast/Turbo/少步版可能改变模型、任务与采样条件

“理解视频并返回文本”和“生成视频”不同,“输入音频”也不等于“生成音频”。Omni 名称不能代替输入/输出模态、流式与双工能力的检查。

SGLang Diffusion 侧重扩散生成执行;SGLang-Omni 负责预处理、模型、talker/codec/vocoder 等多阶段服务与会话。两者属于同一项目生态,但不能互换安装项和启动命令。SGLang-Omni 架构与入口

4.3 原生、轻量与异构路线

4.3 原生、轻量与异构路线
项目场景选型依据
llama.cppGGUF、多硬件、量化、CPU/GPU 混合精确模型支持、质量、内存与实际负载
Ollama简化模型获取、管理与调用具体 tag、后端、是否本地执行及并发策略
MLX-LMApple Silicon 语言模型推理与微调结构、转换产物、统一内存与吞吐
ds4 / DwarfStar特定大型模型及自有量化产物专门适配范围、后端和该模型的 benchmark
KTransformersCPU/GPU 异构执行与容量优化内存带宽、NUMA、专家分配、负载下的延迟与成本
ONNX Runtime / OpenVINO GenAI有匹配导出实现的 CPU、Intel 等平台算子、导出精度、动态形状、硬件后端与服务组合

Redis 作者 antirez 的 ds4 现称 DwarfStar,有 CLI、server 和 agent,核心原生实现不依赖 PyTorch。项目刻意适配少数模型,并要求使用其支持的 GGUF 产物,不能作为任意 GGUF 加载器。项目说明

比较时要区分完整模型与 Flash/小型变体、整层多卡放置与 TP、聚合吞吐与每用户速度。某个 DeepSeek 的速度不能代替 GLM 或 Qwen 的结果;有 server 也不证明同负载下胜过其他框架。原生引擎应按目标模型的实测进入选择。

4.4 语音、检索与平台层

4.4 语音、检索与平台层
项目职责
faster-whisper、whisper.cppWhisper 的专用执行路线,不能泛化为全部 ASR/TTS 引擎
原厂语音服务保留声学处理、分块、vocoder、说话人条件与时序契约,入口见媒体目录
TEI向量等受支持任务的专用服务;需查具体结构和硬件
vLLM pooling支持的向量、分类、打分与重排,输出语义不同于聊天
NVIDIA Dynamo分布式服务与路由,协同实际推理后端
Ray Serve组织推理引擎、应用服务、资源和扩缩容
NVIDIA Triton Inference Server多后端服务与执行组织;模型能力取决于后端

NVIDIA Triton Inference Server 与 Triton GPU 编程语言/编译器是不同项目:前者用于服务,后者用于编写和编译算子。

5. 逐模型核对“支持”

可用配置应描述为:精确权重/revision × 任务与模态 × 框架版本 × GPU 与互联 × 精度和内核 × 模板/processor/parser × 并行和负载。

5. 逐模型核对“支持”
查到的信息仍需核对
支持一个架构类新型号是否更换 attention、MoE、记忆模块或视觉编码器?
支持 FP4 / FP8 / GGUF哪种格式、哪些组件、什么后端和 GPU?
模型卡列出框架是否要指定 commit、nightly、额外内核或转换?
OpenAI 兼容 API工具参数、reasoning、usage、流结束、取消和错误语义?
1M 上下文原生、扩展或托管能力?目标并发下能否容纳?
多模态示例理解还是生成?流式、首尾帧、参考素材或实时打断?
自动生成的安装代码是否与真正 README 的支持限制相符?

优先读取发布者正文及对应配方,再核对具体版本。main 已有实现,不代表现有固定镜像已包含它。

6. 硬件选择:容量、架构和互联

MoE 只激活部分专家,但未激活专家仍需按部署策略存储或加载。**激活参数量用于理解计算成本,不能替代完整权重容量。**整套模型还可能包含视觉/音频编码器、VAE/vocoder、投影、记忆模块和草稿模型,不能只按主干名称估算。

6. 硬件选择:容量、架构和互联
内存部分主要影响因素
权重与元数据全部组件、精度、scale、分组和打包形式
KV 或序列状态上下文、并发、状态精度及架构
激活和工作区输入长度、媒体规格、batch、算子、prefill 峰值
通信和图缓存TP/EP/序列并行、CUDA Graph 等执行方式
服务与编解码预处理、视频帧、音频缓冲、队列和结果

可使用算力工具作容量初步估算。标准 GQA KV 公式不能直接套到所有 MLA、SSM/Mamba、滑窗、混合注意力和视频模型;多卡显存相加也不是可任意分配的一块显存。

6. 硬件选择:容量、架构和互联
平台首先确认
NVIDIA 数据中心 GPU完整容量、带宽、算力、NVLink/NVSwitch、精度内核与通信
NVIDIA 工作站/消费卡对应 SM 内核、PCIe/NUMA、单卡峰值与 P2P;不照搬数据中心配方
AMD / ROCm具体模型、量化、attention/MoE 算子及框架版本
Ascend 等 NPU插件/原生框架支持、CANN 等运行栈与集合通信
Apple Silicon统一内存、带宽、转换产物与 MLX/Metal 实现
CPU/GPU 混合CPU 内存带宽、NUMA、算子、搬运与并发退化
多节点跨机带宽/延迟、RDMA、集合通信、KV/专家传输及故障处理

SGLang 硬件入口与 vLLM Ascend可用于发现平台路线;平台受支持不保证每个模型功能相同。量化约束另见 vLLM 量化支持。

远端硬件尚未选定时,先确定质量和请求分布,再比较整套配置成本。最大显存、最少卡数和最高标称算力分别只是一个条件。

7. 并行、缓存和生成优化

7. 并行、缓存和生成优化
术语含义取舍
Prefill / Decode多数自回归模型先处理输入,再生成 token两阶段瓶颈不同
TP,张量并行将层内计算和权重拆到多设备容量/延迟收益与通信
DP,多副本多实例分担请求,每个实例也可由多卡组成吞吐与复制权重的容量
PP,流水线并行按层将模型分成设备上的不同阶段传输与流水线空闲;整层放置不自动带来流水线加速
EP,专家并行分布 MoE 专家负载不均与 token 路由通信
Ulysses/Ring 等序列并行分担长序列相关计算激活容量与互联成本
Continuous batching执行中动态加入/移除请求利用率改善随模型和规格变化
前缀缓存复用匹配前缀的状态真实可复用输入、容量和路由
MTP 与推测解码MTP 可提出候选,再由目标路径验证接受率、验证开销和负载;两者不是同义词
编译/图捕获减少部分执行或调度开销warmup、内存、动态形状和兼容性
扩散缓存/近似注意力减少或复用部分去噪计算某些策略引入近似,需质量验证

并发数、batch 大小和到达率不同:接收很多请求却让大部分排队,不等于 GPU 在高效并发执行。固定 8 卡预算下,可研究一个 8 卡实例与两个 4 卡实例,但要先证实各实例完整流水线能放下。

单请求最快不一定意味着总产出最高。长视频去噪可能已占满计算资源,增大 batch 未必获得语言模型短 token 解码的收益。推测解码也要区分保持目标分布的算法与含近似采样的实现,不能只看名字就承诺质量不变。

8. 量化、蒸馏与高效型号

8. 量化、蒸馏与高效型号
对象需要记录
权重量化哪些组件、位宽、分组、校准、量化工具与 revision
激活精度真正的低精度计算,还是低精度权重加载后转高精度执行
KV/序列状态精度与权重独立;长上下文和并发质量可能单独变化
文件格式safetensors、GGUF 等容器与量化算法是不同维度
实际内核对应 GPU、结构、维度与精度是否有高效实现
质量证据原始基线、业务样本、设置、差异与失败模式

FP4、INT4、NVFP4、MXFP4、AWQ/GPTQ、GGUF 的量化不能仅按“4 bit”互换。节省显存也可能增加反量化或通信瓶颈,应测试完整负载。量化与硬件支持

不同发布者的同名量化不共享质量结论。GLM-5.3 的不同 NVFP4 产物就是独立候选;gpt-oss 的原生 MXFP4 也不能任意替换成别的 FP4 文件。NVIDIA GLM 模型卡、gpt-oss 官方资料

Flash、Mini、Small、Nano、Turbo 可能代表架构、训练、尺寸或采样路线变化,不一定是原模型量化版。少步蒸馏还可能依赖专用 scheduler、attention 或 adapter。接受量化不等于已接受能力改变的蒸馏模型;FastH3、LTX 的不同产物等都应单独核对任务范围,详见媒体目录。

“经过验证”至少指来源可追溯、目标运行路径正确、业务质量对照通过、目标规格/并发稳定且有实际收益。公开评测帮助选择候选,目标质量与负载验证决定能否采用。

9. 不同任务怎样选模型?

9. 不同任务怎样选模型?
任务模型筛选重点容易忽略的服务成本
问答、推理正确率、语言、指令遵从、思考预算reasoning 长度、可见答案等待、前缀命中
代码、Agent代码运行结果、工具协议、多轮成功率工具等待、上下文增长、累计失败与重试
VLM、OCR、文档页面、图表、细字、版面、坐标、结构化字段预处理、多页切分、视觉 token 和编码
Embedding / RerankerRecall/nDCG、跨语言、长文、查询与文档语义长度、候选数、索引构建、级联重排
图像生成/编辑提示遵从、文字、人物/物体、编辑保留程度文本编码、VAE、参考图片、分辨率
视频/音视频时间一致性、运动、参考遵从、音画同步序列长度、去噪、编解码、传输、排队
ASRWER/CER、语言/口音、噪声、时间戳、说话人分块、VAD、长音频与实时流状态
TTS/语音交互自然度、发音、音色、轮流说话与打断首音频、分块、vocoder、缓冲与并发

通用问答榜不能代替代码或 OCR 验收,视觉理解分数不能代替生成质量。语音交互可采用 ASR→LLM→TTS 或原生语音模型,二者的组件优化空间、韵律和时序契约不同。

大型旗舰可作质量上限对照,高效型号用于测试吞吐/成本,专项模型负责特定环节。只有任务可分流且测得收益时,才增加路由与级联复杂度。

10. 怎样进行有效对比?

10.1 固定身份与条件

记录权重仓库/revision、所有组件、量化、镜像 digest、框架 commit、GPU/拓扑、精度与内核、并行/实例数、请求集、长度预算和采样设置。

分别比较“同一硬件的软件方案”和“达到同一业务目标的整套成本”。不同卡数、租价、精度和质量不能用裸 token/s 混排。

10.2 指标口径

10.2 指标口径
指标正确的用法
TTFT请求发起到首个生成 token;HTTP 首字节或空 SSE 不算
首个可见答案思考型模型另计,区分 reasoning 与最终内容
每用户 token/s / token 间隔观察有其他请求时的体验;一个流式块不一定是一个 token
聚合输出 token/s固定统计窗口,明确是否包含 reasoning
合格媒体产出固定规格,包含失败和不合格率,必要时按合格时长归一化
首音频与 RTF记录启动等待、处理时间/音频时长,另测连续供给
向量/重排吞吐固定长度、候选规模,注明文档/query-doc 对/token 口径
P50/P95/P99端到端与排队分开统计,样本量足以支持分位数
单位成本同一计费窗口、资源、合格结果和有效利用率

跨模型 tokenizer 不同,token/s 可能不可直接比较;还应比较完成同一任务的时间、成功率和成本。不能用一种模型的 tokenizer 估算另一种模型而不注明。

有效吞吐指在预先确定的质量、延迟和错误率条件内,单位时间完成的合格工作量。同步报告总提交、成功、失败、截断与超时,避免只保留成功样本。

10.3 最小实验流程

  1. 固定业务样本、质量门槛、延迟与预算,选少量候选。
  2. 用有依据的原始/发布精度跑通,验收真实输出、流式与所需子功能。
  3. 比较业务质量,将不达标配置排除在最终性能排序之外。
  4. 分开记录冷启动、首次编译/warmup 和稳态。
  5. 逐步增加并发,例如 1、2、4、8,资源或服务目标不满足时结束该配置加压。
  6. 按真实到达率、突发和长短请求混合测试;仅完成一个再发一个的闭环负载可能掩盖排队问题。
  7. 分别比较缓存命中/未命中、多副本/多卡、原始/量化、MTP 等,一次改变可归因的因素。
  8. 观察稳态、取消/失败恢复和成本,保留原始证据后决策。

视频/语音应把预处理、编解码和输出可获取时间计入端到端体验。相同 seed、同名质量档或同样步数不保证跨框架同语义、同输出。

11. 面向远端速度与并发的推荐顺序

  1. 按任务选组合。 从两个模型目录中取质量候选和高效候选,必要时加专项模型。
  2. 优先匹配现成配方。 文本/VLM 首看该型号的 vLLM/SGLang;媒体首看对应扩散/多模态服务与原厂实现;语音和检索走专用路径。
  3. 硬件与精度一并选择。 完整驻留、每卡峰值、内核和互联优先于纸面总算力。
  4. 测目标负载后决定加速。 量化、MTP、batch、DP/TP/EP 的效果随模型和并发变化。
  5. 用有效吞吐取舍。 工具正确性、视频质量或尾延迟不达标,峰值吞吐再高也不能成为最终依据。
  6. 有规模证据再扩平台。 多实例、缓存路由或资源争用出现后,再评估分布式服务层。

不能预先认定某框架全球最快,也不能认定原生引擎只能个人使用。候选顺序用于降低验证成本,最终由精确组合的结果决定。

原讨论中的 H3 与 GLM-5.3 是两个例子:H3 可从 SGLang Diffusion 对比 vLLM-Omni;GLM 可用同一 FP8 比较 vLLM/SGLang,再评估具体 NVFP4。方法同样适用于 DeepSeek、Qwen、Kimi、Mistral、Gemma、Nemotron、FLUX、Wan、LTX 和语音模型,具体支持以各目录来源为准。

12. 知识、手册与运行证据的分工

本指南维护方法,两个模型目录维护能力与官方入口。具体服务器的版本、脚本与运行记录保存在各自部署项目中,实际状态以对应环境的验收证据为准。

12. 知识、手册与运行证据的分工
实际采用候选时记录内容
目标任务、质量、长度/规格、请求率、延迟和预算
身份全部组件、revision、量化、镜像与框架版本
环境GPU/显存/互联、CPU/RAM、存储、实例和并行
口径warmup、样本数、时间、缓存、token/媒体范围
结果质量、错误率、尾延迟、有效吞吐、峰值显存、成本
证据请求、原始响应/生成文件、日志、配置、复现入口
决策采用/备选/排除,适用范围与复核条件

升级权重、硬件、内核或镜像后,旧结果只作历史参考。文中 main/latest 链接用于发现能力,真正部署必须固定具体版本。