1、智算集群AI业务高效与精细化的在线Profiling定义AI业务观测新范式,阿里云智能集团 弹性计算/基础软件,2025/11/15,霍智鑫/黄永琢,霍智鑫阿里云智能-弹性计算-高级研发工程师,黄永琢阿里云智能-基础软件-高级研发工程师,CONTENT,目录,01,在线AI业务挑战与Profiling示例,02,Kubernetes原生的AI Profiling架构,03,AI Profiling关键技术与效果验证,04,案例分析,01 在线AI业务挑战与Profiling示例,复杂的分布式AI业务(训练/推理)架构,GPU Driver/Runtime,RDMA Libs,CUDA Libs
2、,AI Framework,AI Applications,OS Kernel,Kubernetes Node,GPU Driver/Runtime,RDMA Libs,CUDA Libs,AI Framework,AI Applications,OS Kernel,Kubernetes Node,EthernetIB/RoCE,引子:vLLM线上推理服务的显存泄漏问题,复现现象1:通过 nvidia-smi 观察到有显存增长,复现现象2:通过 dcgm-exporter 监控观察到有显存增长,复现现象3:观测vLLM日志发现KV-Cache利用率并未打满,vLLM启动时使用显存预分配机制,在
3、KV-Cache利用率未满情况下理论显存值不应上涨,NVIDIA DCGM优势:Kubernetes Pod与GPU维度监控数据,Metrics持续上报;劣势:业务实际运行情况完全黑盒;NVIDIA Nsight优势:能细粒度抓取GPU上CUDA Stream、CUDA Kernel、相关CPU占用等执行情况,以TimeLine形式呈现出来;劣势:Overhead大,只能离线控制任务,无具体AI业务的执行栈(Python);bpftrace优势:使用eBPF从内核层面提供CPU、Memory、Syscall、Uprobe等方面的trace数据;劣势:输出内容与其他分析数据格式差异,结合分析门槛
4、较高,且无GPU相关数据;Torch Profiler优势:能抓取较为丰富的Torch层、CUDA Kernel层的数据,且也能以Trace格式输出;劣势:需要显式在业务Python代码中声明,对业务代码具有侵入性,线上业务成本高。,开盒业务Pod所可能用到的排查工具,02 Kubernetes原生的AI Profiling架构,Kubernetes原生的精细化AI Profiling能力,业务无侵入、代码零改造,AI 业务完全无感知,Profiling 过程动态启停。使用进程动态注入与eBPF做到业务代码无侵入,且不区分业务类型。,1.attach to GPU pod,2.Collect
5、AI profiling data,3.visualize&diagnose,AIProfilerpod,采集丰富、TimeLine可视化聚合,场景广、轻量级,采集CPU、Syscall、Python Function Call、CUDA Kernel(包含NCCL Kernel)、Torch Op等的Profiling数据,并统一到TimeLine聚合展示。,适用与Kubernetes上通用 Containerd 场景和 Kata-Container 场景,开启AI Profiling后AI业务Overhead小于10%,。,使用eBPF抓取进程通用监测数据,eBPF对目标业务进程采集项:C
6、PU原生sched_switch Tracepoint;OS系统调用原生raw_syscalls Tracepoint;用户库Symbol Uprobe;Python解释器USDT Tracepoint;,进程CPU占用、SysCall调用、Python函数调用、自定义库Symbol调用以Chrome Tracing Events格式对采集数据进行输出,使用进程动态注入抓取GPU Kernel,基于动态注入;动态开启 CUPTI;共享业务进程空间;,面向Containerd runc设计的Profiling架构,面向Kata-Container设计的Profiling架构,Pod Securi