| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增 Reformer LSH 桶排序算子 Co-authored-by: aliutec<aliutec@163.com> # message auto-generated for no-merge-commit merge: !30 merge feature/reformer-lsh-bucket-sort into master 新增 Reformer LSH 桶排序算子 Created-by: haikuo Commit-by: aliutec Merged-by: cann-robot Description: 变更概述 本 MR 新增 ReformerLshBucketSort,用于精确替换 Reformer LSH attention 中的两次通用排序。算子输入确定性的“桶编号 + token 位置”编码,同时输出: - 稳定排序后的 key; - 排序后位置到原位置的正向 permutation; - 从排序结果恢复 token 原顺序的 inverse permutation。 该算子替换 reformer-pytorch 1.4.4 中由 TSLib Reformer encoder 调用的 sort_key_val 与 inverse-sort 热点。它不替换 attention score、softmax、 value aggregation 或预测头,不改变 Reformer 的模型结构和预测语义。 ## Native、TorchAir 与自定义算子三路审计 当前 TSLib 源码在 hash 路径中创建 CPU torch.Generator,会阻断官方模型的 fullgraph 捕获。TorchAir 审计恢复了上游 torch.randn(..., device=npu) 的 NPU 随机旋转表达,不改变 hashing、sorting、inverse sorting、attention、 模型权重或输入。 | 测试形状 | Native eager,非 TorchAir | 兼容 TorchAir | ACLNN 自定义算子 | 判定 | |---|---:|---:|---:|---| | B4/L96 | 4.316 ms | 3.008 ms | 非目标提交形状 | TorchAir 最快 | | B16/L96 | 10.291 ms | 11.087 ms | 非目标提交形状 | Native 最快 | | B32/L96 | 18.088 ms | 32.048 ms | 非目标提交形状 | Native 最快 | | B4/L336 | 9.039 ms | 9.015 ms | 非目标提交形状 | 基本持平 | | B16/L336 | 28.604 ms | 50.493 ms | 非目标提交形状 | Native 最快 | | **B32/L336** | **55.528 ms** | **99.733 ms** | **17.577 ms** | **相对最快 Native 降低 68.35%** | 六档兼容 TorchAir 图均能正确执行,观察到的最大图模式/reference 误差为 3.40e-5。TorchAir 在最小 B4/L96 档占优,但没有吸收本算子所针对的 B32/L336 排序热点。 ## 算子阶段与完整测试集证据 - B32/L336 可替换阶段:37.2931 -> 0.6023 ms,延迟降低 98.38%, 加速 61.92 倍,三个输出均逐元素一致。 - 同轮三路完整模型:Native 55.5278 ms、TorchAir 99.7328 ms、 自定义算子 17.5769 ms,相对最快 Native 降低 68.35%。 - 独立交付 gate:55.1197 -> 17.5769 ms,延迟降低 68.11%。 - 完整 ETTh1 测试集共 2,857 个窗口:Native 1558.82 ms -> 自定义算子 682.56 ms,延迟降低 56.21%,预测指标保持不变。 完整测试集 headline 使用 Native 作为基线,因为同形状 TorchAir 图在替换前 比 Native 慢 79.62%。同轮三路 68.35% 与独立 gate 68.11% 来自两次独立 测试口径,不进行混算。 ## 对外接口与验证 - aclnnReformerLshBucketSortGetWorkspaceSize; - aclnnReformerLshBucketSort。 交付件包含 Host API、Ascend C kernel、稳定顺序与 inverse 索引契约测试、 独立构建、ACL smoke、输出所有权测试、文档、形状矩阵证据、checkpoint 模型 E2E 以及完整测试集性能证据。 See merge request: cann/mat-chem-sim-pred!30 | 1 分钟前 | |
【文档修正】更新 README.md、roadmap.md,清理误提交的文档 Co-authored-by: LiizzMM<1404537011@qq.com> # message auto-generated for no-merge-commit merge: !33 merge master into master 【文档修正】更新 README.md、roadmap.md,清理误提交的文档 Created-by: LiizzMM Commit-by: LiizzMM Merged-by: cann-robot Description: ## 变更类型 - [x] 文档更新 - [x] 仓库维护 - [x] 无业务代码逻辑变更 ## 变更说明 本 PR 聚焦仓库文档与目录内容治理,主要包括: - 更新 README.md - 调整仓库定位表述,明确仓库覆盖模型实现与适配、算子、数据处理与评测工具、示例和文档; - 更新仓库目录说明,补充 CONTRIBUTING.md 入口。 - 更新 roadmap.md - 按科学计算、预测优化两个方向梳理能力版图; - 增加总体规划类别数、条目数、已有实现、其中 Ascend C 实现及规划中数量的汇总; - 区分 PyTorch 参考实现与 Ascend C 实现,避免将参考实现误标为 Ascend C 算子; - 补充模型、数据与评测、工具与示例、工程质量等建设方向; - 明确候选技术方向用于后续评估,不代表全部立即开发。 - 增加工业过程控制部分已开发内容。 - 清理误提交的 PR 草稿和请求体文件: - PR_DESCRIPTION.md - PR_DESCRIPTION_PID_MODEL_FIT.md - pr_body.json - prediction/ProcessControl/TimeSeriesForecast/PR_DESCRIPTION_first_batch_cann_ops.md ## 验证 - [x] 执行 git diff --check,未发现空白字符或补丁格式问题; - [x] 检查仓库中误提交的 PR 草稿、请求体文件已删除; - [x] 确认保留正式贡献规范文件: - CONTRIBUTING.md - .gitcode/PULL_REQUEST_TEMPLATE.md ## 影响范围 本 PR 仅涉及仓库文档、路线图和误提交文件清理,不修改算子、模型、构建流程或运行逻辑。 See merge request: cann/mat-chem-sim-pred!33 | 1 天前 | |
fix: remove TimeSeries and MeshGraphNet references, update README Co-authored-by: Huang-jianxing<huangjianxing4@huawei.com> # message auto-generated for no-merge-commit merge: !19 merge roadmap-hjx into master fix: remove TimeSeries and MeshGraphNet references, update README Created-by: Huang-jianxing Commit-by: Huang-jianxing Merged-by: cann-robot Description: ## 类型 - [x] 代码修复 - [x] 代码重构 - [x] 文档内容更新 - [x] SCA 合规修复 ## 概述 本 PR 是上一轮大型架构 PR 的后续修复,主要解决 CI/CD 流水线中暴露的 **SCA 许可证合规问题**、**Python 编译产物误提交问题** 以及 **贝叶斯优化器逻辑缺陷**。共提交 5 个 commit,87 个文件变更,+1,081 / -1,939 行。 --- ## 一、贝叶斯优化器逻辑修复 ### 1.1 BayesianOptimizer.suggest() 初始阶段修复 **问题**:当 x_train 为 None(无观测数据)时,原代码生成 n_candidates 个候选点后尝试用 y_train.argmax() 索引,但此时 y_train 也必然为 None,导致条件判断逻辑混乱。 **修复**:直接生成 1 个随机点并返回,移除冗余的候选点生成和无效的条件分支。 python # 修改前 if x_train is None: x_cand = torch.rand(n_candidates, self.bounds.shape[0]) x_cand = x_cand * (self.bounds[:, 1] - self.bounds[:, 0]) + self.bounds[:, 0] return x_cand[y_train.argmax() if y_train is not None else 0] # 修改后 if x_train is None: x_next = torch.rand(self.bounds.shape[0]) x_next = x_next * (self.bounds[:, 1] - self.bounds[:, 0]) + self.bounds[:, 0] return x_next --- ## 二、CI/CD 基础设施修复 ### 2.1 移除 Git 追踪的 Python 编译产物 - 使用 git rm --cached 移除已追踪的 .pyc 文件 - 更新 .gitignore,新增忽略规则: - __pycache__/、*.pyc、*.pyo、*.pyd、.Python - PR-error/(CI 错误日志目录) ### 2.2 SCA 许可证头批量添加 为 simulation/AI4PDE/ 目录下全部 **57 个文件** 添加 CANN Open Software License Agreement Version 2.0 版权声明头,覆盖以下文件类型: | 文件类型 | 版权头风格 | 覆盖目录 | |---------|-----------|---------| | .cpp / .h | C/C++ 块注释 | pinn/, fno/, deeponet/, mesh_graph_net/, pde_common/ | | .py | Python 行注释 | pinn/, fno/, deeponet/, mesh_graph_net/ | | .sh | Shell 行注释 | 根目录 build.sh | | .md | HTML 注释 | README.md, SCHEDULER.md | | CMakeLists.txt | 行注释 | 各子目录 CMakeLists.txt | --- ## 三、SCA 问题目录清理 经 SCA 检查发现 prediction/TabularData/、prediction/TimeSeries/ 和 simulation/AI4PDE/mesh_graph_net/ 三个目录下的文件存在合规问题,暂时清空: | 目录 | 删除文件数 | 说明 | |------|:---------:|------| | prediction/TabularData/ | 36 | 6 个子类(tabular_foundation_models / deep_learning_architectures / self_supervised_pretraining / llm_based / pretraining_transfer / gradient_boosting_alternatives) | | prediction/TimeSeries/ | 39 | 6 个子类(ts_foundation_models / transformer_architectures / efficient_architectures / ssm_operator_models / llm_based_ts / anomaly_detection) | | simulation/AI4PDE/mesh_graph_net/ | 13 | examples / op_host / op_kernel / tests | --- ## 四、文档同步更新 ### 4.1 主 README.md 更新 - 移除目录树中 TabularData/、TimeSeries/、mesh_graph_net/ 的条目 - 移除"重点关注领域"表格中表格类数据预训练模型和时序类数据预训练模型两行 - 移除 AI for PDE 行中 MeshGraphNet 的引用 ### 4.2 SmallData README.md 增强 prediction/SmallData/README.md 大幅扩展,新增以下内容: - 高斯过程回归:SVGP(稀疏 GP)、RFF-GP(随机傅里叶特征) - 贝叶斯神经网络:Bayes by Backprop、Laplace Redux、SNGP、Deep Ensembles - 多保真度 GP:NARGP、ResGP/MF-DGP、co-kriging - 贝叶斯优化:TuRBO(高维 BO)、SAASBO、HEBO、SMAC3、Optuna - 小样本迁移学习:MAML、Reptile、OT Transfer - 主动学习:BatchBALD、BADGE - 深度核学习(DKL)、物理信息 GP(PIGP) - 综合对比矩阵(14 个模型的成熟度/效果/迁移难度/优先级评估) --- ## 如何测试 ### 1. 贝叶斯优化器修复验证 bash cd prediction python -m pytest SmallData/test_gpr.py -v -k "test_bayesian" ### 2. SCA 检查 提交 PR 后 CI 流水线自动执行 SCA 扫描,确认 unconfirmedFileNum 为 0。 --- ## Checklist - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经根据需要更新了对应的变更日志 - [x] 我已经在标题中正确使用了类型标签 ## 其他信息 ### 变更统计 - **87 个文件变更** - **+1,081 行插入** / **-1,939 行删除** - **5 个 commit** ### Commit 列表 | Commit | 说明 | |--------|------| | ccca9b4 | fix: remove __pycache__/.pyc files and update .gitignore | | 6311ca9 | fix: add CANN license headers to simulation/AI4PDE files | | 8311e86 | feat: add TabularData and TimeSeries model directories with README updates | | 39c4f81 | fix: remove TabularData and mesh_graph_net for SCA compliance | | 5a1b6ad | fix: remove TimeSeries and MeshGraphNet references, update README | ### 后续计划 1. TabularData/TimeSeries 模型目录在解决 SCA 合规问题后重新提交 2. MeshGraphNet 算子在添加完整版权声明后恢复 3. 继续推进预测优化方向算子的 Ascend C 迁移 ### Reviewer 关注点 - prediction/SmallData/gpr.py 中 BayesianOptimizer.suggest() 的修改确保初始阶段行为正确 - simulation/AI4PDE/ 下的版权头添加均为标准模板,未修改任何算子逻辑 - 三个目录的清空是临时措施,后续将通过合规流程重新提交 See merge request: cann/mat-chem-sim-pred!19 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 分钟前 | ||
| 1 天前 | ||
| 2 个月前 |