| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 4 个月前 | |
[新需求]: 模型日落 Co-authored-by: cxy-katrina<katrina.cxy@gmail.com> # message auto-generated for no-merge-commit merge: !46 merge dev into dev [新需求]: 模型日落 Created-by: Katrina-CXY Commit-by: cxy-katrina Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. 继承2024年及2025年模型日落评审结论,删除相关代码和特性。 # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 1. 删除Aquila模型相关代码 2. 删除GPTNeox模型相关代码 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 删除Qwen模型Readme中关于Qwen1系列描述 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 仅代码删除与Readme修改。 - Qwen纯模型 torchrun --nproc_per_node 2 --master_port 20038 -m examples.run_pa --model_path {权重} [2025-12-26 10:37:15,394] [2266719] [281473052351136] [llmmodels] [INFO] [run_pa.py-434] : ---------------end inference--------------- [2025-12-26 10:37:15,394] [2266719] [281473052351136] [llmmodels] [INFO] [run_pa.py-611] : Answer[0]: How is it different from machine learning? What is deep learning? How is it different from machine learning [2025-12-26 10:37:15,394] [2266719] [281473052351136] [llmmodels] [INFO] [run_pa.py-612] : Generate[0] token num: (0, 20) # 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!46 | 8 个月前 | |
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!708 | 5 个月前 | |
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 | 3 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
异步不分层-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 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> | 8 个月前 | |
[Bugfix] 修复多模态tokenizer特殊token拆分逻辑,避免恶意token导致服务异常 Co-authored-by: muziyuhui666<lijianfu9@huawei.com> # message auto-generated for no-merge-commit merge: !928 merge fix/completions-dos-malicious-token into dev [Bugfix] 修复多模态tokenizer特殊token拆分逻辑,避免恶意token导致服务异常 Created-by: muziyuhui666 Commit-by: muziyuhui666 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 针对多模态模型服务化场景,发现 /v1/completions 接口在输入恶意多模态特殊token时存在稳定性风险,可能导致推理服务异常退出(DoS现象)。 本PR用于修正多模态/纯文本模型在 tokenizer 特殊token拆分行为上的判定来源,避免通过不稳定路径触发子进程崩溃。 Fix part of [#536](https://gitcode.com/Ascend/MindIE-LLM/issues/536) # 修改内容 1. 在 BaseRouter 中新增统一能力标识 is_multimodal(默认 False)。 2. 在多模态模型对应 router 中显式声明 is_multimodal=True(如 qwen2_vl、qwen3_vl、internvl、llava、llava_next、vita、glm4v、glm41v、qwen2_audio、minicpm_qwen2_v2、mllama、internlmxcomposer2、janus、yivl 等)。 3. 在 TokenizerWrapper 中读取 router_ins.is_multimodal,并据此设置 split_special_tokens,统一多模态与纯文本模型行为。 4. 回避了此前基于 model_cls/load_atb_speed() 的不稳定路径,避免 tokenizer worker 初始化阶段出现崩溃风险。 5. 对本次改动涉及文件执行了 pre-commit,并提交自动修复结果。 # 资料变更 不涉及。 # 接口变更 不涉及跨代码仓或客户面可见接口变更。 本PR仅调整内部路由能力标记与 tokenizer 参数传递逻辑,对外REST/gRPC接口字段无新增、无删减、无语义变更。 # 测试结果 1. **服务拉起测试** - 场景:qwen2.5-vl 服务化启动(多次重复) - 结果:服务可稳定拉起,未再出现 tokenizer 子进程 Segmentation fault/Aborted。 2. **恶意请求稳定性测试** - 场景:/v1/completions 注入恶意多模态特殊token请求 - 结果:服务端未挂起,请求端可收到响应,未复现服务进程退出。 3. **正常功能回归测试** - 场景:正常 chat/completions 多模态请求、正常文本请求 - 结果:结果可正常返回,功能行为符合预期。 4. **静态门禁测试** - 场景:对本PR修改文件执行 pre-commit - 方法:pre-commit run --files <changed files> - 结果:通过(含自动格式修复后再次通过)。 # CheckList - [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!928 | 4 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 8 个月前 | ||
| 5 个月前 | ||
| 3 个月前 | ||
| 8 个月前 | ||
| 5 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 4 个月前 |