| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增Dynamic EPLB Co-authored-by: TwistZzzz<xuwenkang6@h-partners.com> # message auto-generated for no-merge-commit merge: !72 merge dev into dev [Feature] [EPLB] 新增Dynamic EPLB Created-by: TwistZzzz Commit-by: TwistZzzz Merged-by: ascend-robot Description: [feature] 新增Dynamic EPLB 由于方案部署与模型初始化阶段和moe阶段相关 详细部署流程已整合到mindiesd项目下: docs/features/DyEPLB.md <span style="font-size:36px;">**主要模块**</span> ## Collector - 模块说明:负载采集器, 由于DyEPLB是通过当前的专家负载信息来动态调整 Rank 上的专家布局从而达到负载均衡的方案,对于负载数据需要采集器来负责收集工作 - 核心逻辑:以专家对应的token数的列表作为负载信息进行采集,通过double buffer机制置入共享队列中供算法侧进行新专家布局的计算 ## Dispatcher - 模块说明: 调度器, 提供全局同步的通信接口、维护全局和本地专家布局map和权重更新接口 - 核心逻辑: 负责进行新专家布局涉及的权重拼接、权重替换 ## FPA算法 - 原理:由于DyEPLB 场景需要在运行时动态调整专家分配以追求极致性能,调度算法的决策时延与计算开销成为关键约束。为此,我们提出了一种基于贪心策略的高效 EPLB 调度算法。该算法利用运行时的专家激活分布数据及当前的专家-NPU 拓扑映射关系,实时生成专家动态复制与跨卡冷热交换策略,有效消解由专家热度差异引发的设备负载失衡问题 ## Task - 模块说明: 负责任务的构造、任务队列的出队入队。 均为内部接口, 用户无感知 - 核心逻辑: 对于采集器和调度器涉及到的数据进行处理,以达到逻辑自洽 See merge request: Ascend/MindIE-SD!72 | 4 个月前 | |
【docs】文档修改-增加API参考&加速API Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge dev into dev 【docs】文档修改-增加API参考&加速API Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: fixes [#86](https://gitcode.com/Ascend/MindIE-SD/issues/86) 1、新增API参考(社区API接口) 2、新增加速API(原社区layer层) 3、删除readme中的快速入门和单多卡并行示例内容(有单独的quick_start承载) 4、算子融合单独拆分出来,在特性章节独立存在 5、删除特性章节目录名称中的“加速特性” 6、黄区大模型检测问题修改 See merge request: Ascend/MindIE-SD!263 | 2 个月前 | |
【docs】文档修改-增加API参考&加速API Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge dev into dev 【docs】文档修改-增加API参考&加速API Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: fixes [#86](https://gitcode.com/Ascend/MindIE-SD/issues/86) 1、新增API参考(社区API接口) 2、新增加速API(原社区layer层) 3、删除readme中的快速入门和单多卡并行示例内容(有单独的quick_start承载) 4、算子融合单独拆分出来,在特性章节独立存在 5、删除特性章节目录名称中的“加速特性” 6、黄区大模型检测问题修改 See merge request: Ascend/MindIE-SD!263 | 2 个月前 | |
[Bugfix][eplb]Align EPLB fault logs with fault mode library Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !380 merge fault_fix into dev [Bugfix][eplb]Align EPLB fault logs with fault mode library Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fixes #[待补充 ISSUE ID] # Purpose 修正 EPLB 故障模式库中部分故障描述与实际日志不一致的问题: - EPLB-FM001:增加 Scheduler 未运行时的 ERROR 连接失败日志。 - EPLB-FM002:封装端口占用异常,日志保留 Address already in use 及监听地址。 - EPLB-FM003:将 Worker 连接 Scheduler 失败记录为具体 ERROR 日志。 - EPLB-FM004:捕获认证异常,增加认证密钥不一致的具体 ERROR 日志。 - EPLB-FM010:布局未更新时输出具体 ERROR 日志。 - EPLB-FM011:未知指令改为 ERROR 日志,并区分非法对象和未知任务类型。 - 同步更新中英文 EPLB 故障模式库中的检测机制、定位方法及故障关键日志。 - 补充故障构造测试,直接读取故障库的“故障关键日志”字段并校验实际日志输出。 实现遵循 MR 静态规则中关于日志工具、懒插值、异常类型及异常捕获顺序的要求;失败路径记录日志后保留原始异常行为。 # Test Plan 1. 构造 Scheduler 未启动场景,验证 FM001/FM003 连接失败日志。 2. 占用 Scheduler 端口,验证 FM002 日志包含 Address already in use。 3. 使用不一致的认证密钥,验证 FM004 认证失败日志。 4. 模拟 greedy 算法不产生更新,验证 FM010 日志。 5. 注入非法指令和未知任务类型,验证 FM011 日志。 6. 校验中英文 CSV 均包含 11 条故障模式且字段结构正确。 7. 对本次修改文件执行 pre-commit 检查。 # Test Report 执行命令: ``shell python -m unittest tests.eplb.test_eplb_fault_modes tests.test_fault_modes -v 结果:14 tests passed。 执行命令: pre-commit run --files \ docs/en/appendix/eplb_fault_mode_library.csv \ docs/zh/appendix/eplb_fault_mode_library.csv \ mindiesd/eplb/eplb_scheduler.py \ mindiesd/eplb/task_manager.py \ tests/eplb/test_eplb_fault_modes.py 结果:全部通过,包括 Ruff、Pylint、Bandit、Codespell、Typos 及格式检查。 补充说明:pre-commit run --all-files 会被仓库其他历史文件中的 Ruff、Pylint、Typos 和格式问题阻断,本次修改文件不存在相关问题。 1. **变更类别**:Bugfix / EPLB 日志与故障库整改 2. **影响文件**:EPLB Scheduler、Task Manager、故障测试及中英文 CSV 3. **读取依据**:PR 模板、治理 skill、指定 MR 规则表 4. **一致性检查结果**:日志、级别、故障描述及测试已匹配 5. **必需联动项**:中英文故障库已同步 6. **风险与缺口**:需补充实际 ISSUE ID;未执行 Sphinx 构建 Commit title proposal:[Bugfix][eplb]Align fault logs with EPLB fault mode library` See merge request: Ascend/MindIE-SD!380 | 4 天前 | |
[Bugfix][log]Unify MindIE SD logging and improve diagnostics Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !328 merge 0603_log into dev [Bugfix][log]Unify MindIE SD logging and improve diagnostics Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fix part of https://gitcode.com/Ascend/MindIE-SD/issues/158 # Purpose 本 PR 修复 MindIE SD 日志问题,主要包括: 1. 统一 MindIE SD Python 模块日志出口,避免 compilation、share_memory 等模块直接使用标准库 logging.getLogger(__name__),导致日志格式、落盘路径、过滤级别和开关行为不一致。 2. 优化日志模块默认输出格式,确保默认与 verbose 模式均包含 MindIE SD 组件标识。 3. 精简默认 INFO 场景日志,将正常流程、调试态信息降级为 DEBUG,避免默认运行场景产生不必要日志。 4. 增强 WARNING/ERROR 日志内容,补充问题描述、可能根因、参数期望值/实际值和进一步排查建议。 5. 修复 pre-commit 暴露的日志格式、pylint、bandit、typos 等问题,包括日志参数数量不匹配、拼写错误、动态 API 静态检查误报标注和 EPLB scheduler 嵌套层级过深问题。eplb_scheduler、greedy_algorithm中此类改动较多,多是形式改动,无实际影响。 # Test Plan 1. 执行 pre-commit 全量检查,覆盖 ruff、pylint、bandit、typos 等静态质量门禁。 2. 执行 Python 编译检查,确认本次修改未引入语法错误。 3. 执行 git diff 空白检查,确认无行尾空白、格式污染。 4. 白盒检查 mindiesd 正式代码中默认 INFO 日志是否清理完成。 5. 白盒检查除日志模块本体外,是否仍存在直接使用标准库 logging.getLogger(__name__) 的模块。 # Test Report 已执行并通过:  See merge request: Ascend/MindIE-SD!328 | 25 天前 | |
【docs】文档修改-增加API参考&加速API Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge dev into dev 【docs】文档修改-增加API参考&加速API Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: fixes [#86](https://gitcode.com/Ascend/MindIE-SD/issues/86) 1、新增API参考(社区API接口) 2、新增加速API(原社区layer层) 3、删除readme中的快速入门和单多卡并行示例内容(有单独的quick_start承载) 4、算子融合单独拆分出来,在特性章节独立存在 5、删除特性章节目录名称中的“加速特性” 6、黄区大模型检测问题修改 See merge request: Ascend/MindIE-SD!263 | 2 个月前 | |
[Bugfix][eplb]Align EPLB fault logs with fault mode library Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !380 merge fault_fix into dev [Bugfix][eplb]Align EPLB fault logs with fault mode library Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fixes #[待补充 ISSUE ID] # Purpose 修正 EPLB 故障模式库中部分故障描述与实际日志不一致的问题: - EPLB-FM001:增加 Scheduler 未运行时的 ERROR 连接失败日志。 - EPLB-FM002:封装端口占用异常,日志保留 Address already in use 及监听地址。 - EPLB-FM003:将 Worker 连接 Scheduler 失败记录为具体 ERROR 日志。 - EPLB-FM004:捕获认证异常,增加认证密钥不一致的具体 ERROR 日志。 - EPLB-FM010:布局未更新时输出具体 ERROR 日志。 - EPLB-FM011:未知指令改为 ERROR 日志,并区分非法对象和未知任务类型。 - 同步更新中英文 EPLB 故障模式库中的检测机制、定位方法及故障关键日志。 - 补充故障构造测试,直接读取故障库的“故障关键日志”字段并校验实际日志输出。 实现遵循 MR 静态规则中关于日志工具、懒插值、异常类型及异常捕获顺序的要求;失败路径记录日志后保留原始异常行为。 # Test Plan 1. 构造 Scheduler 未启动场景,验证 FM001/FM003 连接失败日志。 2. 占用 Scheduler 端口,验证 FM002 日志包含 Address already in use。 3. 使用不一致的认证密钥,验证 FM004 认证失败日志。 4. 模拟 greedy 算法不产生更新,验证 FM010 日志。 5. 注入非法指令和未知任务类型,验证 FM011 日志。 6. 校验中英文 CSV 均包含 11 条故障模式且字段结构正确。 7. 对本次修改文件执行 pre-commit 检查。 # Test Report 执行命令: ``shell python -m unittest tests.eplb.test_eplb_fault_modes tests.test_fault_modes -v 结果:14 tests passed。 执行命令: pre-commit run --files \ docs/en/appendix/eplb_fault_mode_library.csv \ docs/zh/appendix/eplb_fault_mode_library.csv \ mindiesd/eplb/eplb_scheduler.py \ mindiesd/eplb/task_manager.py \ tests/eplb/test_eplb_fault_modes.py 结果:全部通过,包括 Ruff、Pylint、Bandit、Codespell、Typos 及格式检查。 补充说明:pre-commit run --all-files 会被仓库其他历史文件中的 Ruff、Pylint、Typos 和格式问题阻断,本次修改文件不存在相关问题。 1. **变更类别**:Bugfix / EPLB 日志与故障库整改 2. **影响文件**:EPLB Scheduler、Task Manager、故障测试及中英文 CSV 3. **读取依据**:PR 模板、治理 skill、指定 MR 规则表 4. **一致性检查结果**:日志、级别、故障描述及测试已匹配 5. **必需联动项**:中英文故障库已同步 6. **风险与缺口**:需补充实际 ISSUE ID;未执行 Sphinx 构建 Commit title proposal:[Bugfix][eplb]Align fault logs with EPLB fault mode library` See merge request: Ascend/MindIE-SD!380 | 4 天前 | |
新增Dynamic EPLB Co-authored-by: TwistZzzz<xuwenkang6@h-partners.com> # message auto-generated for no-merge-commit merge: !72 merge dev into dev [Feature] [EPLB] 新增Dynamic EPLB Created-by: TwistZzzz Commit-by: TwistZzzz Merged-by: ascend-robot Description: [feature] 新增Dynamic EPLB 由于方案部署与模型初始化阶段和moe阶段相关 详细部署流程已整合到mindiesd项目下: docs/features/DyEPLB.md <span style="font-size:36px;">**主要模块**</span> ## Collector - 模块说明:负载采集器, 由于DyEPLB是通过当前的专家负载信息来动态调整 Rank 上的专家布局从而达到负载均衡的方案,对于负载数据需要采集器来负责收集工作 - 核心逻辑:以专家对应的token数的列表作为负载信息进行采集,通过double buffer机制置入共享队列中供算法侧进行新专家布局的计算 ## Dispatcher - 模块说明: 调度器, 提供全局同步的通信接口、维护全局和本地专家布局map和权重更新接口 - 核心逻辑: 负责进行新专家布局涉及的权重拼接、权重替换 ## FPA算法 - 原理:由于DyEPLB 场景需要在运行时动态调整专家分配以追求极致性能,调度算法的决策时延与计算开销成为关键约束。为此,我们提出了一种基于贪心策略的高效 EPLB 调度算法。该算法利用运行时的专家激活分布数据及当前的专家-NPU 拓扑映射关系,实时生成专家动态复制与跨卡冷热交换策略,有效消解由专家热度差异引发的设备负载失衡问题 ## Task - 模块说明: 负责任务的构造、任务队列的出队入队。 均为内部接口, 用户无感知 - 核心逻辑: 对于采集器和调度器涉及到的数据进行处理,以达到逻辑自洽 See merge request: Ascend/MindIE-SD!72 | 4 个月前 | |
[Bugfix][log]Unify MindIE SD logging and improve diagnostics Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !328 merge 0603_log into dev [Bugfix][log]Unify MindIE SD logging and improve diagnostics Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fix part of https://gitcode.com/Ascend/MindIE-SD/issues/158 # Purpose 本 PR 修复 MindIE SD 日志问题,主要包括: 1. 统一 MindIE SD Python 模块日志出口,避免 compilation、share_memory 等模块直接使用标准库 logging.getLogger(__name__),导致日志格式、落盘路径、过滤级别和开关行为不一致。 2. 优化日志模块默认输出格式,确保默认与 verbose 模式均包含 MindIE SD 组件标识。 3. 精简默认 INFO 场景日志,将正常流程、调试态信息降级为 DEBUG,避免默认运行场景产生不必要日志。 4. 增强 WARNING/ERROR 日志内容,补充问题描述、可能根因、参数期望值/实际值和进一步排查建议。 5. 修复 pre-commit 暴露的日志格式、pylint、bandit、typos 等问题,包括日志参数数量不匹配、拼写错误、动态 API 静态检查误报标注和 EPLB scheduler 嵌套层级过深问题。eplb_scheduler、greedy_algorithm中此类改动较多,多是形式改动,无实际影响。 # Test Plan 1. 执行 pre-commit 全量检查,覆盖 ruff、pylint、bandit、typos 等静态质量门禁。 2. 执行 Python 编译检查,确认本次修改未引入语法错误。 3. 执行 git diff 空白检查,确认无行尾空白、格式污染。 4. 白盒检查 mindiesd 正式代码中默认 INFO 日志是否清理完成。 5. 白盒检查除日志模块本体外,是否仍存在直接使用标准库 logging.getLogger(__name__) 的模块。 # Test Report 已执行并通过:  See merge request: Ascend/MindIE-SD!328 | 25 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 4 天前 | ||
| 25 天前 | ||
| 2 个月前 | ||
| 4 天前 | ||
| 4 个月前 | ||
| 25 天前 |