计算精度评价指标

PyTorch精度比对是以CPU或GPU的计算结果为标杆,计算Cosine(余弦相似度)、MaxAbsErr(最大绝对误差)和MaxRelativeErr(最大相对误差),根据这两个结果判断API在运行时是否存在精度问题。

计算精度评价指标:

  1. Cosine:通过计算两个向量的余弦值来判断其相似度,数值越接近于1说明计算出的两个张量越相似,实际可接受阈值为大于0.99。在计算中可能会存在nan,主要由于可能会出现其中一个向量为0。
  2. MaxAbsErr:当最大绝对误差越接近0表示其计算的误差越小,实际可接受阈值为小于0.001。
  3. MaxRelativeErr:当最大相对误差越接近0表示其计算的误差越小。

    当dump数据中存在0或Nan时,比对结果中最大相对误差则出现inf或Nan的情况,属于正常现象。

精度比对结果csv文件中只需要通过Accuracy Reached or Not来判断计算精度是否达标,判断标准如下:

  1. Cosine < 0.99 且 MaxAbsError > 0.001时,精度不达标,标记为“No”。
  2. Cosine < 0.9,精度不达标,标记为“No”。
  3. MaxAbsError > 1,精度不达标,标记为“No”。
  4. 其余情况下记为精度达标,标记为“Yes”。