AI Infra Seven Layer Stack
AI Infra Seven-Layer Stack
七层地图
1 | 7. LLM Applications & Agents |
这是一张“职责地图”,不是所有组件的严格上下依赖关系。
层与典型组件
| 层 | 解决什么 | 例子 |
|---|---|---|
| 1 硬件与集群 | 计算、内存、网络、容器落点 | GPU/HBM、NVLink、RDMA、Kubernetes |
| 2 框架与 Kernel | 表达模型并高效执行算子 | PyTorch、Triton Language、FlashAttention、CUTLASS |
| 3 分布式执行 | 进程、worker、并行与通信 | Ray、NCCL、TP/PP/EP、DeepEP |
| 4 训练/推理引擎 | 更新模型或高效生成 token | DeepSpeed、Megatron、vLLM、SGLang、llama.cpp |
| 5 Serving/LLMOps | 路由、扩缩容、观测与版本 | Ray Serve、Gateway、Langfuse、MLflow |
| 6 训练范式 | 数据和目标如何塑造能力 | SFT、RLHF/RLVR、Reasoning RL、Agentic RL |
| 7 应用/Agent | 如何解决用户任务 | RAG、Tool Calling、Memory、Planning |
重要边界
- Triton Language 不是 NVIDIA Triton Inference Server。
- TorchDynamo 不是 NVIDIA Dynamo。
- Ray 组织 task/actor/worker;DeepSpeed/Megatron 重点解决模型和训练状态如何跨 GPU 计算。
- vLLM 是推理引擎;Serving platform 在其上增加 API、路由、多模型、扩缩容和生命周期管理。
- 量化体系有四层:数值格式(BF16/FP8/NVFP4)、编码 recipe(K/I-quant)、动态策略(UD)、文件容器(GGUF/Safetensors)。它们不是同一维度的并列项。
- llama.cpp/Ollama 是本地推理引擎/平台,与 vLLM/SGLang 是场景不同的平行选择,而非上下游。
七层如何共同决定一个上线结果
“模型能加载”只跨过了第 4 层的一小部分。一次服务上线还要经过:第 1 层提供匹配的 GPU/HBM/互联和可调度节点;第 2 层让 dtype、kernel、编译和 allocator 与硬件匹配;第 3 层决定 TP/PP/DP/EP 的 rank 与通信;第 4 层管理 batch、KV 和模型执行;第 5 层负责路由、readiness、扩缩容、灰度和回滚;第 6/7 层决定输出质量、工具/检索契约和业务 SLO。
1 | SLO/请求形状 |
层间经常出现“局部正确、全局失败”:低 bit 权重满足第 1 层容量,却因第 2 层没有原生 kernel 变慢;TP 满足第 4 层容量,却因第 3/1 层跨节点通信让 P99 失控;Kubernetes 扩容满足第 5 层副本数,却因权重下载和 warmup 仍没有可服务容量。
读图的实用方法
遇到新组件,先写它修改哪一层的状态、向上提供什么契约、向下依赖什么资源,以及一个会让它失效的反例。比如 Triton Language 修改 kernel 执行,不替代 engine 调度;Ray 修改控制面角色,不定义 attention;GGUF 修改文件/metadata,不等于量化算法。这样可以避免把同名工具、容器格式、运行时和平台混成一张产品排行榜。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lux's Blog!