MindIE-Motor-ykq:基于LLM PD分离推理的请求调度框架项目

昇腾自研推理集群管理框架

分支1Tags0
文件最后提交记录最后更新时间
Merge branch 'dev' into 'master' # Conflicts: # conflict .gitcode/PULL_REQUEST_TEMPLATE.md5 个月前
MindIE Motor仓目录调整 Co-authored-by: zhangdiago<zhangdi5@huawei.com> # message auto-generated for no-merge-commit merge: !71 merge personal/z00833806/Motor_Dir0121 into dev MindIE Motor仓目录调整 Created-by: zhangdiago Commit-by: zhangdiago Merged-by: ascend-robot Description: ## **1. 合入背景** 开源社区目录与代码整改方案对齐 [#46](https://gitcode.com/Ascend/MindIE-Motor/issues/46) 1/3 15:30–16:30 (UTC+08:00)Beijing 陈波;何建平;康宇昕;柯展;罗福云;王晓鹏;吕有辉;吴铭泾;王君;张迪;喻军宇;耿力;王洋 通过线上会议+群聊对齐方式达成一致:  nodeManager和om adapter两个python组建,更改目录结构到mindie motor下,与mindie motor一起出一个整包,不再单独出包,原本的mindie service目录废弃; ## **2. 修改内容** 1.mindie_service改为mindie_motor; 2.management_service改为src 3.http_client_ctl挪到src目录; 4.mindie_motor下新增python/mindie_motor目录,node_manager、om_adapter挪到此目录下,另外controller和coordinator的whl包打包代码也放在此目录 ## **3. 资料变更** 资料需要适配新目录 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 打包验证OK: ![image.png](https://raw.gitcode.com/user-images/assets/8772838/031d7c2f-00f7-4a1f-be86-f064551bc595/image.png 'image.png') 大EP验证: 镜像信息:https://cmc-szv.clouddragon.huawei.com/cmcversion/index/findSnapshotRelease?deltaId=14076751309850496&isSelect=Inner&url_data=MindIE-images 在上述镜像基础上安装上面编译的whl包 ![image.png](https://raw.gitcode.com/user-images/assets/8772838/38b573ba-75e2-483f-bfee-898f6d921ae1/image.png 'image.png') 安装: boot.sh内添加如实适配命令: pip install /mnt/z00833806/mindie_motor-1.0.0-cp311-cp311-linux_aarch64.whl --force-reinstall chmod 500 /usr/local/lib/python3.11/site-packages/mindie_motor/scripts/http_client_ctl/*; chmod 550 /usr/local/lib/python3.11/site-packages/mindie_motor/examples/kubernetes_deploy_scripts/boot_helper/*; chmod 640 /usr/local/lib/python3.11/site-packages/mindie_motor/examples/kubernetes_deploy_scripts/boot_helper/boot.sh; chmod 500 /usr/local/lib/python3.11/site-packages/mindie_motor/scripts/http_client_ctl/*; chmod 700 /root; chmod 640 /usr/local/lib/python3.11/site-packages/mindie_motor/conf/model_config/*.json; chmod 640 /usr/local/lib/python3.11/site-packages/mindie_motor/conf/machine_config/*.json; 拉起OK ![image.png](https://raw.gitcode.com/user-images/assets/8772838/23c0e897-9c56-4440-b578-f38b40c87755/image.png 'image.png') 业务验证curl通了 ![image.png](https://raw.gitcode.com/user-images/assets/8772838/7a921a91-73d7-4861-a3bb-718d65219bb1/image.png 'image.png') ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 See merge request: Ascend/MindIE-Motor!714 个月前
社区代码静态检查能力增强 Co-authored-by: yjy_ac<yujunyu3@huawei.com> Co-authored-by: wumingjing<wumingjing@huawei.com> Co-authored-by: hejianping<hejianping7@huawei.com> # message auto-generated for no-merge-commit merge: !90 merge br_pre-commit_motor into dev 社区代码静态检查能力增强 Created-by: hejianping Commit-by: hejianping;wumingjing;yjy_ac Merged-by: wumingjing Description: ## **1. 合入背景** 目前在MindIE-Motor社区中,没有部署个人级静态检查工具,很多开发过程中存在的低级错误,依赖Committer的代码检视无法完全看护,亟需进行静态检查能力增强,本PR合入关联issue:Fixs [#56](https://gitcode.com/Ascend/MindIE-Motor/issues/56) ## **2. 修改内容** 参考主流开源社区,部署pre-commit检查工具,进行静态检查 ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 不涉及 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 See merge request: Ascend/MindIE-Motor!903 个月前
【文档修改】Motor编译指导以及其他内容更新 Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !110 merge dev into dev 【文档修改】Motor编译指导以及其他内容更新 Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: Fixes [#83](https://gitcode.com/Ascend/MindIE-Motor/issues/83) 1、外层readme:修改MindIE Motor简介、新增目录结构、更新motor架构图 2、controller探测PD示例健康状态优化:controller配置参数server_online_attempt_times默认值由4改为36 3、ms_controller.json等配置文件删除kmc_ksf_master、kmc_ksf_standby参数 4、新增编译Motor文件 See merge request: Ascend/MindIE-Motor!1103 个月前
[新需求]MindIE-Motor大EP场景支持trace采集 Co-authored-by: ChenHuiwen<chenhuiwen7@huawei.com> Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !123 merge dev into dev [新需求]MindIE-Motor大EP场景支持trace采集 Created-by: hewenbo Commit-by: hewenbo;ChenHuiwen Merged-by: ascend-robot Description: ## **1. 合入背景** 在金融传统业务运维监控体系中,会采用TraceID对业务进行交易级的监控与跟踪,以满足可视化需求与运维的SLA要求。当前金融行业引入AI大模型推理后,业务监控体系存在断点,需要补齐AI体系的交易级别的全链路监控能力。此前MindIE基于工行已开发基于OpenTelemetry SDK接入到行内自有调用链平台,随着AI推理应用的逐步展开,面向腰部金融机构及央国企企业,需要提供基于华为端到端的完整方案。当前基于华为云产品组合的端到端完整方案为:各核心推理组件调用链——APM数据汇聚——AI Insight呈现。 ## **2. 修改内容** 在Motor仓中添加 Trace 采集(支持大EP 场景),生成的的spanID 和原TraceID 传到 LLM仓,对接上原来的Trace 能力 ## **3. 资料变更** 在资料中体现已支持相关场景 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ![image.png](https://raw.gitcode.com/user-images/assets/8772838/b0fd820c-ce59-41d9-a61c-42c4a8d504ec/image.png 'image.png') ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [ ] 是否有UT用例 See merge request: Ascend/MindIE-Motor!1232 个月前
MS接收LLM发起的实例级快恢流程,并根据LLM上报的故障码生成告警,上报给CCAE Co-authored-by: lbr711<liuboru1@huawei.com> # message auto-generated for no-merge-commit merge: !97 merge oom into dev MS接收LLM发起的实例级快恢流程,并根据LLM上报的故障码生成告警,上报给CCAE Created-by: lbr711 Commit-by: lbr711 Merged-by: ascend-robot Description: ## **1. 合入背景** MindIE LLM Text Generator触发OutOfMemory(OOM)异常时向控制面抛出,控制面负责触发OOM快恢流程并向CCAE上报事件告警 ## **2. 修改内容** 1. 提供OOM故障码由NodeManager透传至Controller的通信通道 2. 接收OOM故障码时, 触发OOM快恢流程 3. 上报CCAE事件告警 4. OOM快恢流程沿用灵衢快恢, PAUSE_ENGINE->REINIT_NPU->START_ENGINE ## **3. 资料变更** 1. 在配置项"fault_recovery_func_dict"中新增使能OOM快恢的子配置项"oom" 2. 修改NodeManager的轮询间隔为1s ## **4. 接口变更** 不涉及 ## **5. 测试结果** ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 See merge request: Ascend/MindIE-Motor!972 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
delete useless markdown and gitignore/gitmodules and README Co-authored-by: wumingjing<wumingjing@huawei.com> # message auto-generated for no-merge-commit merge: !46 merge dev into dev delete useless markdown and gitignore/gitmodules and README Created-by: wumingjing Commit-by: wumingjing Merged-by: ascend-robot Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes #27 1、.gitignore文件 和 .gitmodules文件中,存在大量已删除的文件夹(MindIE Server、KMC),保留 vscode、idea、DS Store,已和 @tobking、@wangyang 确认。 2、debug.log 无用日志文件删除。 3、code-of-conduct.md文件和Ascend组织的重复( https://gitcode.com/Ascend/community/blob/master/docs/contributor/code-of-conduct.md ),已和 [@zeshengzong](https://gitcode.com/zeshengzong) 确认,可删除。 4、删除无用&不维护的MS旧文件(management_service内的README、one-key-build.sh),已和 [@drizzlezyk](https://gitcode.com/drizzlezyk) 确认,可删除 --- ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 1、删除 .gitignore 无用文件夹 2、删除 .gitmodules 3、删除 code_of_conduct.md 4、删除 debug.log 5、删除 OWNERS 6、删除 mindie_service/management_service/README.md 7、删除 mindie_service/management_service/one_key_build.sh --- ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 涉及,如上所述: 1、删除 .gitignore 无用文件夹 2、删除 .gitmodules 3、删除 code_of_conduct.md 4、删除 debug.log 5、删除 OWNERS 6、删除无用&不维护的MS旧文件(management_service内的README、one-key-build.sh),已和 [@drizzlezyk](https://gitcode.com/drizzlezyk) 确认,可删除 --- ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 不涉及 --- ## **5. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 See merge request: Ascend/MindIE-Motor!464 个月前
社区代码静态检查能力增强 Co-authored-by: yjy_ac<yujunyu3@huawei.com> Co-authored-by: wumingjing<wumingjing@huawei.com> Co-authored-by: hejianping<hejianping7@huawei.com> # message auto-generated for no-merge-commit merge: !90 merge br_pre-commit_motor into dev 社区代码静态检查能力增强 Created-by: hejianping Commit-by: hejianping;wumingjing;yjy_ac Merged-by: wumingjing Description: ## **1. 合入背景** 目前在MindIE-Motor社区中,没有部署个人级静态检查工具,很多开发过程中存在的低级错误,依赖Committer的代码检视无法完全看护,亟需进行静态检查能力增强,本PR合入关联issue:Fixs [#56](https://gitcode.com/Ascend/MindIE-Motor/issues/56) ## **2. 修改内容** 参考主流开源社区,部署pre-commit检查工具,进行静态检查 ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 不涉及 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 See merge request: Ascend/MindIE-Motor!903 个月前
[文档]修改文档中的跳转链接以及格式调整 Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !34 merge dev into dev [文档]修改文档中的跳转链接以及格式调整 Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: Fixes [#22](https://gitcode.com/Ascend/MindIE-Motor/issues/22) 全量修改docs目录下,社区迁移的md文档的如下问题: 1、修改文档中的跳转链接; 2、调整文档的格式; 3、刷新图片; 4、补充相关文档。(license...) See merge request: Ascend/MindIE-Motor!344 个月前
【文档修改】Motor编译指导以及其他内容更新 Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !110 merge dev into dev 【文档修改】Motor编译指导以及其他内容更新 Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: Fixes [#83](https://gitcode.com/Ascend/MindIE-Motor/issues/83) 1、外层readme:修改MindIE Motor简介、新增目录结构、更新motor架构图 2、controller探测PD示例健康状态优化:controller配置参数server_online_attempt_times默认值由4改为36 3、ms_controller.json等配置文件删除kmc_ksf_master、kmc_ksf_standby参数 4、新增编译Motor文件 See merge request: Ascend/MindIE-Motor!1103 个月前
[文档]修改文档中的跳转链接以及格式调整 Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !34 merge dev into dev [文档]修改文档中的跳转链接以及格式调整 Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: Fixes [#22](https://gitcode.com/Ascend/MindIE-Motor/issues/22) 全量修改docs目录下,社区迁移的md文档的如下问题: 1、修改文档中的跳转链接; 2、调整文档的格式; 3、刷新图片; 4、补充相关文档。(license...) See merge request: Ascend/MindIE-Motor!344 个月前
[Doc]增加安全说明 Co-authored-by: z00897138<zhaorifa@huawei.com> # message auto-generated for no-merge-commit merge: !39 merge dev into dev [Doc]增加安全说明 Created-by: zhaorifa263 Commit-by: z00897138 Merged-by: ascend-robot Description: ## **1. 合入背景** Fixes [#1](https://gitcode.com/Ascend/MindIE-Motor/issues/1) MindIE缺少开源软件安全声明,需要增加 ## **2. 修改内容** 新增security.md文档 ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 不涉及 ## **6. CheckList** PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 See merge request: Ascend/MindIE-Motor!394 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前

MindIE Motor

🔥Latest News

[2025/12] MindIE Motor正式开源。

🚀简介

MindIE Motor是面向LLM PD分离推理的请求调度框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,向下对接MindIE LLM,满足大语言模型高性能推理需求。MindIE Motor提供以下两个方面的能力:

  • PD分离的请求调度:主要将外部的客户请求分发到负载最低的Prefill/Decode实例上,起到负载均衡的作用;
  • RAS(Reliability、Availability和Serviceability):增强PD分离服务可靠性、可用性和可服务性的能力。

MindIE Motor及其周边组件交互架构图如下所示。

图 1 MindIE Motor架构图

MindIE Motor提供PD分离推理服务化调度和RAS能力,关键组件和模块解释如下。

  • Coordinator:调度器。是用户推理请求的入口,接收高并发的推理请求,进行请求调度、请求管理、请求转发等,是整个集群的数据请求入口。

    • Endpoint:对外RESTful接口,如OpenAI接口。
    • Metrics:PD分离服务整体的Metrics统计指标,是整个服务的Prefill/Decode实例的统计指标汇总。
    • Controller Monitor:接收Controller同步的实例状态信息,如健康状态、故障实例等信息。
    • LoadBalancer:负载均衡调度。
    • RequestMonitor:请求状态监控,如请求阶段、请求异常等。
  • Controller:控制器。完成集群内所有Prefill/Decode实例的业务状态管控、PD身份管理与决策、RAS能力等,是整个集群的状态管控器和决策大脑。

    • FaultManager:故障管理模块,接收上报的故障,并处理故障,如隔离、重启、自愈恢复等。
    • InsManager:实例管理器,负责PD实例身份的分配、调整等。
    • CCAEReporter:运维管理信息上报,上报PD实例、Metrics等统计信息。
    • InsMonitor:PD实例监控,包括心跳、负载等。
  • MindIE LLM:提供单个模型服务实例(Prefiller/Decoder)服务化推理能力,提供ContinuousBatching、PagedAttention、投机推理等LLM加速特性。

  • ClusterD:MindCluster高阶组件,负责故障诊断和全局RankTable表(整个PD分离服务所需的组网和Device信息)下发等功能。

  • CCAE:算存网一体化运维可视化平台。

MindIE Motor是面向通用模型场景的推理服务化框架,通过开放、可扩展的推理服务化平台架构提供推理服务化能力,支持对接业界主流推理框架接口,满足大语言模型的高性能推理需求

以下是两个MindIE Motor代码仓库智能体,只需点击 "Ask AI" 徽章,即可进入其专属页面,有效缓解源码阅读的困难,开启智能代码学习与问答体验!它们将帮助您更深入地理解MindIE Motor的运行原理,并协助解决使用过程中遇到的问题与错误。

Zread     DeepWiki

🔍目录结构

├── docs                                     # 项目文档                         
├── mindie_motor                             # 服务框架总模块
│   ├── python                               # Python封装与脚本
│   ├── src                                  # 服务管理模块
│   │   ├── common                           # 公共代码
│   │   ├── config                           # 配置文件
│   │   ├── controller                       # 控制器
│   │   ├── coordinator                      # 调度器
│   │   ├── example                          # 部署与样例
│   │   ├── http_client_ctl                  # HTTP客户端与管控
│   │   ├── node_health_management           # 节点状态探针
│   │   ├── test                             # 单元测试
├── module                                   # MindIE-LLM推理引擎模块
├── third_party                              # 第三方依赖
├── README.md   

⚡️版本说明

MindIE软件版本 CANN版本兼容性
3.0.0 9.0.0

⚡️环境部署

MindIE Motor安装前的相关软硬件环境准备,以及安装步骤,请参见安装指南

⚡️快速入门

快速体验启动服务、接口调用、精度&性能测试和停止服务全流程,请参见快速入门

📝学习文档

  • 集群服务部署:介绍MindIE Motor集群服务部署方式,包括单机(非分布式)服务部署和PD分离单、多机服务部署。
  • 集群管理组件:介绍MindIE Motor集群管理组件,包括Controller和Coordinator。
  • 服务化接口:介绍MindIE Motor提供的用户侧接口和集群内通信接口。
  • 配套工具:介绍MindIE Motor提供的配套工具,包括性能/精度测试工具、MindIE探针工具、服务化调优工具、CertTools、OM Adapter和Node Manager。

📝免责声明

版权所有© 2025 MindIE Project.

您对"本文档"的复制、使用、修改及分发受知识共享(Creative Commmons)署名——相同方式共享4.0国际公共许可协议(以下简称"CC BY-SA 4.0")的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/了解CC BY-SA 4.0的概要(但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。

📝贡献指南

  1. 提交错误报错:如果您在MindIE Motor中发现了一个不存在安全问题的漏洞,请在MindIE Motor仓库中的Issues中搜索,以防该漏洞被重复提交,如果找不到漏洞可以创建一个新的Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应该包含完整信息。
  2. 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。
  3. 解决现有问题:通过查看仓库的Issues列表可以发现需要处理的问题信息,可以尝试解决其中的某个问题。
  4. 如何提供新功能:请使用Issues的Feature标签进行标记,我们会定期处理和确认开发。
  5. 开始贡献:
    1. Fork本项目的仓库。
    2. Clone到本地。
    3. 创建开发分支。
    4. 本地测试:提交前请通过所有单元测试,包括新增的测试用例。
    5. 提交代码。
    6. 新建Pull Request。
    7. 代码检视:您需要根据评审意见修改代码,并重新提交更新。此流程可能涉及多轮迭代。
    8. 当您的PR获得足够数量的检视者批准后,Committer会进行最终审核。
    9. 审核和测试通过后,CI会将您的PR合并到项目的主干分支。

更多贡献相关文档请参见贡献指南

📝相关信息

项目介绍

昇腾自研推理集群管理框架

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

C++80.66%
Python12.11%
Shell6.11%
CMake1.11%
C0.02%