Profiling Data – DeepSeek开源训练和推理框架的性能分析数据

AI工具3周前发布 ainav
27 0

Profiling Data是什么

Profiling Data是DeepSeek开源的训练和推理框架的性能分析数据,基于PyTorch Profiler捕获的程序运行过程中的详细信息,用在分析和优化软件性能。下载后直接在 Chrome 或 Edge 浏览器中基于 chrome://tracing 或 edge://tracing 打开,进行可视化分析。Profiling Data记录了程序在执行过程中的时间消耗、资源利用率、通信模式等关键指标。在深度学习框架中,Profiling Data帮助开发者了解模型训练和推理过程中的计算与通信重叠策略、不同硬件资源的使用情况及潜在的性能瓶颈。基于对数据的分析,开发者优化代码实现、调整并行策略,提高系统的整体效率。

Profiling Data – DeepSeek开源训练和推理框架的性能分析数据

Profiling Data的主要功能

  • 性能瓶颈定位:基于记录程序运行过程中的时间消耗、资源使用情况等,帮助开发者快速定位性能瓶颈,例如哪些函数或模块占用过多时间或资源。
  • 资源利用分析:分析CPU、GPU、内存等硬件资源的使用情况,帮助优化资源分配,避免资源浪费。
  • 通信模式分析:在分布式系统中,分析节点之间的通信模式和延迟,优化通信策略,减少通信开销。
  • 优化指导:为代码优化提供数据支持,帮助开发者选择合适的优化策略,例如并行化、缓存优化等。

Profiling Data的推理过程

  • 预填充(Prefilling):基于EP32和TP1(与DeepSeek V3/R1的实际在线部署一致),提示长度为4K,每个GPU的批次大小为16K个token。用两个微批次来重叠计算和全连接通信,确保两个微批次之间的注意力计算负载平衡。
  • 解码(Decoding):基于EP128、TP1,提示长度为4K,每个GPU的批次大小为128个请求。类似于预填充,解码也使用两个微批次重叠计算和全连接通信。与预填充不同的是,解码阶段的全连接通信不会占用GPU SMs(Streaming Multiprocessors,流式多处理器)。在RDMA(Remote Direct Memory Access,远程直接内存访问)消息发出后,所有GPU SMs都会被释放,系统会计算完成后等待全连接通信完成。

Profiling Data的项目地址

  • GitHub仓库:https://github.com/deepseek-ai/profile-data

Profiling Data的应用场景

  • 定位性能瓶颈:快速找出程序中最耗时或最耗资源的部分。
  • 指导性能优化:根据数据调整策略,提升计算和通信效率。
  • 分析资源利用:评估硬件资源(如CPU、GPU、内存)的使用情况,避免浪费。
  • 优化系统架构:根据运行数据调整分布式系统的配置和通信策略。
  • 检测性能回归:对比不同版本的性能数据,确保优化有效且无性能下降。
© 版权声明

相关文章