已合并
Modify threshold value for op Precision Standard #834
唐超创建于 9月9日
Modify threshold value for op Precision Standard #834
已合并
共 1 个文件变更+15-13
Rdocs/zh/ops_precision_standard/experimental_standard.md→docs/zh/ops_precision_standard/mixed_tolerance_standard.md+15-13
| @@ -23,7 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | | 维度 | 生成规则 | | 24 | | 维度 | 生成规则 | |
| 25 | |------|----------| | 25 | |------|----------| |
| 26 | -| **数据维度** | 覆盖算子支持的维度范围(1~8维),维度值在 $[1, 2^{20}]$ 内取用(2的幂次)和(2的幂次方-1)两种取值。总元素数不超过2的31次方 | | 26 | +| **数据维度** | 覆盖算子支持的维度范围(1~8维),维度值在 $[1, 2^{20}]$ 内取用(2的幂次)和(2的幂次方-1)两种取值。总元素数不超过2的34次方 | |
| 27 | | **数据格式** | 覆盖算子支持的所有数据格式(ND、NCHW等) | | 27 | | **数据格式** | 覆盖算子支持的所有数据格式(ND、NCHW等) | |
| 28 | 28 | ||
| 29 | **步长与组合生成**:各参数类型之间应进行正交组合遍历,值域覆盖策略如下: | 29 | **步长与组合生成**:各参数类型之间应进行正交组合遍历,值域覆盖策略如下: |
| @@ -107,21 +107,21 @@ $$ | |||
| 107 | <tbody> | 107 | <tbody> |
| 108 | <tr> | 108 | <tr> |
| 109 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>rtol</strong></td> | 109 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>rtol</strong></td> |
| 110 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-9</sup> (1.95e-3)</td> | 110 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-10</sup> (1e-3)</td> |
| 111 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-6</sup> (1.56e-2)</td> | 111 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-7</sup> (7.8e-3)</td> |
| 112 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-10</sup> (9.77e-4)</td> | 112 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-13</sup> (1.2e-4)</td> |
| 113 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-9</sup> (1.95e-3)</td> | 113 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-10</sup> (1e-3)</td> |
| 114 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-3</sup> (0.125)</td> | ||
| 114 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-2</sup> (0.25)</td> | 115 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-2</sup> (0.25)</td> |
| 115 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-1</sup> (0.5)</td> | ||
| 116 | </tr> | 116 | </tr> |
| 117 | <tr> | 117 | <tr> |
| 118 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>atol</strong></td> | 118 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>atol</strong></td> |
| 119 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-9</sup> (1.95e-3)</td> | 119 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-10</sup> (1e-3)</td> |
| 120 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-6</sup> (1.56e-2)</td> | 120 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-7</sup> (7.8e-3)</td> |
| 121 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-16</sup> (1.53e-5)</td> | 121 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-13</sup> (1.2e-4)</td> |
| 122 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-10</sup> (9.77e-4)</td> | 122 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-10</sup> (1e-3)</td> |
| 123 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-4</sup> (0.0625)</td> | ||
| 124 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-3</sup> (0.125)</td> | 123 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-3</sup> (0.125)</td> |
| 124 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">2<sup>-2</sup> (0.25)</td> | ||
| 125 | </tr> | 125 | </tr> |
| 126 | <tr> | 126 | <tr> |
| 127 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>required_matched_ratio</strong></td> | 127 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>required_matched_ratio</strong></td> |
| @@ -130,15 +130,17 @@ $$ | |||
| 130 | <tr> | 130 | <tr> |
| 131 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>max_abs_error_limit</strong></td> | 131 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;"><strong>max_abs_error_limit</strong></td> |
| 132 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-1 or 32 * ULP</td> | 132 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-1 or 32 * ULP</td> |
| 133 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-0 or 32 * ULP</td> | 133 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-1 or 32 * ULP</td> |
| 134 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-2 or 32 * ULP</td> | 134 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-2 or 32 * ULP</td> |
| 135 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-1 or 32 * ULP</td> | 135 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-1 or 32 * ULP</td> |
| 136 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-0 or 32 * ULP</td> | 136 | <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-0 or 32 * ULP</td> |
| 137 | - <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-1 or 32 * ULP</td> | 137 | + <td style="text-align: center; border: 1px solid #ddd; padding: 8px;">1e-0 or 32 * ULP</td> |
D | |||
| 138 | </tr> | 138 | </tr> |
| 139 | </tbody> | 139 | </tbody> |
| 140 | </table> | 140 | </table> |
| 141 | 141 | ||
| 142 | +注:当前的阈值拦截在各数值精度下约为 1ULP左右,涉及到大数规约可能会引入更大精度误差导致误报,可酌情降低至2ULP。 | ||
| 143 | + | ||
| 142 | ### 2.3 通过判定 | 144 | ### 2.3 通过判定 |
| 143 | 145 | ||
| 144 | **单标杆比对**:与更高精度的实现(CPU或昇腾小算子拼接)的单一精度标杆直接比较。 | 146 | **单标杆比对**:与更高精度的实现(CPU或昇腾小算子拼接)的单一精度标杆直接比较。 |
D
![]() ![]() | |||


这个新精度标准中没有讲清楚 ULP 是 ULP(?) 如果是ULP(0),那么几乎所有的dtype这个32*ULP都是不生效的。 如果是ULP(1),那么就是每个dtype的eps。