| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
slo调度算法时延问题修复 Co-authored-by: weixin_47478097<litianle8@huawei.com> # message auto-generated for no-merge-commit merge: !681 merge slo_bug_fix into dev slo调度算法时延问题修复 Created-by: weixin_47478097 Commit-by: weixin_47478097 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 SLO测试出现时延与实际不符的问题 [#344](https://gitcode.com/Ascend/MindIE-LLM/issues/344) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!681 | 5 个月前 | |
修复beamsearch调度的token和seq数量计算错误而引发的OOM问题 Co-authored-by: lijiaqi139<lijiaqi139@huawei.com> # message auto-generated for no-merge-commit merge: !744 merge bugfix_beam_schedule into dev 修复beamsearch调度的token和seq数量计算错误而引发的OOM问题 Created-by: lijiaqi139 Commit-by: lijiaqi139 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fixes [#379](https://gitcode.com/Ascend/MindIE-LLM/issues/379) > 根因:beamsearch的调度策略存在问题,导致组的batch的token数和sequence数超出了budget上限,进而OOM (1)beamsearch请求做decode时,分裂开的n-1个token没有纳入budget,只有1个decode token纳入了预算,导致numBatchedTokens_个数低于了实际的推理的token个数,GetNumComputeNewUnCachedAndCachedTokens返回的numUncachedNewTokens是1而不是n,这是由于在scheduler调度侧中,beamsearch请求的调度是用根节点的seqGroup而非所有子节点的seqGroup,ApplyToRunningQueue中又没有考虑beamsearch的情况,导致numUncachedNewTokens=1而非n,导致budget.CanSchedule计算token的budget更新和预期不符 (2)beamsearch请求做prefill时,在用seqGroup->GetMaxNumRunningSeqs();计算当前共有多少个beam请求时,是根据SequenceStatus::RUNNING来取有多少个seqs的,所以针对于一个新的prefill请求,函数返回值是0,而非1,这就导致了请求数量不符合预期 综上两个原因,导致了在budget.CanSchedule函数中token个数判断不符合预期,导致batch中的token和sequence数量超出了maxNumBatchedTokens_和maxNumSeqs_的约束,然而warmup时是根据maxBatchSize=8192和maxBeamWidth=8192进行显存空间占用,超规格的batch调度就导致了后续后处理采样中的OOM  # 修改内容 > 针对问题(1),在policy_helper.cpp中计算调度token个数时,针对decode/swap的beamsearch请求,遍历所有的beam分支,保证将所有分支的token纳入计算  > 针对问题(2),在GetMaxNumRunningSeqs中将SequenceStatus::RUNNING改为ALL_STATUS,来保证在prefill时会返回1,并且不影响running/swapped时计数  # 资料变更 > 不涉及 # 接口变更 > 不涉及 # 测试结果 > 原场景压测通过,无OOM挂死现象 > 性能看护用例无劣化  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!744 | 5 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[revert] 冗余日志删除 Co-authored-by: KaiMa<KaiMa_SDU@outlook.com> # message auto-generated for no-merge-commit merge: !771 merge revert_log into dev [revert] 冗余日志删除 Created-by: KaiMa Commit-by: KaiMa Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes #[308](https://gitcode.com/Ascend/MindIE-LLM/issues/308) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!771 | 5 个月前 | |
[Feat] 结构化输出支持PD分离场景及重计算 Co-authored-by: earthmanylf<yulinfeng2@huawei.com> Co-authored-by: stanzzzzz<zonghaoxin@huawei.com> Co-authored-by: KaiMa<KaiMa_SDU@outlook.com> Co-authored-by: zhaokerui<zhaokerui@huawei.com> Co-authored-by: ella07<xiechangxiu3@h-partners.com> Co-authored-by: czy6<cuizhengyao@huawei.com> Co-authored-by: LinWei100<linwei100@huawei.com> Co-authored-by: dongyubin1<dongyubin1@h-partners.com> Co-authored-by: yangshuai047<yangshuai153@huawei.com> Co-authored-by: shiqiangA<shiqiang15@huawei.com> Co-authored-by: taojiovvo<jitao12@huawei.com> Co-authored-by: zhang980530<zhanghao680@h-partners.com> # message auto-generated for no-merge-commit merge: !603 merge cherry-pick-eeaa6db into dev [Feat] 结构化输出支持PD分离场景及重计算 Created-by: LinWei100 Commit-by: LinWei100;shiqiangA;ella07;zhaokerui;KaiMa;taojiovvo;stanzzzzz;yangshuai047;zhang980530;dongyubin1;czy6;earthmanylf Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#358](https://gitcode.com/Ascend/MindIE-LLM/issues/358) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 1. response_format改为context机制 2. seqid改为context handle 3. 支持pd分离、重计算场景 (replay机制) 4. mtp叠加结构化输出校验拦截 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。   # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!603 | 5 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 5 个月前 | ||
| 5 个月前 |