欢迎来到 openFuyao 社区
Hey @qishibo-Aur0ra , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅此处。
联系指引
有疑问可以联系 SIG: sig-ai-inference ,
维护者是: @foxbit, @regandy ,
审核者是: @ShiroChen, @piamposer-li, @qinwenzh .


设计思路:
1、离线压测
首先是需要人工进行离线压测,得到的结果是针对不同模型,集群中所有类型卡的部署方案的推荐情况,初版计划采用方案匹配
例如:
GLM-5.3:
推荐方案1:xxx
推荐方案2:xxx
这些是在离线压测得到的profile写好的,是按推荐优先级排序的,在匹配时从上到下按优先级匹配
2、服务部署状态
从配置推荐服务部署开始,就维护一个全局的集群可用资源视图,这个资源视图由一个进程进行维护,在模型部署成功时,该进程自动刷新集群可用资源视图(后续步骤)
3、实际下发模型部署CR
1)获取推荐值(求解流程见 4、)
当下发一个CR时,这个CR里面定义的是模型部署的SLO需求
Controller解析这个CR,取出数据,然后通过离线压测的模板推荐与当前集群可用资源进行匹配,最终推荐结果为在当前集群可用资源基础上,满足SLO的最推荐方案
注:推荐算法应可插拔,以满足开闭原则
2)模型实际部署(执行DAG)
在获得推荐值后,按照推荐方案部署这个模型:
a): 如果部署成功,可用资源维护进程修改资源视图
b): 如果部署失败(执行apply命令后发现返回的pod一直为pending,部署超时),选择次优先级的推荐方案,直至全部选择完
4、IRO求解流程:
由用户传入业务峰值RPS及请求特征占比,算出每种请求特征任务的RPS(base)
假设业务峰值10RPS
λ[b1] = 10 × 0.40 = 4.0 RPS
λ[b2] = 10 × 0.45 = 4.5 RPS
λ[b3] = 10 × 0.15 = 1.5 RPS
取性能矩阵中safeRPS在每种请求特征任务都能大于base的PD配比,如果多种情况满足,则选择成本最低的配比,如此得到推荐方案
遗留问题:
1)如果模型并发部署成功,这个资源视图要怎么维护
2)资源可用性需要结合拓扑,应如何设计
3)添加该推荐模块后是否会造成额外的开销
4)推荐模块结果如何与Infernex原有流程结合起来,关注两个流程结合的时序性
5)版本测试规格





如果部署失败(执行apply命令后发现返回的pod一直为pending,部署超时),选择次优先级的推荐方案,直至全部选择完。这套逻辑可后期复用在已部署服务的规格调优场景下,当已上线服务出现oom或者响应慢不稳定情况下 可复用推荐方案
资源可用性需要结合拓扑。建议 前期设计中不考虑切分场景 仅考虑整卡空闲 。对拓扑感知简化 同一节点连续可用卡优先。后续迭代中资源视图中补充卡的numa信息 再加入网络互联拓扑感知 Numa亲和感知


当前 InferNex 在首次下发模型部署任务时,需要用户预先指定 NPU 型号及卡数,例如直接指定使用多少张 Ascend 910B 或 Ascend 910C。
这种方式存在以下问题:
1. 用户难以准确评估模型所需算力资源
模型部署所需资源受模型规模、精度、上下文长度、并行策略等多种因素影响,用户很难直接判断需要多少张卡才能满足部署要求。
2. 容易出现资源配置不足或资源浪费
如果用户配置偏小,可能导致模型无法部署或运行性能不达预期;如果配置过大,则会造成算力资源浪费,降低集群整体利用率。
3. 难以充分利用集群中的碎片化异构资源
当集群中不存在足够数量的单一型号设备时,即使现有 910B、910C 等异构资源组合后能够满足部署需求,用户也很难自行计算出合理的混合部署方案。
因此,建议在模型首次部署前增加资源规格自动推荐能力,在满足SLO的情况下获得推荐值。
系统可根据模型规模、精度、推理并行策略,以及不同 NPU 的显存、计算能力和实际推理性能,对异构算力进行统一度量和等效换算,并结合集群当前可用资源,自动推荐可满足模型部署需求的最优资源规格。
例如:
模型 A:8 × Ascend 910C
模型 B:16 × Ascend 910B
模型 C:8 × Ascend 910B + 4 × Ascend 910C
同时给出对应的 TP / DP 等并行配置及预期资源需求。
通过该能力,可以降低用户在首次部署时的算力规格评估成本,避免因人工指定资源造成的配置不足或资源浪费,并提升异构算力资源的整体利用效率。