0
0

如何分层学习推理 Infra:从 CUDA 基线到昇腾,再到训练与 RL

2026-10-17

整理日期:2026-09-14(晚间增量)。依据当天新增问题、可见对话摘录与一手资料整理,不是完整逐字稿。教学推导与用户反馈分别注明,未执行服务器操作。

今天的困惑

你感到推理 Infra 已经很复杂,叠加昇腾后需要同时处理模型、量化、缓存、并行、网络和版本;因此考虑先在 CUDA 生态建立理解,再回到昇腾,并问训练、RL、数据库与浏览器是否也有类似复杂度。

复杂度不能用客观总分排名

没有统一公认的“软件复杂度排行榜”。可比较的维度包括:组件数量、状态空间、性能约束、正确性验证、故障恢复和跨团队依赖。具体项目规模、成熟度与需求决定难度。

数据库强调事务、持久化和故障恢复;浏览器强调协议、渲染、语言运行时及兼容性;训练系统增加梯度、优化器、检查点和集体通信;在线推理强调动态请求、缓存和尾延迟。这是工程维度比较,不是量化评分。

RL Infra 为什么会再增加一层

LLM RL 将生成 rollout、奖励或验证、训练更新与权重同步串成闭环。既有推理侧的变长生成与吞吐问题,也有训练侧的内存和并行问题;异步方式还需处理策略版本、数据新鲜度与背压。

这些困难依配置而定,不能宣称任意 RL 系统一定比任意数据库难。verl HybridFlow 指南

CUDA 是否没有耦合

CUDA 同样有驱动、运行时、框架、编译工具和扩展 ABI 的配套约束。NVIDIA 提供一定范围的兼容机制,但有驱动最低要求、平台及功能限制。CUDA Compatibility

pip 安装把许多依赖解析和二进制分发封装起来;大 Docker 镜像可能同时包含开发工具、框架和多层依赖。镜像 20 多 GB 是你观察到的现象,不等于运行时 HBM 占用,也不能单独证明执行效率低。

适合当前目标的递进路线

第一步:固定小模型,解释 tokenizer、prefill、decode、KV 生命周期和 TTFT/TPOT。

第二步:做同一模型的浮点与量化比较,学会 scale、KV dtype 和正确性验证。

第三步:理解 GQA、MLA、DSA、KDA 的状态表示,再读相应后端缓存布局。

第四步:在多卡上分别验证 TP、DP/EP;然后才组合 PD、池化和特定 DCP。

第五步:带着同一份基线与指标迁移到昇腾,逐层比较而非同时打开全部开关。

若有 CUDA 资源,可用它降低首次理解概念的环境成本;若没有,也可在现有昇腾小模型上完成前两步,不必把学习推迟到换平台之后。

专家能力的可检验目标

拿到一个慢或精度异常的部署,能明确描述状态、画出数据移动、构造对照实验,并把问题归到模型、内核、调度、通信或环境某一层。先形成这种定位能力,再扩展到训练和 RL,比一次性掌握所有组件更可执行。

2026-09-16 补充:推理、训练、RL 不是简单的严格超集关系

推理、训练、RL 共享大量底层能力,但它们的核心状态对象和优化目标不同,因此更适合看成三个重叠但不完全包含的系统域。

推理 Infra 的独特核心

推理主要围绕 forward 与在线 serving:

  • Continuous batching、request scheduling、SLO;
  • KV Cache、PagedAttention、Prefix Cache;
  • TTFT / TPOT / tail latency;
  • speculative decoding;
  • PD 分离、KV transfer、DCP;
  • 低延迟量化 kernel 与 graph capture。

这里的核心状态往往是 weights + KV Cache + request state。

训练 Infra 新增的状态与并行问题

训练不是“推理再加 backward”这么简单。Backward 会引入一整套新的状态与通信:

  • activations;
  • gradients;
  • optimizer states;
  • parameter/gradient sharding;
  • activation checkpointing / recomputation;
  • FSDP / ZeRO;
  • Pipeline Parallel 与 micro-batch scheduling;
  • gradient AllReduce / ReduceScatter;
  • parameter AllGather;
  • compute-communication overlap;
  • distributed checkpoint。

因此训练内存问题的中心从推理中的 KV Cache,转向 parameters + activations + gradients + optimizer states。

RL Infra 为什么更像“系统组合体”

大模型 RL 通常同时存在:

Rollout / Inference
        ↓
Reward / Verifier
        ↓
Training
        ↓
Weight Sync
        ↓
New Rollout

所以它复用推理与训练两边的能力,同时新增:

  • rollout/train colocated 或 disaggregated placement;
  • actor/ref/critic/reward 等角色编排;
  • weight synchronization / resharding;
  • policy staleness;
  • asynchronous pipeline 与 backpressure;
  • trajectory / replay 数据流;
  • Agent 场景下的 environment、browser、tool latency 与长尾调度。

因此从系统维度数量看,Agentic RL 往往会比单纯 inference 暴露更多耦合变量;但不能据此断言任意 RL 项目一定比任意训练或数据库系统复杂。

学习时应该看到“复用关系”,而不是不断开新课程

从推理进入训练、RL,并不是从零重学:

GPU/NPU / Network / Distributed Fundamentals
                    ↓
              LLM Forward
                    ↓
            Inference Runtime
                    ↓
       + Backward / Optimizer / State
                    ↓
            Training Runtime
                    ↓
      + Rollout / Weight Sync / Async
                    ↓
               RL Runtime

你现在学的 TP、EP、Attention、MoE、CUDA/Ascend、NCCL/HCCL、collective、topology、communication overlap 在训练和 RL 中仍然会继续复用。

