| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
异步不分层-dev分支 Co-authored-by: Dejun Wang<574609917@qq.com> Co-authored-by: licaozhe<l00947026@china.huawei.com> Co-authored-by: mio310<liuchunmiao1@huawei.com> Co-authored-by: Snoopy99<licaozhe@huawei.com> # message auto-generated for no-merge-commit merge: !705 merge br_develop_mempool_async_write into dev 异步不分层-dev分支 Created-by: qq_43507202 Commit-by: Snoopy99;licaozhe;mio310;Dejun Wang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix #59 # 修改内容 1. 加入event机制,通过wait和record两种event来同步save流和forward流,从而实现在计算的同时异步save kv cache。 2. 调整组图,新增mempool图(仅用于prefill),用于处理没有历史kv cache、并需要异步save的情况。同时,将现有的splitfuse图调整为支持异步save。 3. 该特性目前主要适配了DeepSeek和Qwen稠密模型,支持异步调度、Prefix Cache、Context Parallel、Sequence Parallel、MTP、Function Call、思考解析等特性,暂不支持SplitFuse、Micro Batch、Multi-Lora特性。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 修改了docs/zh/user_guide/feature/kv_cache_pooling.md和mindie_llm/text_generator/mempool/README.md,说明了如何通过修改config.json开启“异步写”特性(默认不开启),以及(不)支持叠加的模型、特性列表。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 见资料变更。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 | 模型 | 测试类目 | 数据集 | 配置 | 结果 | 备注 | |--|--|--|--|--|--| | DeepSeek V3.1 | 精度 | GPQA | 64并发 + CP/SP + 异步推理 + 同步写 | Acc 68.18% | 基线(pr合入前) | | DeepSeek V3.1 | 精度 | GPQA | 64并发 + CP/SP + 异步推理 + 异步写 | Acc 71.21% | 精度相比同步写无下降 | | DeepSeek V3.1 | 性能 | GSM8K | 1并发 + CP/SP + 异步推理+ 8k输入 | TTFT 1536.9 ms | 不开Prefix Cache特性 | | DeepSeek V3.1 | 性能 | GSM8K | 1并发 + CP/SP + 异步推理 + 同步写+ 8k输入 | TTFT 1135.4 ms | 基线(pr合入前) | | DeepSeek V3.1 | 性能 | GSM8K | 1并发 + CP/SP + 异步推理 + 异步写+ 8k输入 | TTFT 1087.8 ms | 相比不开PC,在50%命中情况下性能提升29.2%;相比同步写提升4.2% | | DeepSeek V3.1 | 性能 | GSM8K | 64并发 + DP/TP + 异步推理 + 同步写 + 8k输入 | TTFT 2228.9 ms | 基线(pr合入前) | | DeepSeek V3.1 | 性能 | GSM8K | 64并发 + DP/TP + 异步推理 + 异步写 + 8k输入 | TTFT 2036.0 ms | 性能相比同步写提升8.65% | | DeepSeek V3.1 | 性能 | GSM8K | 2P1D + 32并发 + DP/TP + 异步推理 + 同步写+ 16k输入 | TTFT 6109.5 ms | 基线(pr合入前) | | DeepSeek V3.1 | 性能 | GSM8K | 2P1D + 32并发 + DP/TP + 异步推理 + 异步写+ 16k输入 | TTFT 5880.6 ms | 性能相比同步写提升3.75% | | 模型 | 测试类目 | 数据集 | 配置 | 结果 | 备注 | |--|--|--|--|--|--| | Qwen3-32B | 精度 | GPQA | 64并发 + 异步推理 + 异步写 | Acc 62.12% | | Qwen3-32B | 性能 | GSM8K | 1并发 + 异步推理+ 8k输入 | TTFT 1575.3 ms | 不开PC | | Qwen3-32B | 性能 | GSM8K | 1并发 + 异步推理 + 同步写+ 8k输入 | TTFT 1159.8 ms | 基线(pr合入前) | | Qwen3-32B | 性能 | GSM8K | 1并发 + 异步推理 + 异步写+ 8k输入 | TTFT 1098.3 ms | 相比不开PC,在50%命中情况下性能提升30.3%;相比同步写提升5.3% | | Qwen3-32B | 性能 | GSM8K | 64并发 + 异步推理 + 同步写 + 16k输入 | TTFT 6786.4 ms | 基线(pr合入前) | | Qwen3-32B | 性能 | GSM8K | 64并发 + 异步推理 + 异步写 + 16k输入 | TTFT 5969.9 ms | 性能相比同步写提升12.03% | # 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!705 | 5 个月前 | |
[feature] support tune qwen blocksize Co-authored-by: zhaokerui<zhaokerui@huawei.com> # message auto-generated for no-merge-commit merge: !1035 merge dev into dev [feature] support tune qwen blocksize Created-by: zhaokerui Commit-by: zhaokerui Merged-by: Katrina-CXY Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fixes #622 # 修改内容 支持config文件传入的参数blockSize传入至算子的参数 # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 打点得到已经传入到算子param,curl回复正常。 # 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!1035 | 3 个月前 | |
[atb-models] [bug-fix] Fix Quant+LoRA+FlashComm combination bugs Co-authored-by: gengli8<gengli8@huawei.com> # message auto-generated for no-merge-commit merge: !1080 merge fix_lora_flashcomm into dev [atb-models] [bug-fix] Fix Quant+LoRA+FlashComm combination bugs Created-by: forcekeng Commit-by: gengli8 Merged-by: ascend-robot Description: 1、修复quant+lora+flashcomm精度劣化,请求回复出现重复乱码等。 2、根因:同时启用lora+flashcomm+w8a8_quant,allgather在父图只能读到 in_input,但量化会让父图读子图还没初始化的 intermediate_inner_tp_input。 3、修改atb-models的allgatehr逻辑,在开启lora时候读取in_input。 修复前:gsm8k精度80%,输出内容有重复;修复后gsm8k精度84.38%,和不使用lora的场景持平,输出内容无重复。 See merge request: Ascend/MindIE-LLM!1080 | 2 个月前 | |
异步不分层-dev分支 Co-authored-by: Dejun Wang<574609917@qq.com> Co-authored-by: licaozhe<l00947026@china.huawei.com> Co-authored-by: mio310<liuchunmiao1@huawei.com> Co-authored-by: Snoopy99<licaozhe@huawei.com> # message auto-generated for no-merge-commit merge: !705 merge br_develop_mempool_async_write into dev 异步不分层-dev分支 Created-by: qq_43507202 Commit-by: Snoopy99;licaozhe;mio310;Dejun Wang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix #59 # 修改内容 1. 加入event机制,通过wait和record两种event来同步save流和forward流,从而实现在计算的同时异步save kv cache。 2. 调整组图,新增mempool图(仅用于prefill),用于处理没有历史kv cache、并需要异步save的情况。同时,将现有的splitfuse图调整为支持异步save。 3. 该特性目前主要适配了DeepSeek和Qwen稠密模型,支持异步调度、Prefix Cache、Context Parallel、Sequence Parallel、MTP、Function Call、思考解析等特性,暂不支持SplitFuse、Micro Batch、Multi-Lora特性。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 修改了docs/zh/user_guide/feature/kv_cache_pooling.md和mindie_llm/text_generator/mempool/README.md,说明了如何通过修改config.json开启“异步写”特性(默认不开启),以及(不)支持叠加的模型、特性列表。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 见资料变更。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 | 模型 | 测试类目 | 数据集 | 配置 | 结果 | 备注 | |--|--|--|--|--|--| | DeepSeek V3.1 | 精度 | GPQA | 64并发 + CP/SP + 异步推理 + 同步写 | Acc 68.18% | 基线(pr合入前) | | DeepSeek V3.1 | 精度 | GPQA | 64并发 + CP/SP + 异步推理 + 异步写 | Acc 71.21% | 精度相比同步写无下降 | | DeepSeek V3.1 | 性能 | GSM8K | 1并发 + CP/SP + 异步推理+ 8k输入 | TTFT 1536.9 ms | 不开Prefix Cache特性 | | DeepSeek V3.1 | 性能 | GSM8K | 1并发 + CP/SP + 异步推理 + 同步写+ 8k输入 | TTFT 1135.4 ms | 基线(pr合入前) | | DeepSeek V3.1 | 性能 | GSM8K | 1并发 + CP/SP + 异步推理 + 异步写+ 8k输入 | TTFT 1087.8 ms | 相比不开PC,在50%命中情况下性能提升29.2%;相比同步写提升4.2% | | DeepSeek V3.1 | 性能 | GSM8K | 64并发 + DP/TP + 异步推理 + 同步写 + 8k输入 | TTFT 2228.9 ms | 基线(pr合入前) | | DeepSeek V3.1 | 性能 | GSM8K | 64并发 + DP/TP + 异步推理 + 异步写 + 8k输入 | TTFT 2036.0 ms | 性能相比同步写提升8.65% | | DeepSeek V3.1 | 性能 | GSM8K | 2P1D + 32并发 + DP/TP + 异步推理 + 同步写+ 16k输入 | TTFT 6109.5 ms | 基线(pr合入前) | | DeepSeek V3.1 | 性能 | GSM8K | 2P1D + 32并发 + DP/TP + 异步推理 + 异步写+ 16k输入 | TTFT 5880.6 ms | 性能相比同步写提升3.75% | | 模型 | 测试类目 | 数据集 | 配置 | 结果 | 备注 | |--|--|--|--|--|--| | Qwen3-32B | 精度 | GPQA | 64并发 + 异步推理 + 异步写 | Acc 62.12% | | Qwen3-32B | 性能 | GSM8K | 1并发 + 异步推理+ 8k输入 | TTFT 1575.3 ms | 不开PC | | Qwen3-32B | 性能 | GSM8K | 1并发 + 异步推理 + 同步写+ 8k输入 | TTFT 1159.8 ms | 基线(pr合入前) | | Qwen3-32B | 性能 | GSM8K | 1并发 + 异步推理 + 异步写+ 8k输入 | TTFT 1098.3 ms | 相比不开PC,在50%命中情况下性能提升30.3%;相比同步写提升5.3% | | Qwen3-32B | 性能 | GSM8K | 64并发 + 异步推理 + 同步写 + 16k输入 | TTFT 6786.4 ms | 基线(pr合入前) | | Qwen3-32B | 性能 | GSM8K | 64并发 + 异步推理 + 异步写 + 16k输入 | TTFT 5969.9 ms | 性能相比同步写提升12.03% | # 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!705 | 5 个月前 |