生态算子开源精度标准
误差指标
该标准主要用来衡量生态贡献中(贡献在experimental目录下)的计算类算子精度是否达标,通过该标准作为生态贡献的必要条件。 该标准采用平均相对误差和最大相对误差指标来判断,计算公式如下:actualactual为NPU实际输出的结果;goldengolden为参考计算的真值
-
平均相对误差(Mean Relative Error,MERE):采样点中相对误差平均值。
MERE=avg(abs(actual−golden)abs(golden)+1e-7)\text{MERE} = \text{avg}(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)+\text{1e-7}})
计算相对误差的时候引入小值1e-7避免golden出现除0风险。
-
最大相对误差(Max Relative Error,MARE):采样点中相对误差最大值。
MARE=max(abs(actual−golden)abs(golden)+1e-7)\text{MARE} = \max(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)+\text{1e-7}})
通过标准
单标杆比对:与更高精度的实现的单一精度标杆(CPU或昇腾小算子拼接)直接比较。
| 数据类型 | FLOAT16 | BFLOAT16 | FLOAT32 | HiFLOAT32 | FLOAT8 E4M3 | FLOAT8 E5M2 |
|---|---|---|---|---|---|---|
| 通过阈值 (Threshold) |
2-10 | 2-7 | 2-13 | 2-11 | 2-3 | 2-2 |
通过标准: 当平均相对误差MERE < Threshold , 最大相对误差MARE < 10 * Threshold判定为通过