我们介绍Zoomer,这是Meta全面的、自动化的人工智能调试与优化平台。Zoomer横跨Meta所有的训练和推理工作负载,并提供深度的性能洞察,使我们的AI基础设施能够实现节能、工作流加速和效率提升。Zoomer已实现了训练时间减少和显著的每秒查询率(QPS)改进,使其成为Meta整个AI基础设施中进行AI性能优化的事实标准工具。
在Meta AI基础设施的运作规模下,糟糕的性能调试可能导致巨大的能源效率低下、运营成本增加以及数十万GPU硬件利用率不佳。根本性挑战在于实现最大的计算效率,同时最小化浪费。利用率每提高一个百分点,都意味着可以被重新分配到创新和增长上的显著容量收益。
Zoomer是Meta用于AI训练和推理工作负载的性能剖析、调试、分析和优化的自动化一站式平台。自诞生以来,Zoomer已成为Meta内部GPU工作负载优化的事实标准工具,每天为我们所有应用程序的团队生成数以万计的剖析报告。
为何性能调试至关重要 我们的AI基础设施支持遍布全球GPU集群的大规模先进工作负载,并不断发展以满足生成式AI日益增长规模和复杂性的需求。 在训练层面,它支持多样化的各种工作负载,包括驱动广告排名、内容推荐和GenAI功能的模型。 在推理层面,我们每天执行数万亿次AI模型推理。
在此规模下运作意味着必须高度优先消除GPU利用率不足。训练效率低下会延迟模型迭代和产品发布,而推理瓶颈则限制了我们大规模响应用户请求的能力。消除资源浪费和加速工作流程有助于我们更高效地训练更大的模型、服务更多用户并减少环境足迹。
使用Zoomer进行AI性能优化 Zoomer是一个自动化调试与优化平台,适用于我们所有的AI模型类型(广告推荐、GenAI、计算机视觉等)以及训练和推理两种范式,提供深入的性能洞察,从而实现节能、工作流加速和效率提升。
Zoomer的架构由三个相互协作的、提供全面AI性能洞察的基本层组成:
基础设施与平台层 该基础层提供了剖析Meta庞大基础设施上工作负载所需的企业级可扩展性和可靠性。这包括使用Manifold(Meta的blob存储平台)存储追踪数据的分布式存储系统、处理巨大追踪文件的容错处理流水线,以及在数千台主机上同时进行自动剖析触发的低延迟数据收集。该平台通过冗余处理工作者保持高可用性和规模,并能在高峰使用期间处理大量的剖析请求。
分析与洞察引擎 这个核心智能层通过多个专门的分析器提供深度分析能力。这包括:通过Kineto集成和NVIDIA DCGM进行的GPU追踪分析、通过StrobeLight集成进行的CPU剖析、通过dyno遥测技术进行的宿主机级指标分析、用于分布式训练的通信模式分析、跨分布式rank的掉队进程检测、内存分配剖析(包括GPU内存窥探)、推理工作负载的请求/响应剖析等等。该引擎能自动检测性能反模式,并提供可行的建议。
可视化与用户界面层 该展示层将复杂的性能数据转化为直观、可操作的洞察。这包括:展示数千个rank上GPU活动的交互式时间线可视化、针对长时间运行训练工作负载的多轮次分析、跨设备百分位数分析的钻取仪表板、与Perfetto集成用于内核级检查的追踪数据可视化、用于识别GPU部署中异常值的热力图可视化,以及突出关键瓶颈和优化机会的自动化洞察摘要。
Zoomer剖析工作原理:从触发到洞察 了解Zoomer如何进行一次完整的性能分析,可以洞察其AI工作负载优化方法的复杂性。
剖析触发机制 Zoomer通过针对不同工作负载类型量身定制的自动和按需剖析策略运作。对于涉及多次迭代并可能运行数天或数周的训练工作负载,Zoomer会在第550-555次迭代附近自动触发剖析,以捕获稳定状态性能,同时避免启动噪声。对于推理工作负载,剖析可以按需触发以进行即时调试,或通过与自动负载测试和基准测试系统集成进行持续监控。
全面数据捕获 在每个剖析会话期间,Zoomer同时收集多个数据流,以构建整体的性能图景:
- GPU性能指标:通过DCGM集成收集SM利用率、GPU内存利用率、GPU繁忙时间、内存带宽、Tensor Core利用率、功耗、时钟频率和功耗数据。
- 详细执行追踪:通过PyTorch Profiler和Kineto收集内核级GPU操作、内存传输、CUDA API调用和通信集体操作。
- 宿主机级性能数据:通过dyno遥测技术收集CPU利用率、内存使用、网络I/O、存储访问模式和系统级瓶颈。
- 应用级标注:训练迭代、前向/后向传播、优化器步骤、数据加载阶段和自定义用户标注。
- 推理特定数据:通过Strobelight的Crochet剖析器收集推理请求速率、服务器延迟、活动请求数、GPU内存分配模式、请求延迟细分、服务参数分析以及thrift请求级剖析。
- 通信分析:针对分布式工作负载的NCCL集体操作、节点间通信模式和网络利用率。
分布式分析流水线 原始剖析数据流经复杂的处理系统,提供多种类型的自动化分析,包括:
- 掉队进程检测:通过执行时间线和通信模式的比较分析,识别分布式训练中的慢速rank。
- 瓶颈分析:自动检测CPU-bound、GPU-bound、内存-bound或通信-bound的性能问题。
- 关键路径分析:系统性地识别最长的执行路径,将优化工作集中在影响最大的机会上。
- 反模式检测:基于规则的系统,识别常见的效率问题并生成具体建议。
- 并行性分析:深入了解大规模分布式训练中张量、流水线、数据和专家并行之间的交互。
- 内存分析:全面分析GPU内存使用模式、分配跟踪和泄漏检测。
- 负载不均衡分析:检测分布式rank间的工作负载分布问题并提供优化建议。
多格式输出生成 结果通过针对不同用户需求定制的多种界面呈现:显示所有rank和主机上活动的交互式时间线可视化、具有钻取能力和百分位数分析的综合性指标仪表板、与Perfetto集成用于详细内核检查的追踪查看器、突出关键瓶颈和建议的自动化洞察摘要,以及用户可以克隆以使用建议的优化重新运行作业的可操作Notebook。
专业化工作负载支持 对于像GenAI这样的专门工作负载的大规模分布式训练,Zoomer包含一个支持LLM工作负载的专用平台,提供包括GPU效率热图和N维并行可视化在内的专业能力。对于推理,专门的分析覆盖了从单GPU模型到未来扩展到跨数千台服务器的大规模分布式推理的一切。
Zoomer高级能力一览 Zoomer提供了针对不同AI工作负载类型和规模的广泛高级能力。虽然全面概述所有功能需要多篇博客文章,但这里简要介绍一些最能体现Zoomer深度的令人信服的能力:
训练强力功能:
- 掉队进程分析:帮助识别分布式训练作业中明显慢于其他进程的rank,这些rank会导致因同步瓶颈而产生整体作业延迟。Zoomer提供有助于诊断根本原因(如分片不均衡或硬件问题)的信息。
- 关键路径分析:识别PyTorch应用中最长的执行路径,从而能够准确预测性能改进。
- 高级追踪操作:用于压缩、过滤、合并和分割大型追踪文件(每个rank可达2GB+)的复杂工具,使得分析以前无法处理的大规模训练作业成为可能。
推理卓越功能:
- 一键QPS优化:一种识别瓶颈并通过一键触发自动化负载测试的工作流,在减少优化时间的同时,根据不同模型特性,带来+2%到+50%的QPS提升。
- 请求级深入分析:与Crochet剖析器集成提供Thrift请求级分析,能够识别传统指标遗漏的队列时间瓶颈和服务低效问题。
- 实时内存剖析:GPU内存分配跟踪,提供关于内存泄漏、分配模式和优化机会的实时洞察。
GenAI专业功能:
- 面向规模的LLM Zoomer:一个支持10万+ GPU工作负载的专用平台,提供N维并行可视化、跨数千台设备的GPU效率热图,以及针对张量、流水线、数据和专家并行交互的专业分析。
- 训练后工作流支持:为GenAI训练后任务(包括SFT、DPO和ARPG工作流)增强的能力,分离了生成器和训练器的剖析。
通用智能功能:
- 整体追踪分析:用于跨通信开销、工作负载不均衡和内核低效诊断分布式训练瓶颈的高级框架,带有自动负载均衡建议。
- Zoomer可操作建议引擎:通过机器学习驱动的推荐系统自动检测效率反模式,生成自动修复diff、优化Notebook以及使用建议改进一键重新启动作业。
- 多硬件剖析:原生支持跨NVIDIA GPU、AMD MI300X、MTIA和纯CPU工作负载,无论硬件平台如何,都能提供一致的分析和优化建议。
Zoomer的优化影响:从调试到能源效率 使用Zoomer进行性能调试会产生连锁反应,将底层优化转化为巨大的效率收益。 优化路径遵循:识别瓶颈 → 改进关键指标 → 加速工作流程 → 减少资源消耗 → 节约能源和成本。
Zoomer的训练优化流水线 Zoomer的训练分析识别GPU利用率、内存带宽和通信模式中的瓶颈。 训练效率提升示例:
- 算法优化:我们通过系统性效率改进,修复低效率作业的可靠性问题,在整个训练集群中实现了节能。
- 训练时间减少成功案例:在2024年,我们观察到广告相关性模型的训练时间减少了75%,功耗降低了78%。
- 内存优化:针对由Zoomer识别的因低效内存拷贝导致的性能问题,仅需一行代码更改,就以最小的工程工作量带来了20%的QPS提升。
推理优化流水线: 推理调试侧重于延迟减少、吞吐量优化和服务效率。Zoomer识别内核执行、内存访问模式和服务参数调整方面的机会,以最大化每GPU的请求数。 推理效率提升示例:
- GPU和CPU服务参数改进:自动化的GPU和CPU瓶颈识别与参数调优,实现了10%到45%的功耗降低。
- QPS优化:利用GPU追踪分析来提升服务QPS并优化服务容量。
Zoomer的GenAI与大规模影响 对于大规模分布式工作负载,即使微小的优化也会产生巨大的复合效应。通过对广播问题的解决,32k GPU基准测试优化实现了30%的速度提升,而64k GPU配置仅通过一天的优化就带来了25%的速度提升。
AI性能调试的未来 随着AI工作负载规模和复杂性的扩展,Zoomer正在发展以应对新的挑战,聚焦于几个创新前沿:扩展跨异构硬件(包括MTIA和下一代加速器)的统一性能洞察、构建用于主动优化的高级分析器、通过服务参数优化实现推理性能调优,以及通过自动化、直观的工具向所有工程师普及优化。随着Meta的AI基础设施持续快速增长,Zoomer在帮助我们高效和可持续地创新方面扮演着重要角色。
致谢 我要感谢我的整个团队以及我们的合作伙伴团队…(此处省略致谢名单,因其不构成实质技术内容) 我还要感谢过去的团队成员和合作伙伴…(此处省略致谢名单,因其不构成实质技术内容)