| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增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 | 5 个月前 | |
【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 | 3 个月前 | |
【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 | 3 个月前 | |
[Bugfix][eplb]Enhance EPLB fault logs and fault mode library Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !402 merge 0701_fix into dev [Bugfix][eplb]Enhance EPLB fault logs and fault mode library Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # PR Title [Bugfix][eplb]Enhance EPLB fault logs and fault mode library # Which issue(s) this PR fixes or accomplishes Fixes #ISSUE ID # Purpose 本 PR 用于完善 EPLB 故障模式库与运行时日志,满足故障定位工具暂不具备执行指令能力时,用户仅依赖日志内容也能完成定位排查的要求。 主要修改如下: 1. 完善 EPLB 运行时日志中的定位排查信息: - Scheduler 端口绑定失败日志补充端口占用、 --host、--port 排查路径。 - Worker 连接 Scheduler 失败日志补充 actual_error、进程状态、端口监听、worker/scheduler 地址一致性、网络连通性排查路径。 - 认证失败日志补充 scheduler --auth_key、worker auth_key、EPLB_AUTH_KEY 对比方法。 - profile 任务入队失败日志补充 scheduler/worker 消费线程、队列积压、lb_interval 和队列容量排查方法。 - scheduler 处理上报失败日志补充 moe_layer_idx、load、local_expert_list、block_num、world_size、mode/redundant 排查方法。 - 布局未更新日志补充 layer_idx、rank 上报完整性、block_num、负载变化和 EPLB 阈值排查方法。 - 未知指令日志补充 instruction producer、TaskPayload.task_type、TASK_DISPATCHER 排查方法。 2. 同步完善中英文 EPLB 故障模式库: - docs/zh/appendix/eplb_fault_mode_library.csv - docs/en/appendix/eplb_fault_mode_library.csv - 将 故障关键日志 从短关键字改为完整日志模板。 - 动态字段使用 {...} 占位。 - 日志内容不包含 EPLB 故障模式编号。 - 故障定位方法与运行时日志中的排查思路保持一致。 3. 补充 EPLB 未知 TaskType 的 ERROR 日志: - 非 TaskPayload 指令输出 Unknown instruction ignored。 - 非法 TaskPayload.task_type 输出 Unknown task type。 - 保持原有异常行为不变,未知任务类型仍抛出 ParametersInvalid。 # Test Plan 测试内容如下: 1. 故障模式库结构校验: - 验证 EPLB 故障模式库 schema。 - 验证故障模式库仅作为文档引用,不进入包发布数据。 - 验证故障模式库只包含 EPLB 故障模式。 2. EPLB 故障模式日志校验: - 验证 scheduler 未运行 / worker 连接失败日志。 - 验证 scheduler 端口不可用日志。 - 验证认证密钥不一致日志。 - 验证 profile 任务入队失败日志。 - 验证 scheduler 处理上报失败异常。 - 验证专家初始放置失败、共享专家放置失败、专家交换状态不一致、布局未更新、未知任务指令等场景。 3. 提交前静态检查: - 对本次修改文件执行 pre-commit run --files。 - 参考 MR 规则表中 Python 相关规则,重点关注日志工具使用、异常处理、导入顺序、格式与行宽等静态检查要求。 # Test Report 已执行并通过: ```shell python -m unittest tests/test_fault_modes.py -v See merge request: Ascend/MindIE-SD!402 | 1 个月前 | |
[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 | 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 | 3 个月前 | |
[Bugfix][eplb]Enhance EPLB fault logs and fault mode library Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !402 merge 0701_fix into dev [Bugfix][eplb]Enhance EPLB fault logs and fault mode library Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # PR Title [Bugfix][eplb]Enhance EPLB fault logs and fault mode library # Which issue(s) this PR fixes or accomplishes Fixes #ISSUE ID # Purpose 本 PR 用于完善 EPLB 故障模式库与运行时日志,满足故障定位工具暂不具备执行指令能力时,用户仅依赖日志内容也能完成定位排查的要求。 主要修改如下: 1. 完善 EPLB 运行时日志中的定位排查信息: - Scheduler 端口绑定失败日志补充端口占用、 --host、--port 排查路径。 - Worker 连接 Scheduler 失败日志补充 actual_error、进程状态、端口监听、worker/scheduler 地址一致性、网络连通性排查路径。 - 认证失败日志补充 scheduler --auth_key、worker auth_key、EPLB_AUTH_KEY 对比方法。 - profile 任务入队失败日志补充 scheduler/worker 消费线程、队列积压、lb_interval 和队列容量排查方法。 - scheduler 处理上报失败日志补充 moe_layer_idx、load、local_expert_list、block_num、world_size、mode/redundant 排查方法。 - 布局未更新日志补充 layer_idx、rank 上报完整性、block_num、负载变化和 EPLB 阈值排查方法。 - 未知指令日志补充 instruction producer、TaskPayload.task_type、TASK_DISPATCHER 排查方法。 2. 同步完善中英文 EPLB 故障模式库: - docs/zh/appendix/eplb_fault_mode_library.csv - docs/en/appendix/eplb_fault_mode_library.csv - 将 故障关键日志 从短关键字改为完整日志模板。 - 动态字段使用 {...} 占位。 - 日志内容不包含 EPLB 故障模式编号。 - 故障定位方法与运行时日志中的排查思路保持一致。 3. 补充 EPLB 未知 TaskType 的 ERROR 日志: - 非 TaskPayload 指令输出 Unknown instruction ignored。 - 非法 TaskPayload.task_type 输出 Unknown task type。 - 保持原有异常行为不变,未知任务类型仍抛出 ParametersInvalid。 # Test Plan 测试内容如下: 1. 故障模式库结构校验: - 验证 EPLB 故障模式库 schema。 - 验证故障模式库仅作为文档引用,不进入包发布数据。 - 验证故障模式库只包含 EPLB 故障模式。 2. EPLB 故障模式日志校验: - 验证 scheduler 未运行 / worker 连接失败日志。 - 验证 scheduler 端口不可用日志。 - 验证认证密钥不一致日志。 - 验证 profile 任务入队失败日志。 - 验证 scheduler 处理上报失败异常。 - 验证专家初始放置失败、共享专家放置失败、专家交换状态不一致、布局未更新、未知任务指令等场景。 3. 提交前静态检查: - 对本次修改文件执行 pre-commit run --files。 - 参考 MR 规则表中 Python 相关规则,重点关注日志工具使用、异常处理、导入顺序、格式与行宽等静态检查要求。 # Test Report 已执行并通过: ```shell python -m unittest tests/test_fault_modes.py -v See merge request: Ascend/MindIE-SD!402 | 1 个月前 | |
新增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 | 5 个月前 | |
[Bugfix][eplb]Enhance EPLB fault logs and fault mode library Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !402 merge 0701_fix into dev [Bugfix][eplb]Enhance EPLB fault logs and fault mode library Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # PR Title [Bugfix][eplb]Enhance EPLB fault logs and fault mode library # Which issue(s) this PR fixes or accomplishes Fixes #ISSUE ID # Purpose 本 PR 用于完善 EPLB 故障模式库与运行时日志,满足故障定位工具暂不具备执行指令能力时,用户仅依赖日志内容也能完成定位排查的要求。 主要修改如下: 1. 完善 EPLB 运行时日志中的定位排查信息: - Scheduler 端口绑定失败日志补充端口占用、 --host、--port 排查路径。 - Worker 连接 Scheduler 失败日志补充 actual_error、进程状态、端口监听、worker/scheduler 地址一致性、网络连通性排查路径。 - 认证失败日志补充 scheduler --auth_key、worker auth_key、EPLB_AUTH_KEY 对比方法。 - profile 任务入队失败日志补充 scheduler/worker 消费线程、队列积压、lb_interval 和队列容量排查方法。 - scheduler 处理上报失败日志补充 moe_layer_idx、load、local_expert_list、block_num、world_size、mode/redundant 排查方法。 - 布局未更新日志补充 layer_idx、rank 上报完整性、block_num、负载变化和 EPLB 阈值排查方法。 - 未知指令日志补充 instruction producer、TaskPayload.task_type、TASK_DISPATCHER 排查方法。 2. 同步完善中英文 EPLB 故障模式库: - docs/zh/appendix/eplb_fault_mode_library.csv - docs/en/appendix/eplb_fault_mode_library.csv - 将 故障关键日志 从短关键字改为完整日志模板。 - 动态字段使用 {...} 占位。 - 日志内容不包含 EPLB 故障模式编号。 - 故障定位方法与运行时日志中的排查思路保持一致。 3. 补充 EPLB 未知 TaskType 的 ERROR 日志: - 非 TaskPayload 指令输出 Unknown instruction ignored。 - 非法 TaskPayload.task_type 输出 Unknown task type。 - 保持原有异常行为不变,未知任务类型仍抛出 ParametersInvalid。 # Test Plan 测试内容如下: 1. 故障模式库结构校验: - 验证 EPLB 故障模式库 schema。 - 验证故障模式库仅作为文档引用,不进入包发布数据。 - 验证故障模式库只包含 EPLB 故障模式。 2. EPLB 故障模式日志校验: - 验证 scheduler 未运行 / worker 连接失败日志。 - 验证 scheduler 端口不可用日志。 - 验证认证密钥不一致日志。 - 验证 profile 任务入队失败日志。 - 验证 scheduler 处理上报失败异常。 - 验证专家初始放置失败、共享专家放置失败、专家交换状态不一致、布局未更新、未知任务指令等场景。 3. 提交前静态检查: - 对本次修改文件执行 pre-commit run --files。 - 参考 MR 规则表中 Python 相关规则,重点关注日志工具使用、异常处理、导入顺序、格式与行宽等静态检查要求。 # Test Report 已执行并通过: ```shell python -m unittest tests/test_fault_modes.py -v See merge request: Ascend/MindIE-SD!402 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 1 个月前 |