You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
可观测性
AI Profiling
复制全文
下载 pdf
AI Profiling
当您在容器服务集群中部署大语言模型(LLM)时,支持对指定容器进行 AI Profiling 分析,方便面向 LLM 全生命周期(训练、推理、优化)进行检测和调优。本文介绍如何配置 AI Profiling 功能。​
背景信息​
随着大语言模型(LLM)的普及,AI 训练与推理的性能检测和调优需求日益增长。对于 LLM 这种运行在 GPU 节点上的业务,对 GPU 容器进行在线性能分析尤为重要。AI Profiling 通过 eBPF 和动态进程注入技术,支持无侵入进行数据采集与分析,专为 Kubernetes 容器场景设计,可对运行 GPU 任务的容器进程实施在线检测。​
当前 AI Profiling 支持的采集项及说明,如下表所示。​
​
采集项​
说明​
CUDA​
即 CUDA 核函数。可以用于观测和分析 LLM 底层 GPU 资源的状态,例如:GPU 繁忙时间、GPU 核函数的分布、TimeLine 分析(例如:分析一个训练步骤,包括数据加载、前向传播、后向传播和优化器更新)等。​
PyTorch​
即 PyTorch 算子,可以用于 精准定位模型性能瓶颈,为优化模型效率、提升训练 / 推理速度、降低资源消耗提供数据支持。包括:​
  • 识别算子级性能瓶颈,针对性优化:PyTorch 模型由大量算子(如卷积、矩阵乘法、激活函数等)组合而成,不同算子的耗时、资源占用差异极大。​
  • 优化硬件利用率,释放计算潜能:AI 任务的性能受限于硬件(CPU/GPU)利用率,而算子的执行方式直接影响硬件效率。​
  • 验证优化效果,量化提升空间:无论是手动优化算子(如改写 CUDA 扩展)、使用 PyTorch 内置优化工具(如 torch.compile),还是更换硬件(如从 V100 升级到 A100),都可以通过 Profiling 验证效果。​
Python​
即 Python 进程调用栈。Python 作为动态语言,其代码执行路径灵活多变(如条件分支、动态函数调用),调用栈能将零散的性能数据(耗时、资源占用)锚定到具体代码位置。对于复杂 AI 系统(如大模型训练、分布式推理),调用栈分析更是解决跨模块、跨硬件性能问题的必备能力。例如:​
  • 低效定位:调用栈记录了函数/算子的调用关系,结合耗时数据可直接定位低效代码的具体位置或冗余调用的源头。​
  • 异常识别:LLM 常包含多层嵌套的函数调用(如模型层、损失函数、优化器、数据加载等模块交织),通过还原调用顺序,能够识别和定位异常分支。​
  • 优化依据:调用栈的深度和复杂度直接反映代码设计合理性,通过低效定位和异常识别,能够为简化冗余调用链、模块化代码提供依据。​
​
使用限制​
配置 AI Profiling 的容器,需要满足以下环境和版本要求。​
​
要求分类​
环境要求​
基础环境​
  • glibc 2.17 及以上版本。​
  • libstdc++ 6.0.19 及以上版本。​
  • python 3.7 及以上版本,并且安装了 pip。​
Pytorch 额外要求​
  • glibc 2.28 及以上版本。​
  • libstdc++ 6.0.25 及以上版本。​
工具链​
  • g++ 8 及以上版本。​
插件版本​
  • Pytorch:1.13、2.0、2.1、2.2、2.3、2.4、2.5、2.6、2.7、2.8。​
  • Python:3.7、3.8、3.9、3.10、3.11、3.12、3.13。​
  • Cuda:11.2、11.3、11.4、11.5、11.6、11.7、11.8、12.0、12.1、12.2、12.3、12.4、12.5、12.6、12.8、12.9、13.0。​
​
前提条件​
已开通对象存储,并在 VKE 集群相同地域内,创建 TOS 桶。详情请参见 创建存储桶。​
操作步骤​
步骤一:诊断设置​
  1. 在左侧导航栏中选择 集群。​
  1. 在集群列表页面,单击目标集群。​
  1. 在集群管理页面的左侧导航栏中,选择 AI Profiling,单击 诊断设置。​
  1. 选择已创建的 TOS 桶,并配置子目录。该对象存存储和目录用于存放 AI Profiling 采集到的数据。​
  • ​
    配置项​
    说明​
    桶名称​
    在下拉菜单中选择已创建的 TOS 桶。​
    子目录​
    配置抓包结果保存在 TOS 桶中的路径,未配置时为/路径。​
    ​
  1. 单击 确定,完成配置。​
步骤二:创建诊断任务​
  1. 单击 创建诊断任务,配置诊断任务详情。​
  • ​​​
  • ​
    配置项​
    说明​
    命名空间​
    选择诊断任务目标所在的命名空间。​
    容器组​
    选择抓包任务的目标容器组。​
    容器​
    选择抓包任务的目标容器。​
    采集项​
    配置采集目标的采集项,包括:​
    • cuda:即 CUDA 核函数,需要保证目标容器正在使用 GPU,才能成功采集到相关数据。​
    • pytorch:PyTorch 算子。​
    • python:Python 进程调用栈。​
    采集时间​
    配置检测时长。​
    说明​
    检测时长建议控制在 60 秒以内,AI Profiling 为实时采集,采集数据过多可能会对内存和磁盘产生压力。​
    ​
  1. 单击 确定,完成配置。​
结果验证​
  1. 诊断任务配置完成后,系统开始进行诊断。当任务状态变为 完成 后,表示诊断任务进行完成。​
  1. 单击任务名称,进入任务详情页面。在 诊断结果 中单击 点击下载,可以将 AI Profiling 诊断结果文件下载到本地。您可以将 Profiling 文件上传到 Perfetto 在线工具 进行可视化分析。​
  • ​​​
​
最近更新时间:2026.03.17 10:36:11
这个页面对您有帮助吗?
有用
有用
无用
无用