Merged
docs: StatelessNormal README明确mean/stdev张量仅第0项参与计算,与算子实际实现对齐 #6916
aiteerAdd on 10 days ago
docs: StatelessNormal README明确mean/stdev张量仅第0项参与计算,与算子实际实现对齐 #6916
Merged
Total: 1 files changed+5-3
| @@ -21,6 +21,8 @@ | |||
| 21 | y = BoxMuller(Philox(seed, offset)) \times stdev + mean | 21 | y = BoxMuller(Philox(seed, offset)) \times stdev + mean |
| 22 | $$ | 22 | $$ |
| 23 | 23 | ||
| 24 | + 其中mean、stdev为标量或张量。当为张量时,仅第0项参与计算,所有输出元素共用这组均值和标准差,其余元素不参与计算。 | ||
| 25 | + | ||
| 24 | ## 参数说明 | 26 | ## 参数说明 |
| 25 | 27 | ||
| 26 | <table style="table-layout: fixed; width: 980px"><colgroup> | 28 | <table style="table-layout: fixed; width: 980px"><colgroup> |
| @@ -63,14 +65,14 @@ | |||
| 63 | <tr> | 65 | <tr> |
| 64 | <td>mean</td> | 66 | <td>mean</td> |
| 65 | <td>输入</td> | 67 | <td>输入</td> |
| 66 | - <td>正态分布的均值,支持标量或与输出同形状的张量。</td> | 68 | + <td>正态分布的均值,支持标量或张量。当为张量时,仅第0项参与计算,所有输出元素共用该均值。</td> |
| 67 | <td>FLOAT、FLOAT16、BF16</td> | 69 | <td>FLOAT、FLOAT16、BF16</td> |
| 68 | <td>ND</td> | 70 | <td>ND</td> |
| 69 | </tr> | 71 | </tr> |
| 70 | <tr> | 72 | <tr> |
| 71 | <td>stdev</td> | 73 | <td>stdev</td> |
| 72 | <td>输入</td> | 74 | <td>输入</td> |
| 73 | - <td>正态分布的标准差,支持标量或与输出同形状的张量。</td> | 75 | + <td>正态分布的标准差,支持标量或张量。当为张量时,仅第0项参与计算,所有输出元素共用该标准差。</td> |
| 74 | <td>FLOAT、FLOAT16、BF16</td> | 76 | <td>FLOAT、FLOAT16、BF16</td> |
| 75 | <td>ND</td> | 77 | <td>ND</td> |
| 76 | </tr> | 78 | </tr> |
| @@ -87,7 +89,7 @@ | |||
| 87 | 89 | ||
| 88 | - offset必须为4的倍数。 | 90 | - offset必须为4的倍数。 |
| 89 | - mean和stdev的数据类型与输出y锁步一致。 | 91 | - mean和stdev的数据类型与输出y锁步一致。 |
| 90 | -- mean和stdev为tensor时,shape必须与输出y的shape一致(不支持广播)。 | 92 | +- mean和stdev为tensor时,仅第0项参与计算,所有输出元素共用这组均值和标准差,其余元素不参与计算。 |
| 91 | - 仅支持SIMT编程模型(Ascend 950系列)。 | 93 | - 仅支持SIMT编程模型(Ascend 950系列)。 |
| 92 | 94 | ||
| 93 | ## 调用说明 | 95 | ## 调用说明 |
🟡 Medium Priority
变更行(README.md 第 92 行)把原来的
- mean和stdev为tensor时,shape必须与输出y的shape一致(不支持广播)。整条删除,只替换为「仅第0项参与计算」。影响与证据链:
Only the 0th element is used for calculation if a tensor is input、NormalLauncher 读取meanGlobal_(0)/stdGlobal_(0)不一致;该 Issue 的「存在的问题」部分只针对逐元素语义,并未指出 shape 相等约束是错的 —— 说明 shape 一致这条约束很可能仍在 op_host/infershape、tiling 或 op_api 校验中生效(本次改动没有改任何实现代码,校验逻辑不变)。说明:受审查工具范围限制,无法读取 op_graph/op_host 源码确认该校验是否仍存在,因此置信度下调;若实现确实已放开 shape 校验,则该删除是正确的,可忽略本条。
建议:先核对 op_host infershape / tiling / op_api 中 mean、stdev 的 shape 校验是否仍要求与输出 y 同形:若仍要求,则保留原约束并与新增语义合并成一句,例如「mean和stdev为tensor时,shape需与输出y一致(不支持广播),且仅第0项参与计算,所有输出元素共用该组均值和标准差」;若实现已放开 shape 校验,则维持当前写法,并明确说明张量 shape 无特殊要求、仅取第 0 项。