真正新增的主要知识块可以压缩成:

  • 从推理到训练:Backward + model-state memory + training parallelism;
  • 从训练到 RL:Inference/Training composition + rollout + weight sync + async scheduling。

硬件学习边界:双主线而不是五个平台并行学习

当前更合理的硬件路线是:

  • CUDA:深入。 用它学习最成熟的 accelerator programming model、kernel、memory hierarchy、graph 和 collective;
  • Ascend:深入。 结合 CANN、HCCL、vLLM Ascend,并按问题下钻 AscendC;
  • ROCm:学习 CUDA/HIP 差异和后端设计,不另开完整专家路线;
  • XPU:掌握 torch.xpu、XCCL 与 vLLM backend 的架构映射即可;
  • CPU:NUMA、cache、SIMD、memory bandwidth 等系统基础要懂,但暂不需要专攻 vLLM CPU kernel。

这种结构的目标不是会五套 API,而是能围绕同一个问题,例如 Decode Attention,从算法一路追到 Runtime、通信和 CUDA/Ascend kernel,再用 ROCm/XPU 作为对照理解 abstraction boundary。

进一步阅读:

2026-09-22—23 深化:把概念树变成能验收的研究路线

近期连续问题显示需要加强的连接是:数学与shape→存储与数据流→算子正确性→性能证据→多卡通信→在线服务SLO。以下是本次整理建议,不代表已有项目完成。

四段递进项目

第一段:同一Add/Gather/Reduce在CUDA与Ascend各做一份参考与设备实现,写出尾块、对齐、dtype和误差测试。验收是能解释失败样例并复现,而不是只记API名。

第二段:固定GEMM或RMSNorm,比较单缓冲、双缓冲、融合及不同tile;报告内存账本、时间线和相同条件下的收益。再把优化接到真实模型确认占比。

第三段:从AllGather/AllReduce微基准到TP/EP,再到PD与KV传输。验收包含rank映射、拓扑、消息大小、正确性与并发曲线。

第四段:以一个可重现瓶颈形成研究问题,提出机制、强基线、消融和适用边界。开源补丁与论文可以共享实验资产,但论文需要新颖性和证据,不能用代码量代替;本次不承诺专利授权或论文接收。

一年内可用前2个月补基线、3—5个月做跨硬件kernel、6—8个月做通信/服务系统、9—12个月集中一项研究作为候选节奏;按验收结果调整,不要求把所有工具都学完才实践。

HPC与AI Infra的连接

两者共享并行计算、内存层级、通信、数值误差和测量方法。在线推理另有变长请求、KV状态、排队和SLO;HPC并不只是“更大的AI集群”。竞赛可练固定预算下的系统调优与团队复现,但不能以竞赛成绩直接代表生产服务可靠性。

知识地图的节点与边

你明确要求图形结构、连线、可展开、可继续细化。每节点记录:定义、前置知识、典型问题、实验、证据和Notion文章;边区分“依赖”“实现于”“优化”“对照”,不要把所有联系都强行变父子层级。

“已掌握”由你确认或依据验收,不因生成一篇说明便自动点亮。算子题库和WebGPU练习可以验证部分索引/并行思想,不能据此声称复现CUDA/NPU的特定指令性能。本次整理未修改Sites页面或学习状态。

阅读顺序:CUDA 与昇腾数据流对照:存储层级、分块与异步流水 → Ascend C 调试复盘:UB 容量账本、数据类型转换与最小复现 → 从 AllReduce 到通算融合:语义、流水、资源竞争与优化验收 → 本库并行与PD实战。

2026-10-07 路线优化:把成长手册落实为一个主项目

本次已读取10月4日《AI_Infra_成长行动手册_2026-10.md》全文。它是此前生成的执行规划,不是你已经完成的成果。本节细化执行方式;前文时间安排仍为候选,实际优先级以验收与资源为准。

当前主线:推理系统+性能分析,第一专长围绕已有投机解码/异步后处理/运行时调度。CUDA与Ascend按同一个问题做对照,避免同时各开多个项目;训练/RL在核心推理案例形成证据后扩展。

每周约10小时只是手册预算假设,不是已确认投入。若资源不足,延长阶段或做CPU正确性/源码与成本推导,设备性能保留待测,不用模拟结果填空。

前十二周的验收链

第1—4周:环境/能力诊断 → Add索引与尾块 → Reduction或RMSNorm → GEMM复用和Roofline;每周一个正确实现或可解释对照。

第5—8周:stream/event依赖 → eager/graph适用边界 → KV参考对齐 → 固定版本请求生命周期追踪。

第9—12周:负载基线 → 两个代表trace → 现有MTP/异步工作单变量消融 → 可复现报告与新负载反例。

没有完成前置验收就延长,不按日期自动进入下一阶段。题库/阅读完成和知识图节点点亮不是独立能力证据。

闭卷回忆替代只收藏材料

先独立预测,再借助AI查证或审查;关闭答案,在新shape/负载上解释。每周记录问题、预测、配置、结果、解释、反例、证据和一个下一步。解释明确标实测/官方机制/教学推导/待验证。

个人成果至少有:正确性案例、性能案例、方案取舍案例。主项目先锁一个模型、一种后端和一条关键路径;负结果也可成为边界报告。

建议阅读顺序:数据流 → GEMM、Triton 与 TileLang:从分块代码到 Roofline 性能账本 → 本库量化与MTP → 并行/PD → 从 CP 到预训练系统:并行切分、状态账本与可恢复训练 → verl。职业与项目证据的对应关系见推理框架求职复盘:从昇腾适配到可验证的系统能力。

长期专家目标用原创问题、严谨验证、可维护实现和独立采用评估,不承诺一两年达到“世界级”。训练中断恢复和RL质量/成本闭环是后续验收,不把所有框架并列为现在必修。