参考
八股: https://moyutianzun.cn/archives/llm-infra-ba-gu-quan-ji#llm-inference
https://www.zhihu.com/column/c_1903483612977927815
https://zhuanlan.zhihu.com/p/1907536883430437857
https://www.nowcoder.com/feed/main/detail/c77ef218ce5d40d281c1aea6c906de1c
https://zhuanlan.zhihu.com/p/1920946738270810330
https://blog.csdn.net/sinat_37574187/article/details/149797468
https://zhuanlan.zhihu.com/p/672836957
https://zhuanlan.zhihu.com/p/678602674
CUDA 手撕:https://zhuanlan.zhihu.com/p/12661298743
AccumulateMore/CV: ✔(已完结)最全面的 深度学习 笔记【土堆 Pytorch】【李沐 动手学深度学习】【吴恩达 深度学习】
Paper: [https://arxiv.org/pdf/1909.08053.pdf](https://arxiv.org/pdf/1909.08053.pdf)
https://developer.nvidia.com/deep-learning-performance-training-inference
genesis framewokr
cppcon
https://ucbrise.github.io/cs294-ai-sys-fa19/
https://zhuanlan.zhihu.com/p/608318764?share_code=6kgRiae9U4sA&utm_psn=1926408052585793087
- Horovod
岗位职责:1. 研发 GPGPU 集合通信库;2. 定位和解决应用中的分布式通信问题;3. 分析优化分布式计算中的单机内/多机间集合通信性能。任职要求:1. 熟悉 C/C++ 编程;2. 熟悉分布式常用的集合通信操作,了解常用的集合通信库,如 OpenMPI、Gloo、NCCL;3. 熟悉网络通信、RDMA 技术,了解 ibverbs 编程接口;4. 熟悉分布式训练框架,如 PyTorch、Horovod;5. 了解 GPU 体系架构和 CUDA 编程者优先;6. 有类 NCCL 通信库开发经验者优先。
https://zhuanlan.zhihu.com/p/608318764?share_code=6kgRiae9U4sA&utm_psn=1926408052585793087
技能与掌握水平
知识能力矩阵
2,熟悉 后向误差传播算法(BP),完成从标量求导到矩阵求导思维方式的转换,熟悉常见算子的梯度推导(矩阵乘,卷积,池化,Relu,如果会 batch normalization 就一步到位了);
3,熟悉 autograd 的基本原理,能自己手撸一个最好;
8,熟悉 编译器基本原理,parser 什么的不重要,主要是 dataflow分析,灵活运用;熟悉多重循环程序优化技巧,譬如 polyhedral 模型;
9,熟悉常见 分布式系统原理,mapreduce, spark, flink, tensorflow 等;
12,programming language 原理,命令式编程,函数式编程,逻辑编程,入门书《程序的构造与解释》?
13,熟悉项目构建原理,,有一本书《程序员的自我修养》有比较全面覆盖。
| 学科分类 | 各个主题 | 主题内各个技术点和知识点 |
|---|---|---|
| 计算机 | 操作系统 | 进程管理、、文件系统、I/O 系统、安全与保护机制 |
| 内存管理 | ||
| 现代 C++ | •C++17/20 新特性、智能指针、并发编程、模板元编程、STL 库使用 | |
| 计算机基础 | compiler, assembler, linker,loader | |
| 软件架构设计 | •设计模式、架构风格、代码重构、性能瓶颈分析、性能测试工具 | |
| 编程基础 | 命令行、函数式子,C++ python 用法 | |
| 数据结构与算法 | •基本数据结构(数组、链表等)、高级数据结构(树、图等)、经典算法(排序、查找等) | |
| linux | •命令行基础、shell 脚本编写、用户权限管理、网络配置与管理 | |
| Qemu 模拟器 gem 5 / gpgpusim 等仿真工具框架 | •虚拟化原理、QEMU 工作流程、GEM5 仿真模型、GPU 模拟方法 | |
| 分析调试工具优化、性能分析和调优 | valgrind/callgrind/Vtune,资源利用率分析 | |
| 网络 | socket | |
| 体系结构 | CPU 流水线、缓存、分支预测等微架构原理 | •流水线技术、多级缓存设计、分支预测策略、超标量处理器 |
| 量化分析方法 | Amdahl’ Law, Roofline Model, | |
| GPU 编程模型 | 线程模型,存储模型,优化方法 | |
| 高阶用法,event, stream, 异步/同步 | ||
| GPU 指令集 PTX SASS | ||
| Mem | (L0/L1/L1.5/L1.75/L2/HBM, Layout, memory arch) | |
| 可编程芯片(NPU/TPU)架构 | •神经网络处理器架构、TPU 工作原理、专用硬件加速技术 | |
| AI 加速器 | •AI 加速器类型、应用场景、性能对比、未来发展趋势 | |
| QEMU/GEM5 仿真模拟器 | •仿真器在体系结构研究中的应用、搭建仿真环境、案例分析 | |
| 深度学习框架 | Python | •Python 基础语法、高级特性、科学计算库(NumPy, Pandas 等) |
| 编译器:LLVM/MLIR/TVM | •编译原理、中间表示、TVM 自动调优、MLIR 模块化设计 | |
| 深度学习模型和框架(如 TensorFlow/Pytorch/Megatron/DeepSpeed) | •主流框架特点、模型训练技巧、分布式训练支持 | |
| 模型表示 ONNX ggml | •模型格式转换 | |
| 主流模型 NLP/CV 模型架构与算法 | ,MLP、CNN、LSTM、MHA、MLA、MOE、NLP (Bert), LLM (Transformer), diffusers 各类模型的工作原理、应用场景、实现细节 | |
| 分布式训练 HPC | 集合通信原语和底层原理 | (如 AllReduce, AllGather)RDMA 技术优势、应用场景,代价分析 |
| 分布式并行策略及其挑战 | 如数据并行、模型并行、流水线并行、张量并行、序列并行、Zero 冗余优化器等 | |
| 内核级优化(如算子融合、内存管理优化、通信优化) | ||
| 框架 Pytorch 端到端使用和性能分析 | ||
| 主流框架适配到新型硬件。 | (如 PyTorch 生态下的框架)框架适配方法(如 GPGPU/NPU/加速卡)、性能评估指标、优化建议 | |
| 主流分布式训练/推理框架 | (如 DeepSpeed, Megatron-LM, Colossal-AI, FSDP, vLLM, TensorRT-LLM SGLang, Hugging Face Accelerate/Transformers 等) | |
| 高效的内存管理、通信优化 | •内存管理策略、高效通信协议(NvLink/Infiniband/RoCEv2 等) | |
| 分析性能瓶颈和可能的精度问题 | (如通信开销、计算效率、内存限制)瓶颈定位方法、解决策略 | |
| RDMA 等高速网络通信技术 | ||
| NCCL、NVSHMEM 或其他分布式计算相关 | ||
| 算法 | 数值计算、线性代数相关算法有深刻的理解 | •数值稳定性、矩阵运算、求解线性方程组 |
| 密集型算子优化 | 卷积、矩阵乘、矩阵分解、BatchNorm、flash attention 优化技巧、实现细节、性能比较 | |
| 大模型核心技术 | FlashAttention、PagedAttention、MoE、Chunked Prefill | |
| 大模型量化算法及量化算子的实现; | •量化算法原理、实现步骤、效果评估(如 AWQ、GPTQ、SmoothQuant 等) | |
| 并行优化 | 并行编程基础:有 CUDA/OpenCL/OpenMP | •并行编程概念、CUDA/OpenCL/OpenMP 基础 |
| GPU 高性能算子开发与优化,工具 | Nsight Systems compute, DLProf, PyTorch Profiler, TensorBoard | |
| 深度学习专用编译器或编译器组件、编译器技术 | (如 TVM, MLIR, LLVM)Triton、TVM、MLIR 等 | |
| 高性能传统工具, | •分布式计算原理、MPI 开发入门 | |
| ISA | 包括在 Cmodel, Zebu/PLD 上调试功能 | -hang, mismatch, assertion), 汇编/反汇编,指令 cycle 计算 Wave/PFC analysis 能力 Jtag 调试 Hang 问题 |
| 软硬件协同编程,性能优化基础 | 基于 HW Top(SPEC) 性能评估,分析和建模能力 RR(Rough Roof) | |
| 基于 HW Micro Arch 性能评估,分析和建模能力 UB(Up Bound) | ||
| 基于软件栈 +HW 硬件微架构的性能评估分析和建模能力(Realistic Evaluation) | ||
| 运用 BR 性能分析工具分析算子端到端瓶颈 | ||
- 数字集成电路
- 互联通信协议
- 算法硬件实现
- 电路面积、时序、功耗优化
- 硬件测试验证流程和工具(vcs, verdi, verilator, etc.)
- SOC 和 IP 的架构/微架构设计探索 + 性能模型建模,包含不限于核心并行计算处理器、NOC、Cache、MMU、Memory、ESL/RDMA、die-to-die、一致性协议、DMA、etc。
- 3 D 堆叠,chiplet
能力维度划分与评分标准(每项满分 10 分)
我们定义五个核心能力维度,每个维度下针对具体技术点进行打分,再加权汇总:
| 维度 | 定义 | 权重建议 |
|---|---|---|
| 1. 知识广度 (Breadth) | 对该领域相关技术点的覆盖程度:是否知道关键概念、主流工具、典型架构 | 20% |
| 2. 理解深度 (Depth) | 是否理解原理、机制、数学推导、性能瓶颈与设计权衡 | 30% |
| 3. 实践能力 (Hands-on) | 是否有实际项目经验,能否独立实现、调试、调优 | 30% |
| 4. 架构思维 (Architecture Thinking) | 能否从系统层面思考问题,设计可扩展、高效、健壮的解决方案 | 15% |
| 5. 学习迁移能力 (Learning & Adaptability) | 面对新技术/硬件能否快速上手,举一反三,解决新问题 | 5% |
💡 权重说明:对于底层系统/AI 编译器/大模型训练方向,深度 + 实践是核心,因此占比最高;架构思维对高级工程师/研究员尤其重要。
评分等级建议(S-A-B-C-D 制)
| 分数范围 | 等级 | 描述 |
|---|---|---|
| 8.0–10.0 | S | 可主导创新项目,发表顶会论文或开源核心组件,可完全独立负责该领域的工作,并具备指导他人完成工作的能力 |
| 6.0–7.9 | A | 能独立负责模块设计与优化,具有系统观念,很熟练可以很快上手,也可以和团队合作分工 |
| 4.0–5.9 | B | 熟悉原理,有动手经历,能在指导下完成开发任务,具备发展潜力 |
| 2.0–3.9 | C | 了解基本概念和作用,缺乏实战经验 |
| <2.0 | D | 仅听说或者不知道,未参与工作 |
| 技术点 | 知识广度 | 理解深度 | 实践能力 | 架构思维 | 学习迁移 | 加权得分 |
|---|---|---|---|---|---|---|
| FlashAttention | 8 | 7 | 6 | 5 | 7 | = 8×0.2 + 7×0.3 + 6×0.3 + 5×0.15 + 7×0.05 = 6.9 |
- 知识广度 8:了解其动机(减少显存访问)、基本思想(分块 + 重计算)、支持平台(HuggingFace, vLLM)
- 理解深度 7:理解 IO 复杂度分析、Tiling 策略、与传统 Attention 的对比
- 实践能力 6:能调用 FlashAttention 接口,但未手动实现内核
- 架构思维 5:能说出它如何影响推理吞吐,但未参与整体 KV Cache 设计
- 学习迁移 7:能类比到 PagedAttention 的设计思路
总评分数计算方式
总评分 = Σ(各主题平均分 × 主题权重) / 总权重| 学科分类 | 建议权重 |
|---|---|
| 分布式训练/HPC | 25% |
| 算子并行优化 | 20% |
| 深度学习与框架 | 20% |
| 体系结构 | 15% |
| 计算机基础 | 10% |
| 算法 | 10% |
💬 说明:若岗位偏重“大模型训练系统”,则前两项权重应更高。
场景 1:招聘 AI 编译器工程师
- 重点关注:TVM/MLIR、CUDA、算子优化、自动调优
- 提高“理解深度”和“实践能力”权重
- 要求相关主题平均分 ≥ 8.0
场景 2:组建大模型训练团队
- 关键能力:分布式并行、通信优化、DeepSpeed/Megatron、内存管理
- “架构思维”权重提升至 20%
- 要求“分布式训练”主题得分 ≥ 8.5
场景 3:评估实习生潜力
- 降低“实践能力”要求,提高“学习迁移能力”权重
- 关注“知识广度”和成长性
大语言模型(LLM)全栈知识体系:从算法到硅
大语言模型的成功部署与高效运行,绝非单一技术之功,而是跨越七个紧密耦合、层层递进的系统层次,实现“软件定义硬件,硬件赋能软件”的极致协同。这一体系从抽象的数学原理出发,最终落地于物理芯片,每一层都为上一层提供支撑,并受下一层能力的约束。
第零层:基础
计算机体系结构与并行计算
- 核心理论:
- 异构计算原理:掌握 CPU/GPU/NPU 的架构差异(如英伟达 GPU 的 SM 单元、昇腾 NPU 的达芬奇架构),理解冯・诺依曼架构与哈佛架构的内存访问特性 1。
- 并行计算模型:深入理解 Amdahl 定律、Gustafson 定律,掌握多线程(OpenMP)、分布式(MPI)、向量化(SIMD)的协同优化策略。
- 存储层次:熟悉多级缓存(L1/L2/L3)、高带宽内存(HBM)、片上存储(SRAM)的性能差异,掌握数据局部性优化策略。
- Chiplet 设计:学习 UCIe 标准与芯粒互连技术,理解分解式计算如何提升芯片能效比(如 Arm CSA 架构的模块化设计)5。
- 实践工具:
- 体系结构仿真:GEM5、QEMU(支持 Chiplet 建模)
- 并行性能分析:Intel VTune、NVIDIA Nsight Compute
数学与算法基础
- 核心内容:
- 线性代数:精通矩阵运算(矩阵乘法优化、低秩分解、Strassen 算法)、特征值分解在模型压缩中的应用。
- 数值计算:掌握浮点运算特性(如舍入误差、溢出),理解 FP8/BF16 量化对数值稳定性的影响。掌握量化误差分析(如 KL 散度量化)、定点化技术(如 QAT 量化感知训练)。
- 算法设计:熟悉贪心算法(剪枝策略)、动态规划(算子调度)在模型优化中的应用。
- 学习资源:
- 书籍:《线性代数及其应用》《数值分析》
- 工具:MATLAB/Python 的 NumPy 库实践矩阵运算优化
- 量化分析:PyTorch QAT 工具链、TensorFlow Lite Micro
第一层:算法与模型层 (Algorithm & Model Layer)
- 核心内容:
- 模型结构:掌握 Transformer 架构(自注意力机制、位置编码)、MoE(专家混合模型)、多模态模型(如 Flamingo)的计算特性 815。
- 训练机制:理解分布式训练(数据并行 / 模型并行 / 流水并行)、混合精度训练(FP16/BF16/INT8)的原理与实现 15。
- 推理优化:熟悉推理引擎(TensorRT/ONNX Runtime)的工作流程,掌握动态 batch、算子融合、内存优化等技术 614。
- 学习资源:
- 论文:《Attention Is All You Need》《Scaling Laws for Neural Language Models》
- 实战:基于 Hugging Face 的 LLaMA-2 微调与推理优化模型压缩:Hugging Face Optimum、TensorRT-LLM
- 动态推理框架:Hugging Face TGI(支持连续批处理与 PagedAttention)
- 核心任务:确定 LLM 的基础架构(如 Transformer 变体)、参数量(如 7B/70B / 千亿级)、训练目标(如预训练 / 微调)和推理场景(如对话 / 生成)。
- 设计要点:
- 针对芯片计算特性调整模型结构(如若芯片支持稀疏计算,可设计稀疏注意力机制);
- 确定量化策略(如 FP16/INT8/FP8),平衡精度与算力利用率(自研芯片可能有专用低精度计算单元);
- 优化序列长度(如支持动态上下文窗口),适配芯片的片上存储容量(如 HBM 带宽)。
这是整个体系的起点,定义了“要计算什么”。
- 核心任务:
- 模型架构设计:确定基础结构(如 Transformer 及其变体),选择关键组件(如多头注意力 MHA、MLP、MoE 专家混合模型)。
- 训练目标与策略:定义预训练/微调的目标函数,选择优化器(AdamW 等),并决定训练范式(如指令微调、强化学习对齐)。
- 推理模式设计:规划生成方式(自回归、流式输出)、批处理策略(连续批处理)和上下文管理(KV Cache)。
- 关键技术:
- 位置编码:RoPE(旋转位置编码)、ALiBi 等,解决长序列建模问题。
- 稀疏化技术:MoE(Mixture of Experts)通过门控机制仅激活部分参数,突破算力墙。
- 参数高效微调(PEFT):LoRA、Prefix Tuning 等,在冻结主干网络的情况下高效适配下游任务。
- 关键考量:模型的设计必须前瞻性地考虑后续各层的实现成本与可行性。例如,选择支持动态长度的架构以适应分页内存管理。
- 核心技能:
- 量化技术:掌握 PTQ(训练后量化)、QAT(量化感知训练)的原理,熟悉 INT8/FP8 混合精度部署。
- 剪枝策略:实现结构化剪枝(通道剪枝)与非结构化剪枝(权重稀疏化),结合硬件稀疏计算单元优化。
- 模型蒸馏:设计知识蒸馏方案(如教师 - 学生模型),优化端侧推理性能。
- 前沿技术:
- 动态推理优化:使用 Hugging Face TGI 的连续批处理与流式输出,提升长序列生成效率。
- 自我奖励机制:学习 LaTRO 框架的隐变量推理优化,通过自我评估提升多步骤推理准确率。
- 使用 TensorRT 对 BERT 模型进行 INT8 量化,对比精度与速度的平衡点
- 基于 SepLLM 框架实现长文本推理的稀疏注意力优化
大模型架构设计是 Infra 构建的基础,直接影响计算效率和资源需求。目前主流的架构优化方法主要包括参数建模、位置编码和 MoE 算法等。
参数建模是大模型设计的核心,主要解决模型参数量与计算量呈指数级增长的挑战。以 GPT-3 为例,其 1750 亿参数模型在 NVIDIA A100 上训练,单卡需要 32 年,千卡集群优化后仍需 34 天 。参数建模方法主要包括:
- 低秩适应 (LoRA):通过低秩矩阵分解冻结原模型参数,仅训练增量矩阵,显著减少显存占用。例如,LoRA 将 GPT-3 的 1.2TB 显存需求降至 350GB,且支持多任务场景下快速切换不同 LoRA 模块。
- 动态参数共享:根据任务和实例条件动态决定参数共享策略,提升多任务学习效率。如 DynaShare 提出分层门控策略,结合任务级和实例级参数选择,实现更灵活的参数共享。
- 混合专家模型 (MoE):通过稀疏门控机制激活部分专家网络,而非全部参数,提高计算效率。如 Switch Transformer 采用单专家路由,使模型参数量达到万亿级别,但仍能保持高效训练。
位置编码是解决长文本推理的关键技术,直接影响模型对序列内词汇关系的理解能力。主流位置编码方法包括:
- 旋转位置编码 (RoPE):通过复数旋转矩阵将绝对位置编码转化为相对位置感知,计算高效但外推能力有限。例如,RoPE 在 LLaMA 等模型中广泛应用,支持长文本推理但需要提前知道最大序列长度。
- ALiBi 位置编码:采用可学习线性变换,自适应地融合位置信息,具有更好的外推能力。如 Bloom 模型使用 ALiBi,使模型在处理远超训练序列长度的上下文时表现更稳定。
- More 架构:通过动态路由减少 KV Cache 内存占用,提升推理速度。例如,谷歌 More 架构通过路由机制让模型在自适应推理过程中突破固定思考深度限制,实现参数效率与自适应计算的统一。
MoE 算法是解决大模型算力墙的有效手段,其核心是门控机制和负载均衡策略 。主流 MoE 架构包括:
- GShard:采用 Top-2 Gating,通过本地分组和容量约束防止专家过载,但存在 token 丢弃问题。例如,GShard 在训练过程中引入辅助负载均衡损失,鼓励各专家负载更加均衡。
- Switch Transformer:单专家路由 (Top-1),降低通信开销但需精细调参容量因子。如 Switch Transformer 通过单专家路由使训练速度提升,但仍需依赖辅助损失来保持负载均衡。
- GLaM:回归 Top-2 Gating,增加残差旁路减少 overflow,提升零样本性能。例如,GLaM 采用精心设计的辅助损失函数和容量约束,在保持负载均衡的同时减少 token 丢失。
大模型架构与计算优化方法的选择,需根据具体场景需求(如训练/推理、长文本处理、多任务学习等)进行权衡,形成最适合的模型设计。
第二层:框架与编程接口层 (Framework & API Layer)
这是连接算法与系统的桥梁,定义了“如何描述计算”。
- 核心任务:
- 高层 API 封装:提供用户友好的接口(如 PyTorch, TensorFlow)来构建和操作模型。
- 计算图构建:将模型代码解析为有向无环图(DAG),明确算子间的依赖关系。
- 分布式抽象:集成或实现分布式训练/推理框架(如 DeepSpeed, Megatron-LM, Horovod, vLLM),隐藏复杂的并行细节。
- 关键技术:
- 自动微分(Autograd):实现反向传播算法(BP),自动计算梯度,是训练的核心。
- 并行策略:数据并行(DP)、张量并行(TP)、流水线并行(PP)、ZeRO 优化等,用于拆分巨大模型。
- 插件系统:vLLM 等推理引擎采用双轨插件,将硬件差异封装,实现框架与后端解耦。
- 关键考量:框架需要具备良好的可扩展性和灵活性,能够对接不同的编译器、运行时和硬件后端。
- 核心任务:将 LLM 模型代码(如基于 PyTorch/TensorFlow)适配到自研芯片,通过分布式框架实现大规模训练 / 推理。
- 设计要点:
- 框架移植:修改主流框架(如 Megatron-LM、vLLM)的硬件接口,将模型计算映射到芯片的计算核(如替换 CUDA 调用为芯片专用 API);
- 并行策略:设计混合并行方案(数据并行 + 张量并行 + 流水线并行),例如:
- 用张量并行拆分 Transformer 层的 QKV 计算,适配芯片的多核集群架构;
- 用流水线并行处理超长序列,避免单芯片内存溢出;
- 通信适配:将框架的集合通信(如 AllReduce)绑定到芯片的互联协议(如 PCIe/NVLink 类似的自研链路),优化跨芯片数据传输。
训练优化与推理加速是大模型 Infra 的核心技术挑战,需要通过算法创新和工具链支持来实现性能提升。
训练优化技术主要包括分布式训练框架和算子优化:
-
分布式训练框架:
- Megatron-LM:NVIDIA 开发的模型并行框架,侧重多节点预训练,支持 Transformer 架构的高效训练。
- DeepSpeed:微软开发的优化库,通过 3D 并行 (数据/模型/流水线) 和 ZeRO 技术解决显存不足问题,支持单 GPU 训练大模型。
- Colossal-AI:上海交大开发的框架,支持多级并行,动态内存管理提升显存利用率,自适应混合 Adam 优化器在异构训练中更灵活。
- Alpa:基于 Python 的并行计算库,通过自动并行化和零拷贝通信实现跨硬件 (CPU/GPU/TPU) 的高效训练,尤其在 MoE 模型训练中性能显著优于 DeepSpeed。
-
算子优化:
- 算子融合:如 vLLM 的分页注意力 (PagedAttention) 和 LightLLM 的细粒度 KV Cache 管理,减少内存碎片和通信开销。
- 量化技术:如 8 位/4 位量化压缩 KV Cache,降低存储需求。
- 内存管理:如 NPUDirect 算法小包通信时延降低 90%,适合 MoE 模型推理。
推理加速技术主要包括批处理策略和 KV Cache 优化:
-
批处理策略:
- Orca 连续批处理:vLLM 采用的动态批处理策略,通过预测生成长度上界减少 KV Cache 浪费,提升吞吐量。
- Prefix Prompt Cache:SGLang 设计的前缀提示缓存机制,预计算并缓存固定前缀的 KV Cache,减少重复计算。
-
KV Cache 优化:
- 分页注意力 (PagedAttention):借鉴计算机分页内存管理,将 KV 缓存映射到不连续的 GPU 内存区域,避免内存碎片问题。
- 缓存清理策略:如 LRU(最近最少使用)和 LFU(最少使用频率),根据需求清理部分缓存释放内存。
- 缓存合并:将相邻时间步的 KV 进行合并,降低缓存规模。
训练优化与推理加速技术的选择,需考虑硬件特性(如 GPU/TPU/NPU)、模型规模(如百亿/千亿/万亿参数)和应用场景(如训练/推理、长文本处理、多任务学习等),形成最适合的优化方案。
第三层:算子与内核层 (Operator & Kernel Layer)
这是性能优化的基石,定义了“计算的具体实现”。
- 核心任务:
- 高性能算子开发:为模型中的关键运算(如 MatMul, Conv, Softmax, Attention)编写高度优化的底层代码。
- 算子融合(Kernel Fusion):将多个小算子合并成一个大的 CUDA/NPU 内核,减少访存次数和启动开销(如 Fused Bias+Add+LayerNorm)。
- 特定硬件适配:利用专用硬件单元(如 NVIDIA Tensor Core, 华为昇腾 Cube Unit)进行加速。
- 关键技术:
- GPU 编程:精通 CUDA,掌握
stream,event, 内存层次(Global, Shared, L1/L2 Cache)优化。 - 领域专用库:使用 cuBLAS, cuDNN, CUTLASS, CK, Triton 等库来实现高效的基础运算。
- 手写汇编/低级代码:在极致优化场景下,直接编写汇编或利用 TVM/MLIR 生成最优代码。
- GPU 编程:精通 CUDA,掌握
- 关键考量:此层的性能直接决定了单个节点的算力上限,是“榨干”硬件潜力的关键。
-
核心技能:
- 架构设计:掌握张量计算单元(如 Tensor Core)、片上网络(NoC)、Chiplet 设计的原理,理解华为昇腾、摩尔线程等国产芯片的架构差异。
- 编程模型:精通 CUDA(核函数优化、shared memory 使用)、OpenCL,熟悉国产芯片的编程框架(如昇腾 Can、寒武纪 MLU-OPS)。
- 性能调优:使用 Nsight Compute、HPCG 等工具分析计算瓶颈,优化访存带宽与计算密度。
-
前沿技术:
- 全自动芯片设计:学习中科院「启蒙」系统的 AI 驱动芯片设计流程,掌握硬件代码自动生成(CodeV 系列)与操作系统内核优化(AutoOS)2。
- 异构计算优化:基于 LLVM/MLIR 实现跨芯片算子适配(如 FlagGems 支持 180 + 算子)10。
-
核心技能:
- 并行策略:设计多级并行方案(节点间 MPI + 节点内 OpenMP+SIMD 向量化),解决负载不均衡问题。
- 通信优化:掌握 RDMA、NVLink 等高速互联技术,优化 AllReduce、Gather/Scatter 等集体通信操作。
- 编译器优化:使用 LLVM/MLIR 进行循环展开、自动向量化,理解算子融合的底层实现。
-
前沿技术:
- 云超算标准化:学习 GB/T 45400-2025 国家标准,掌握弹性高性能计算(E-HPC V2.0)的资源调度与成本优化 11。
- 量子 - 经典混合计算:探索量子自动学习(QAL)、张量网络建模在 HPC 中的应用。
- 在超算集群上优化分子动力学模拟程序(如 NAMD)的并行效率
- 基于 MLIR 实现矩阵乘法的自动分块与访存优化
-
核心任务:为 LLM 的关键算子(如注意力、矩阵乘法、激活函数)开发芯片专用实现,最大化硬件利用率。
-
设计要点:
- 算子映射:将 Transformer 的核心计算(如 MatMul、Softmax)拆解为芯片支持的指令集(如张量计算单元 TCU 的专用指令);
- 算子优化:
- 利用芯片的存储层次(如片上 SRAM 缓存)减少访存延迟(如矩阵分块适配缓存大小);
- 算子融合(如 QKV 计算 + 注意力掩码融合),减少中间数据读写;
- 稀疏计算优化(如跳过零值特征),适配芯片的稀疏加速单元;
- 性能调优:通过芯片性能计数器(如计算单元利用率、内存带宽)调整算子实现(如线程块大小、数据布局)。
第四层:编译与优化层 (Compiler & Optimization Layer)
这是智能化的调度中心,定义了“如何高效地执行计算”。
- 核心任务:
- 计算图优化:基于数据流分析(Dataflow Analysis)进行常量折叠、死代码消除、算子重排等。
- 内存规划:智能分配和复用内存,最小化内存占用和碎片(如 TVM Relay, MLIR)。
- 代码生成:将高级计算图编译为目标硬件的机器码或中间表示(IR)。
- 关键技术:
- 深度学习编译器:TVM, MLIR, XLA 等,实现跨平台、跨硬件的代码生成与优化。
- Polyhedral 模型:用于循环嵌套的复杂变换与优化(如 tiling, fusion, parallelization)。
- 自动调优(Auto-tuning):使用搜索算法(如网格搜索、贝叶斯优化)找到最优的算子实现参数。
- 关键考量:编译器是实现“一次编写,到处高效运行”的关键,能显著降低在新硬件上移植模型的成本。
- 核心任务:将 LLM 的计算图(由框架生成)编译为芯片可执行的机器码,完成优化(如指令重排、内存分配)。
- 设计要点:
- 计算图优化:基于芯片架构进行图剪枝、算子合并(如将多层 BN+ReLU 合并为单指令);
- 指令生成:通过编译器(如基于 TVM/MLIR 定制)将算子转换为芯片的微指令流,利用指令级并行(ILP)提升效率;
- 内存调度:优化数据在片上 / 片外存储的分配与搬运(如预取策略),避免计算单元空闲;
- 硬件适配:针对芯片的特殊功能(如动态电压调节、多精度计算)生成适配指令(如自动切换 FP16/INT8 计算模式)。
第五层:运行时与资源管理层 (Runtime & Resource Management Layer)
这是系统的“操作系统”,定义了“何时何地执行计算”。
- 核心任务:
- 任务调度:协调 CPU、GPU/NPU、内存和通信资源,调度计算任务和数据传输。
- 内存管理:管理设备内存池,实现高效的内存分配、回收和迁移。
- 通信管理:提供集合通信原语(Collective Operations)的 API(如 AllReduce, AllGather),并管理底层通信。
- 关键技术:
- 异步编程:利用
stream和event实现计算与通信的重叠(Overlap)。
- Actor/CSP 模型:用于构建高并发、低延迟的服务系统。
- 虚拟内存与分页:借鉴 OS 思想,vLLM 的 PagedAttention 技术将不连续的物理内存块映射给请求,解决 KV Cache 碎片问题。
- 异步编程:利用
- 关键考量:此层的效率决定了多卡/多机集群的整体吞吐量和响应延迟。
- 核心任务:管理芯片的计算资源、内存和通信,协调多芯片 / 多节点的协同执行。
- 设计要点:
- 任务调度:将编译后的指令分发到芯片的计算核心,支持多流并行(如计算与数据传输重叠);
- 内存管理:
- 分配芯片的 HBM/SRAM 资源(如为注意力权重分配高带宽存储);
- 实现内存池复用,减少动态分配开销;
- 通信管理:封装芯片间的互联接口(如自研高速链路),提供集合通信 API(如 AllReduce、Broadcast),支持分布式训练的梯度同步;
- 故障处理:检测芯片错误(如计算超时、内存错误),实现任务重试或故障节点隔离。
第六层:驱动与通信层 (Driver & Communication Layer)
这是连接软件与硬件的“神经末梢”,定义了“如何控制硬件”。
- 核心任务:
- 硬件抽象:提供统一的软件接口(如 CUDA Driver API, HCCL),屏蔽不同 GPU/NPU 的硬件差异。
- 高速通信实现:实现高效的集合通信库(如 NCCL, HCCL, Gloo),利用高速互连技术。
- 性能监控:读取硬件计数器,监控温度、功耗、利用率等指标。
- 关键技术:
- RDMA 编程:使用
ibverbs等接口,实现远程直接内存访问,绕过 CPU,降低通信延迟。 - 高速互连:NVLink(芯片间)、InfiniBand/RoCEv2(节点间)提供超高带宽和低延迟。
- 国产化通信优化:华为 NPUDirect 等技术,通过精简同步步骤,将小包通信延迟降低 90%。
- RDMA 编程:使用
- 关键考量:通信已成为分布式训练的主要瓶颈,此层的优化对整体性能提升至关重要。
- 核心任务:作为 Runtime 与硬件的接口,将高层指令转换为芯片的物理操作(如寄存器配置、时钟控制)。
- 设计要点:
- 硬件抽象:封装芯片的底层寄存器、计算单元、存储控制器,提供统一的软件调用接口(如初始化、启动 / 停止计算);
- 资源隔离:控制多进程 / 多任务对芯片资源的访问(如通过 PCIe BAR 空间隔离),避免冲突;
- 性能监控:读取芯片的传感器数据(如温度、功耗),反馈给 Runtime 进行动态调频(如高负载时提升核心频率);
- 兼容性:适配 Linux 内核驱动框架(如 PCIe 设备驱动模型),确保芯片可被操作系统识别和管理。
第七层:硬件与体系结构层 (Hardware & Architecture Layer)
这是整个体系的物理基础,定义了“计算发生的场所”。
- 核心任务:
- 芯片设计:设计专用的 AI 加速器(如 NVIDIA GPU, Google TPU, 华为昇腾 NPU),包含计算单元、存储层次和互联网络。
- 系统集成:构建服务器和超算集群,配置 HBM 内存、PCIe 总线、NVLink 和 InfiniBand 网络。
- 功耗与散热:设计电源和冷却方案,确保系统稳定运行。
- 关键技术:
- 计算机体系结构:理解 CPU/GPU/NPU 的微架构(流水线、缓存、分支预测)。
- Chiplet 设计:采用 UCIe 等标准,将大型芯片分解为多个芯粒,提升良率和灵活性。
- 性能建模:使用 Amdahl 定律、Roofline 模型量化分析系统瓶颈。
- 关键考量:硬件的能力设定了整个系统性能的理论上限,而软硬件协同设计(Co-design)是突破这一上限的唯一途径。
- 设计要点:
- 计算单元:根据 LLM 算子特性设计专用加速核(如 Transformer 计算引擎、注意力专用单元);
- 存储层次:配置 HBM 容量(如 128GB / 芯片)和带宽(如 800GB/s),匹配 LLM 的访存需求;
- 互联设计:支持多芯片组网(如片间 NVLink-like 总线、RDMA 网络),满足分布式训练的通信带宽(如单机 8 卡总带宽 2TB/s);
- 功耗与散热:根据软件层的计算强度(如峰值算力 3PFlops)设计电源和散热方案(如液冷),确保稳定运行。

