Fork
0
代码
介绍
代码
Issues
Pull Requests
流水线
Actions
讨论
Wiki
项目成员
分析
项目设置
Fork
0
master
MindIE-LLM
/
tests
/
pythontest
/
cpu
/
connector
/
request_router
下载当前目录
ascend-robot
layerwise_disaggregated边云协同重构切chunk策略,解决非标长度获取出来policy不相等的bug
f5d341da
创建于
7 天前
历史提交
文件
最后提交记录
最后更新时间
layerwise
layerwise_disaggregated边云协同重构切chunk策略,解决非标长度获取出来policy不相等的bug Co-authored-by: zxf_00617641<zhangxiaofeng44@huawei.com> # message auto-generated for no-merge-commit merge:
!889
merge dev into dev layerwise_disaggregated边云协同重构切chunk策略,解决非标长度获取出来policy不相等的bug Created-by: zxf_boluochuishui Commit-by: zxf_00617641 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:
Fixes #ISSUE ID
会自动关闭issue,如问题部分解决请不要使用
Fixes
,可以用
Fix part of #ISSUE ID
替代. Fixes [
#518
](
https://gitcode.com/Ascend/MindIE-LLM/issues/518)
边云协同特性在长序列中,需要切分chunk,由于边和云切分时限制了其比例(如云的一段等于边的3段),并且限制了边和云的最小单位,边云切分chunk时的最小单位可以不一致,因而边云切分出来的chunk长度可能无法对应上,进而导致运行时概率报错。 # 修改内容 本次PR系列的核心目标是重构边云协同推理场景下的长序列预填充分块策略,以支持更精细和灵活的分块控制。主要解决了原有简单均分策略无法满足边侧与云侧分块长度需保持整数倍关系的复杂约束问题,确保了在分布式异构计算环境下的数据切分正确性。同时,通过引入统一的数据结构封装分块策略,重构了请求路由器、元数据管理模块及相关单元测试,解决了原有代码中逻辑分散、耦合度高、并发处理能力不足的问题,提升了系统的可维护性、调度效率和代码健壮性。 引入 RatioInfo 数据类统一管理分块比例和最小对齐单位,并重构了核心分块算法 split_long_seq_by_ratio,使其能综合考虑边云两侧的约束,确保云侧分块长度是边侧对应分块长度之和的整数倍。在架构层面,引入了 ChunkPolicyData 数据结构,在请求处理早期统一计算并封装边侧策略、云侧策略及其映射关系,替代了原有分散、重复的计算逻辑,简化了请求路由器(RequestRouterCloud 和 RequestRouterEdge)中的数据流。此外,将输入元数据管理从基于队列的方式重构为基于 request_key 的映射管理,支持并发请求的精准隔离。最后,全面重构并增强了相关单元测试,以适配新接口并验证复杂的长序列处理场景。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 分布式边云协同 长/短 序列qwen、deepseek。 # 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
!889
7 天前
__init__.py
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com>
5 个月前
test_request_router.py
fix llm engine Co-authored-by: zouzy5137<zouzongyu@huawei.com> # message auto-generated for no-merge-commit merge:
!197
merge fix_llmmanager into dev fix llm engine Created-by: zouzy5137 Commit-by: zouzy;zouzy5137 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:
Fixes #ISSUE ID
会自动关闭issue,如问题部分解决请不要使用
Fixes
,可以用
Fix part of #ISSUE ID
替代. Fixes [
#113
](
https://gitcode.com/Ascend/MindIE-LLM/issues/113)
# 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > “不涉及”。 # 接口变更 >“不涉及”。 # 测试结果 # 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
!197
2 个月前
test_router_impl.py
code check代码检查 Co-authored-by: KaiMa<KaiMa_SDU@outlook.com> # message auto-generated for no-merge-commit merge:
!839
merge codecheck into dev code check代码检查 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 #[432](
https://gitcode.com/Ascend/MindIE-LLM/issues/432)
# 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用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
!839
1 个月前