| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 28 天前 | |
fix: align multinomial sampling with normalized probabilities Co-authored-by: fenglin28<fenglin28@huawei.com> # message auto-generated for no-merge-commit merge: !4500 merge fix/stateless-sample-multinomial-assert into master fix: align multinomial sampling with normalized probabilities Created-by: fenglin28 Commit-by: fenglin28 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 StatelessSampleMultinomial 边界场景下的采样行为: - 在二分查找前检查 CDF 最后一项是否大于 0 - 新增可选输入 norm_probs,用于准确判断零概率类别 - norm_probs 存在时,使用 x 执行二分查找,使用 norm_probs 处理零概率类别回退;缺省时保留基于相邻 CDF 值的兼容路径 - 增加 x 的维度校验,以及 x 与 norm_probs 的形状一致性校验 - 同步更新算子定义、L0 接口、tiling、kernel 配置、UT 和 README ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2558 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完整通过 UT、泛化 ST 及流水线验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新 README 中 x 和 norm_probs 的输入及约束说明 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4500 | 1 个月前 | |
fix: 规范 random 目录算子日志输出(级别错配/拼写/语法/格式符/中文残留) Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !5347 merge fix/log-spec-20260903-v2 into master fix: 规范 random 目录算子日志输出(级别错配/拼写/语法/格式符/中文残留) Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 对 random/ 全目录 26 个算子(含 examples、tests)的日志输出做规范整改,修复以下缺陷: - **级别错配(36 处)**:12 个 geir examples 失败分支 - INFO - [XIR]: xxx failed 改为 - ERROR -,按级别过滤时故障信息不再被忽略 - **拼写错误**:samller→smaller、excepted→expected(语义相反)、RadixSortTIling→RadixSortTiling、Infershape→InferShape 等修正 - **语法错误(100+ 处)**:only support→only supports、not support→does not support、should same with→should be the same as、must >→must be greater than、is begin→begins、running begin→started、序数 1th 改写、字符串拼接双空格/逗号粘连等 - **错误描述不完整(40+ 处)**:dtype/shape/size/coreNum/ubSize 校验失败补当前实际值;allowed set 补允许集合内容;onnx dtype 支持列表文案与 kvlist 实现对齐 - **格式符与实参类型不匹配**:按头文件实类型逐项核对修正(%lld→%llu、%d→%ld、%u→%lu、%f→%ld 等),消除 -Werror 编译失败与输出垃圾值 - **魔鬼数字**:GE version 裸数字 90000000 统一为 9.0.0(6 处) - **中文输出**:ST executor/golden.py 中文文案改英文(10 处);Format 支持列表中文顿号改半角逗号 - **统一日志接口**:random_infershape_base.cpp 业务代码 std::cerr 改 OP_LOGD/OP_LOGW/OP_LOGE(4 处);删除 random_dtype_fmt_gen.h 中无调用点的调试打印函数 Print/PrintByColsCore - **UT 修复**:truncated_normal_v2 tiling 用例期望串补齐尾部 3 个字段(RandomUnifiedSimtTilingDataStruct 实为 51 个 int64 字段,期望串原为 48 个;master 上存量失败) ### 改动方法 仅修改日志语句的文案/级别/格式符与配套标识符拼写(如 isContinous_→isContinuous_ 等全量同步改名),不改动任何校验逻辑与控制流。 ## 关联的Issue #3083 ## 测试 - pre-commit 全部通过(clang-format / ruff-check / ruff-format / codespell / OAT 等 10 项) - bash build.sh --pkg --jit --soc=ascend950 编译打包通过(含 -Werror=format 严格校验) - random 目录全部改动算子 UT:153 个测试全部 PASSED(含修复后的 truncated_normal_v2) - 输出文案中文残留、业务代码私有打印残留均为 0 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5347 | 18 天前 | |
fix: 规范 random 目录算子日志输出(级别错配/拼写/语法/格式符/中文残留) Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !5347 merge fix/log-spec-20260903-v2 into master fix: 规范 random 目录算子日志输出(级别错配/拼写/语法/格式符/中文残留) Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 对 random/ 全目录 26 个算子(含 examples、tests)的日志输出做规范整改,修复以下缺陷: - **级别错配(36 处)**:12 个 geir examples 失败分支 - INFO - [XIR]: xxx failed 改为 - ERROR -,按级别过滤时故障信息不再被忽略 - **拼写错误**:samller→smaller、excepted→expected(语义相反)、RadixSortTIling→RadixSortTiling、Infershape→InferShape 等修正 - **语法错误(100+ 处)**:only support→only supports、not support→does not support、should same with→should be the same as、must >→must be greater than、is begin→begins、running begin→started、序数 1th 改写、字符串拼接双空格/逗号粘连等 - **错误描述不完整(40+ 处)**:dtype/shape/size/coreNum/ubSize 校验失败补当前实际值;allowed set 补允许集合内容;onnx dtype 支持列表文案与 kvlist 实现对齐 - **格式符与实参类型不匹配**:按头文件实类型逐项核对修正(%lld→%llu、%d→%ld、%u→%lu、%f→%ld 等),消除 -Werror 编译失败与输出垃圾值 - **魔鬼数字**:GE version 裸数字 90000000 统一为 9.0.0(6 处) - **中文输出**:ST executor/golden.py 中文文案改英文(10 处);Format 支持列表中文顿号改半角逗号 - **统一日志接口**:random_infershape_base.cpp 业务代码 std::cerr 改 OP_LOGD/OP_LOGW/OP_LOGE(4 处);删除 random_dtype_fmt_gen.h 中无调用点的调试打印函数 Print/PrintByColsCore - **UT 修复**:truncated_normal_v2 tiling 用例期望串补齐尾部 3 个字段(RandomUnifiedSimtTilingDataStruct 实为 51 个 int64 字段,期望串原为 48 个;master 上存量失败) ### 改动方法 仅修改日志语句的文案/级别/格式符与配套标识符拼写(如 isContinous_→isContinuous_ 等全量同步改名),不改动任何校验逻辑与控制流。 ## 关联的Issue #3083 ## 测试 - pre-commit 全部通过(clang-format / ruff-check / ruff-format / codespell / OAT 等 10 项) - bash build.sh --pkg --jit --soc=ascend950 编译打包通过(含 -Werror=format 严格校验) - random 目录全部改动算子 UT:153 个测试全部 PASSED(含修复后的 truncated_normal_v2) - 输出文案中文残留、业务代码私有打印残留均为 0 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5347 | 18 天前 | |
fix: 规范 random 目录算子日志输出(级别错配/拼写/语法/格式符/中文残留) Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !5347 merge fix/log-spec-20260903-v2 into master fix: 规范 random 目录算子日志输出(级别错配/拼写/语法/格式符/中文残留) Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 对 random/ 全目录 26 个算子(含 examples、tests)的日志输出做规范整改,修复以下缺陷: - **级别错配(36 处)**:12 个 geir examples 失败分支 - INFO - [XIR]: xxx failed 改为 - ERROR -,按级别过滤时故障信息不再被忽略 - **拼写错误**:samller→smaller、excepted→expected(语义相反)、RadixSortTIling→RadixSortTiling、Infershape→InferShape 等修正 - **语法错误(100+ 处)**:only support→only supports、not support→does not support、should same with→should be the same as、must >→must be greater than、is begin→begins、running begin→started、序数 1th 改写、字符串拼接双空格/逗号粘连等 - **错误描述不完整(40+ 处)**:dtype/shape/size/coreNum/ubSize 校验失败补当前实际值;allowed set 补允许集合内容;onnx dtype 支持列表文案与 kvlist 实现对齐 - **格式符与实参类型不匹配**:按头文件实类型逐项核对修正(%lld→%llu、%d→%ld、%u→%lu、%f→%ld 等),消除 -Werror 编译失败与输出垃圾值 - **魔鬼数字**:GE version 裸数字 90000000 统一为 9.0.0(6 处) - **中文输出**:ST executor/golden.py 中文文案改英文(10 处);Format 支持列表中文顿号改半角逗号 - **统一日志接口**:random_infershape_base.cpp 业务代码 std::cerr 改 OP_LOGD/OP_LOGW/OP_LOGE(4 处);删除 random_dtype_fmt_gen.h 中无调用点的调试打印函数 Print/PrintByColsCore - **UT 修复**:truncated_normal_v2 tiling 用例期望串补齐尾部 3 个字段(RandomUnifiedSimtTilingDataStruct 实为 51 个 int64 字段,期望串原为 48 个;master 上存量失败) ### 改动方法 仅修改日志语句的文案/级别/格式符与配套标识符拼写(如 isContinous_→isContinuous_ 等全量同步改名),不改动任何校验逻辑与控制流。 ## 关联的Issue #3083 ## 测试 - pre-commit 全部通过(clang-format / ruff-check / ruff-format / codespell / OAT 等 10 项) - bash build.sh --pkg --jit --soc=ascend950 编译打包通过(含 -Werror=format 严格校验) - random 目录全部改动算子 UT:153 个测试全部 PASSED(含修复后的 truncated_normal_v2) - 输出文案中文残留、业务代码私有打印残留均为 0 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5347 | 18 天前 | |
fix: align multinomial sampling with normalized probabilities Co-authored-by: fenglin28<fenglin28@huawei.com> # message auto-generated for no-merge-commit merge: !4500 merge fix/stateless-sample-multinomial-assert into master fix: align multinomial sampling with normalized probabilities Created-by: fenglin28 Commit-by: fenglin28 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 StatelessSampleMultinomial 边界场景下的采样行为: - 在二分查找前检查 CDF 最后一项是否大于 0 - 新增可选输入 norm_probs,用于准确判断零概率类别 - norm_probs 存在时,使用 x 执行二分查找,使用 norm_probs 处理零概率类别回退;缺省时保留基于相邻 CDF 值的兼容路径 - 增加 x 的维度校验,以及 x 与 norm_probs 的形状一致性校验 - 同步更新算子定义、L0 接口、tiling、kernel 配置、UT 和 README ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2558 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完整通过 UT、泛化 ST 及流水线验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新 README 中 x 和 norm_probs 的输入及约束说明 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4500 | 1 个月前 | |
fix: align multinomial sampling with normalized probabilities Co-authored-by: fenglin28<fenglin28@huawei.com> # message auto-generated for no-merge-commit merge: !4500 merge fix/stateless-sample-multinomial-assert into master fix: align multinomial sampling with normalized probabilities Created-by: fenglin28 Commit-by: fenglin28 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 StatelessSampleMultinomial 边界场景下的采样行为: - 在二分查找前检查 CDF 最后一项是否大于 0 - 新增可选输入 norm_probs,用于准确判断零概率类别 - norm_probs 存在时,使用 x 执行二分查找,使用 norm_probs 处理零概率类别回退;缺省时保留基于相邻 CDF 值的兼容路径 - 增加 x 的维度校验,以及 x 与 norm_probs 的形状一致性校验 - 同步更新算子定义、L0 接口、tiling、kernel 配置、UT 和 README ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2558 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完整通过 UT、泛化 ST 及流水线验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新 README 中 x 和 norm_probs 的输入及约束说明 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4500 | 1 个月前 | |
add StatelessExponential for multinomial Co-authored-by: zhangxiyan7<zhangxiyan7@huawei.com> # message auto-generated for no-merge-commit merge: !4038 merge master into master add StatelessExponential for multinomial Created-by: zhangxiyan7 Commit-by: zhangxiyan7 Merged-by: cann-robot Description: ## 描述 当前multinomial接口中会通过exponential_小算子拼接,aclnnMultinomialTensor输入seed/offset是通过tensor输入,SimThreadExponential seed/offset作为属性输入,无法在aclnnMultinomialTensor中调用,因此新增StatelessExponential算子实现aclnnMultinomialTensor的seed/offset实现tensor输入。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2418 ## 测试 门槛用例通过,冒烟通过 ## 文档更新 新增stateless_exponential目录下README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4038 | 1 个月前 | |
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 28 天前 |
StatelessSampleMultinomial
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | × |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | × |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能:本算子是
aclnnMultinomialGetWorkspaceSize和aclnnMultinomialTensorGetWorkspaceSize接口构建计算流程时使用的内部服务算子,用于Ascend 950场景下的有放回多项分布采样路径。算子根据输入的累积分布和随机种子,从每个多项分布中抽取num_samples个样本,并将样本的类别索引存储到输出张量中。 -
计算公式:
对于第ddd个分布的第jjj次抽样,生成随机数:
ud,j∼U(0,1]u_{d,j} \sim U(0, 1] ud,j∼U(0,1]
输出满足如下条件的最小类别索引kkk:
xd,k−1<ud,j≤xd,kx_{d,k-1} < u_{d,j} \le x_{d,k} xd,k−1<ud,j≤xd,k
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 输入累积分布张量,shape为(C)或(N, C),最后一维表示类别的累积概率。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| norm_probs | 可选输入 | 归一化概率张量,形状和数据类型与x相同。传入时用于采样结果的零概率类别回退。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| seed | 输入 | 随机数生成器的种子,影响生成的随机数序列。 | INT64 | ND |
| offset | 输入 | 随机数生成器的偏移量,影响生成的随机数序列的位置。 | INT64 | ND |
| num_samples | 属性 | 从每个多项分布中抽取的样本数。 | INT64 | - |
| y | 输出 | 输出样本的类别索引,shape为(num_samples)或(N, num_samples)。 | INT64 | ND |
约束说明
x为一维或二维张量,最后一维为类别维,其长度不超过2242^{24}224。norm_probs为可选输入。传入时,其形状和数据类型与x一致,x为norm_probs沿最后一维计算累加和的结果;缺省时,通过比较x的相邻元素进行零概率类别回退。num_samples为正整数。offset为4的整数倍。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_multinomial | 通过aclnnMultinomial接口构建计算流程时,内部调用StatelessSampleMultinomial服务算子。 |
| aclnn接口 | test_aclnn_multinomial_tensor | 通过aclnnMultinomialTensor接口构建计算流程时,内部调用StatelessSampleMultinomial服务算子。 |