总结:协同演进的生态系统
这七个层次并非孤立存在,而是一个自顶向下需求传导,自底向上能力支撑的有机整体。
- 从算法到硬件:一个新型的稀疏注意力算法(第一层)会推动框架增加新的并行策略(第二层),催生新的融合算子(第三层),要求编译器进行特殊优化(第四层),并可能最终影响下一代 NPU 的架构设计(第七层)。
- 从硬件到算法:新一代 GPU 引入 FP8 精度(第七层),促使编译器和算子库支持该格式(第三、四层),进而让研究人员探索在 FP8 下保持模型精度的训练方法(第一层)。
因此,构建面向未来的 AI 人才知识体系,必须打破传统学科的壁垒,培养横跨算法、框架、编译、系统、硬件的全栈视野。唯有如此,才能真正驾驭大语言模型这一复杂巨系统,推动 AI 技术的持续创新与落地。
- 自顶向下:算法层定义模型需求→框架层确定分布式策略→算子层适配计算核心→编译层优化指令与内存→Runtime 层调度资源→驱动层控制硬件→硬件层提供物理支撑。
- 自底向上:硬件特性(如存储带宽)约束算子设计→编译层需匹配硬件指令集→Runtime 层需利用硬件互联特性→框架层的并行策略需适配硬件拓扑。
以 “千亿参数 LLM 推理” 为例,完整流程为:
- 算法层确定用 INT4 量化压缩模型;
- 框架层(vLLM)采用 PagedAttention 优化内存;
- 算子层开发 INT4 注意力核,适配芯片的量化计算单元;
- 编译层将算子合并为指令流,优化 HBM 访存;
- Runtime 层调度多芯片分片执行,通过高速互联传输中间结果;
- 驱动层控制芯片工作在低功耗模式,匹配推理场景;
- 硬件层通过 8 卡集群提供足够算力,完成高吞吐推理。
四、大模型 Infra 的核心挑战与解决方案
大模型 Infra 面临的主要挑战包括算力墙、存储墙、通信瓶颈、软件生态碎片化和成本高昂等问题,需要通过技术创新和工具链支持来解决。
算力墙挑战:随着模型参数量的指数级增长,算力需求急剧上升。例如,GPT-3 需要 3640 PF-days 算力,GPT-5 预计参数量达 18 万亿,需 3 万 -5 万张 H100 GPU 训练 200 多天 。解决方案包括:
- 分布式训练:通过数据并行、模型并行和流水线并行等技术,将计算任务分配到多个 GPU 上并行执行。
- 混合专家模型 (MoE):通过稀疏门控机制激活部分专家网络,而非全部参数,提高计算效率。
- 参数高效微调 (PEFT):如 LoRA、Prefix Tuning 等技术,仅训练少量参数即可适配下游任务。
存储墙挑战:KV Cache 和模型参数占用大量显存/内存,限制模型规模和上下文长度 。解决方案包括:
- KV Cache 分页管理:如 vLLM 的分页注意力和 LightLLM 的细粒度 KV Cache 管理,减少内存碎片。
- 量化技术:如 8 位/4 位量化压缩 KV Cache,降低存储需求。
- 动态参数管理:如 NPUDirect 算法动态切分物理内存适配虚拟地址,提升内存利用率 20% 以上。
通信瓶颈挑战:分布式训练中 GPU 间数据传输延迟高,限制训练速度和扩展性 。解决方案包括:
- 通信算法优化:如 NCCL 2.4 双向二叉树在千卡规模下性能优于传统 Ring All-Reduce,Blink 协议在异构 GPU 间吞吐量达 26.4GB/s,优于 NCCL 的 4.8GB/s。
- 网络硬件升级:如 InfiniBand 等高速网络降低通信延迟,NVLink 和 PCIe 混合使用提高带宽。
- 通信与计算重叠:如 NPUDirect 实现 ” 单消息一次同步 ” 机制,使小包通信耗时降低 90%,整网通信时延减少 50%。
软件生态碎片化挑战:多芯片适配困难,需工具链解耦硬件与框架 。解决方案包括:
- 中间件抽象:如昇腾 Can 和寒武纪 Cambricon Tookit 提供统一的编程接口,支持不同框架在不同硬件上运行。
- 插件系统:如 vLLM 的双轨插件体系,将硬件差异封装在平台插件内部,实现核心框架与硬件解耦。
- 开源社区共建:如昇腾社区由 6000+ 认证开发者组成,推动算子开发和算法优化。
成本高昂挑战:硬件采购与维护成本高,如万卡集群训练一次费用超 200 万元 。解决方案包括:
- 弹性算力调度:如阿里云 ECS 弹性伸缩按需创建或释放资源,综合算力成本最高可降 55%。
- 混合实例类型:如阿里云 SpotMax 方案结合抢占式实例和按量付费实例,平衡成本与可用性。
- 国产芯片替代:如华为昇腾 910B 的 FP16 算力达 320TFLOPS,与 NVIDIA A100 接近,推动算力成本下降。
大模型 Infra 的核心挑战与解决方案的选择,需根据具体场景需求(如模型规模、硬件环境、成本预算等)进行权衡,形成最适合的系统架构。
五、大模型 Infra 的常用工具链
大模型 Infra 的常用工具链主要包括训练框架、推理框架、数据工程工具和监控管理工具等,形成完整的开发、训练、部署和应用流程。
训练框架是大模型开发的基础,主要包括:
- Megatron-LM:NVIDIA 开发的模型并行框架,侧重多节点预训练,支持 Transformer 架构的高效训练。
- DeepSpeed:微软开发的优化库,通过 3D 并行和 ZeRO 技术解决显存不足问题,支持单 GPU 训练大模型。
- Colossal-AI:上海交大开发的框架,支持多级并行,动态内存管理提升显存利用率,自适应混合 Adam 优化器在异构训练中更灵活。
- Alpa:基于 Python 的并行计算库,通过自动并行化和零拷贝通信实现跨硬件高效训练,尤其在 MoE 模型训练中性能优异。
推理框架是大模型应用的关键,主要包括:
- vLLM:支持动态批处理 (Orca 策略) 和显存优化,高吞吐推理。
- TensorRT-LLM:NVIDIA 开发的推理加速框架,针对 NVIDIA 硬件优化,提供端到端推理加速。
- FasterTransformer:基于 NVIDIA 的插件化设计,支持 TensorRT 加速,适用于 CPU/GPU 混合部署。
- SGLang:支持 Prefix Prompt Cache 设计,预计算并缓存固定前缀的 KV Cache,减少重复计算。
数据工程工具支撑大模型的数据准备和处理,主要包括:
- MLFlow:模型版本管理,跟踪实验参数和结果。
- DVC:数据与模型版本控制,支持分布式数据集管理。
- Label Studio:自动化标注工具,支持大规模数据标注和管理。
- Prometheus:监控工具,实时跟踪模型性能和资源使用情况。
国产工具链是大模型 Infra 的重要组成部分,主要包括:
- 昇腾 Can:华为开发的 AI 计算架构,深度兼容 PyTorch(通过 TorchAir 扩展库),支持 Ascend C 开发 260+ 算子,且与 vLLM 通过插件系统集成。
- 寒武纪 Cambricon Tookit:寒武纪开发的 AI 计算工具包,提供算子库和编程接口,支持模型在寒武纪芯片上运行。
- MindSpore:华为开发的深度学习框架,与昇腾 Can 深度集成,支持大模型训练和推理。
- PaddlePaddle:百度开发的深度学习平台,支持模型在多种硬件上运行,包括百度昆仑芯片。
云服务工具链提供弹性算力和分布式训练环境,主要包括:
- 阿里云 ECS 弹性伸缩:支持按需创建或释放资源,综合算力成本最高可降 55%,且容器服务 ACS 支持秒级热变配。
- 华为昇腾 LLMDataDist:提供分布式 KV Cache 管理,支持与 vLLM、MindSpore 等框架集成,优化跨集群通信。
- 腾讯云 AI 平台:提供大规模 GPU 集群和分布式训练框架,支持大模型训练和推理。
- 百度智能云磐久 AI:提供 AI 算法预测 GPU 故障,准确率达 92%,稳定连接超过 10 万个 GPU,提升训练性能。
大模型 Infra 工具链的选择,需考虑硬件环境(如 GPU/TPU/NPU)、开发需求(如训练/推理)、生态兼容性(如开源/闭源)和成本预算等因素,形成最适合的工具链组合。
1. 开发工具与框架
-
编译器与调试:
- LLVM/MLIR:实现跨芯片算子编译优化,支持昇腾、寒武纪等国产架构。
- Nsight Compute:分析 GPU 计算瓶颈,优化矩阵运算效率。
-
推理引擎:
- TensorRT-LLM:支持千亿参数模型的 INT8 量化与多 GPU 并行推理。
- vLLM:通过 PagedAttention 优化长序列生成的内存利用率。
-
混合精度工具:
- Apex:PyTorch 生态的混合精度训练库。
- BF16/FP8 原生支持:利用英伟达 H100、昇腾 910B 的硬件加速特性。
-
FlagGems:跨芯片算子库,支持 PyTorch 生态,性能超厂商原生算子 30%。
-
启蒙系统:全自动芯片设计工具,支持 RISC-V CPU 与操作系统内核优化。
-
SepLLM:大模型稀疏注意力优化框架,支持动态 KV 缓存管理。