文档
注册

性能概念

性能在本文中,指机器(GPU、NPU或其他平台)在指定模型和输入数据的背景下,完成一次端到端训练所需要花费的时间,考虑到不同模型的训练数据量和训练轮次(epoch)差异,此处定义的性能是在完成一个batch训练所需花费的时间。而这里的端到端,我们通常是指完成一个人工智能模型单步训练的过程,也就是说,本文所讨论的性能的衡量和性能的优化,都是站在模型角度上。

对于一个batch而言,时间主要由以下部分构成:

单batch总时间 = 数据加载时间 + 模型前反向时间 + 优化器时间 + 模型后处理时间 + 通信时间 + 调度时间

各组成成分介绍如下:

  • 数据加载时间:模型在加载自身所需要的数据(如图片、视频和文本等)的时间,包括将数据从硬件存储设备读取到CPU(Central Processing Unit)中、CPU中数据的预处理(编解码等操作)、CPU数据放到Device上的时间。对于一些需要切分在若干张卡上的模型,数据加载还包括从数据加载卡广播到其他卡上的时间。
  • 模型前反向时间:深度学习模型的前向过程和反向过程的时间,即Forward和Backward过程,包含前向的数据计算和反向的数据微分求导的时间。
  • 优化器时间:模型参数更新时间。
  • 模型后处理时间:优化器更新后的时间,包括数据的后处理或者一些必要的同步操作,通常取决于模型特有操作。
  • 通信时间:单节点时卡之间和多节点时节点之间的通信时间。由于PyTorch的特殊机制,在通信和计算可以并行的情况下,表示未被计算掩盖的通信时间。
  • 调度时间:模型从CPU的指令到调用NPU侧的核(Kernel)所需要的时间。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词