文件最后提交记录最后更新时间
Fix bug and precision of dsv32, aclgraph Co-authored-by: 周天扬<zhoutianyang@huawei.com> Co-authored-by: forcekeng<gengli8@huawei.com> # message auto-generated for no-merge-commit merge: !641 merge dsv32_fix into dev Fix mindie-llm bugs Created-by: forcekeng Commit-by: 周天扬;gengli8;forcekeng Merged-by: Katrina-CXY Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 修复A2大EP拉起失败和精度问题。 # 修改内容 > # 资料变更 > 不涉及 # 接口变更 > 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ![image.png](https://raw.gitcode.com/user-images/assets/8772840/2300c2cf-ed0d-4a59-92bc-76aeb42f254b/image.png 'image.png') # 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!6412 个月前
w8a8sc权重加载逻辑迁移至权重预加载路线 Co-authored-by: frost_mourne<suyuxuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !406 merge dev into dev w8a8sc权重加载逻辑迁移至权重预加载路线 Created-by: frost_mourne Commit-by: frost_mourne Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 w8a8sc量化权重加载逻辑从原有路线迁移至显存预分配路线。 Fixes #176 #238 # 修改内容 1.quant_method_adapter.py添加W8A8SCLinearMethod。 2.qwen2_config.py中增加权重文件与模型结构的双向映射表及格式转换的方法。 3.embedding.py处理lmhead分别对应linear和embedding的转换。 4.w8a8sc.py处理w8a8sc权重注册和格式判断。 5.default_model_loader.py和weight_utils.py增加w8a8sc格式权重加载逻辑。 6.前作https://gitcode.com/Ascend/MindIE-LLM/pull/266/在default_model_loader.py中误将get_mapper_cls函数放在w8a8sc判断之外,导致非Qwen3模型会误入get_mapper_cls函数并报NotImplementedError: The model type of qwen2 has not implemented W8A8SC quant method yet错误,本作将get_mapper_cls函数移入w8a8sc判断内,并测试其他模型功能正常。 # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 对比同一个版本原始代码与加上本PR后的代码,分别开启服务化用aisbench测gsm8k数据集。开启前与开启后精度分别为25.40、25.70。测试不影响Qwen3 w8a8、Qwen3 浮点、Qwen2.5浮点、Qwen2.5 w8a8sc功能。 # 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!4062 个月前
select_moe_comm_type重构 Co-authored-by: Dawn952<zhaojunbo13@huawei.com> # message auto-generated for no-merge-commit merge: !789 merge T0004-bugfix2 into dev select_moe_comm_type重构 Created-by: Dawn952 Commit-by: Dawn952 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 当前moe_comm_strategy对于分支的判断不够清晰,每个策略应该专注自己分支场景下的判断;对cp场景的讨论存在错误。 > Fixes #401 # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用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!7891 个月前
支持numhead不能被tp整除的情况 Co-authored-by: Katrina-CXY<chenxinyi20@huawei.com> # message auto-generated for no-merge-commit merge: !560 merge aclgraph2 into dev 支持numhead不能被tp整除的情况 Created-by: Katrina-CXY Commit-by: Katrina-CXY;cxy-katrina Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 - QKVParallel支持num_head无法被tp数整除的场景 - RowParallel支持传入multiple_of,将权重按照multiple_of的倍数进行切分,如果不能被整除,则进行padding # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 - 不涉及外部接口 - 模型侧适配接口RowParallelLinear新增multiple_of可选参数 - 框架测接口中Parameter类的load_row_parallel_weightload_qkv_weight有变更 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - 环境配置 ``` source /usr/local/lib/python3.11/site-packages/mindie_llm/set_env.sh export MASTER_IP="127.0.0.1" export MASTER_PORT=7897 # 同一台环境不能重复 export MINDIE_LOG_TO_STDOUT=1 # 可选:日志输出到屏幕 source /usr/local/Ascend/ascend-toolkit/set_env.sh 设置PYTHONPATH ``` - ATB Graph Qwen2.5 7B TP8(num head不能被TP整除的场景) ``` torchrun --nproc_per_node 8 --master_port 20037 -m examples.run_pa --model_path /home/LargeModelInference/weight/float/qwen2.5_7b_instruct [2026-03-12 23:39:06,346] [102443] [281473200209952] [llmmodels] [INFO] [run_pa.py-434] : ---------------end inference--------------- [2026-03-12 23:39:06,346] [102443] [281473200209952] [llmmodels] [INFO] [run_pa.py-611] : Answer[0]: Deep learning is a subset of machine learning that involves training artificial neural networks to perform complex tasks, such [2026-03-12 23:39:06,346] [102443] [281473200209952] [llmmodels] [INFO] [run_pa.py-612] : Generate[0] token num: (0, 20) ``` - ATB Graph Qwen2.5 7B TP4(num head可以被TP整除的场景) ``` torchrun --nproc_per_node 4 --master_port 20037 -m examples.run_pa --model_path /home/LargeModelInference/weight/float/qwen2.5_7b_instruct [2026-03-12 23:40:05,503] [104351] [281472946188320] [llmmodels] [INFO] [run_pa.py-434] : ---------------end inference--------------- [2026-03-12 23:40:05,503] [104351] [281472946188320] [llmmodels] [INFO] [run_pa.py-611] : Answer[0]: Deep learning is a subset of machine learning that involves training artificial neural networks with multiple layers to perform complex [2026-03-12 23:40:05,503] [104351] [281472946188320] [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!5602 个月前
w8a8sc权重加载逻辑迁移至权重预加载路线 Co-authored-by: frost_mourne<suyuxuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !406 merge dev into dev w8a8sc权重加载逻辑迁移至权重预加载路线 Created-by: frost_mourne Commit-by: frost_mourne Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 w8a8sc量化权重加载逻辑从原有路线迁移至显存预分配路线。 Fixes #176 #238 # 修改内容 1.quant_method_adapter.py添加W8A8SCLinearMethod。 2.qwen2_config.py中增加权重文件与模型结构的双向映射表及格式转换的方法。 3.embedding.py处理lmhead分别对应linear和embedding的转换。 4.w8a8sc.py处理w8a8sc权重注册和格式判断。 5.default_model_loader.py和weight_utils.py增加w8a8sc格式权重加载逻辑。 6.前作https://gitcode.com/Ascend/MindIE-LLM/pull/266/在default_model_loader.py中误将get_mapper_cls函数放在w8a8sc判断之外,导致非Qwen3模型会误入get_mapper_cls函数并报NotImplementedError: The model type of qwen2 has not implemented W8A8SC quant method yet错误,本作将get_mapper_cls函数移入w8a8sc判断内,并测试其他模型功能正常。 # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 对比同一个版本原始代码与加上本PR后的代码,分别开启服务化用aisbench测gsm8k数据集。开启前与开启后精度分别为25.40、25.70。测试不影响Qwen3 w8a8、Qwen3 浮点、Qwen2.5浮点、Qwen2.5 w8a8sc功能。 # 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!4062 个月前
[FIX] FIX UT 比较torch.float类型变量时应该使用torch.allclose 而不是torch.equal 修改掉 Co-authored-by: zhaokerui<zhaokerui@huawei.com> # message auto-generated for no-merge-commit merge: !214 merge fix_UT_torch_equal into dev [FIX] FIX UT 比较torch.float类型变量时应该使用torch.allclose 而不是torch.equal 修改掉 Created-by: zhaokerui Commit-by: zhaokerui Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 Fixes #117 # 修改内容 > 修改若干个现存的测试用例中的torch浮点数比较使用torch.equal的错误,改成torch.allclose >修改一处在代码中torch浮点数比较使用torch.equal 做if判断抛出异常的代码,改成torch.allclose # 资料变更 > 不涉及 # 接口变更 > 不涉及 # 测试结果 > 功能可通 # 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!2144 个月前
支持numhead不能被tp整除的情况 Co-authored-by: Katrina-CXY<chenxinyi20@huawei.com> # message auto-generated for no-merge-commit merge: !560 merge aclgraph2 into dev 支持numhead不能被tp整除的情况 Created-by: Katrina-CXY Commit-by: Katrina-CXY;cxy-katrina Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 - QKVParallel支持num_head无法被tp数整除的场景 - RowParallel支持传入multiple_of,将权重按照multiple_of的倍数进行切分,如果不能被整除,则进行padding # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 - 不涉及外部接口 - 模型侧适配接口RowParallelLinear新增multiple_of可选参数 - 框架测接口中Parameter类的load_row_parallel_weightload_qkv_weight有变更 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 - 环境配置 ``` source /usr/local/lib/python3.11/site-packages/mindie_llm/set_env.sh export MASTER_IP="127.0.0.1" export MASTER_PORT=7897 # 同一台环境不能重复 export MINDIE_LOG_TO_STDOUT=1 # 可选:日志输出到屏幕 source /usr/local/Ascend/ascend-toolkit/set_env.sh 设置PYTHONPATH ``` - ATB Graph Qwen2.5 7B TP8(num head不能被TP整除的场景) ``` torchrun --nproc_per_node 8 --master_port 20037 -m examples.run_pa --model_path /home/LargeModelInference/weight/float/qwen2.5_7b_instruct [2026-03-12 23:39:06,346] [102443] [281473200209952] [llmmodels] [INFO] [run_pa.py-434] : ---------------end inference--------------- [2026-03-12 23:39:06,346] [102443] [281473200209952] [llmmodels] [INFO] [run_pa.py-611] : Answer[0]: Deep learning is a subset of machine learning that involves training artificial neural networks to perform complex tasks, such [2026-03-12 23:39:06,346] [102443] [281473200209952] [llmmodels] [INFO] [run_pa.py-612] : Generate[0] token num: (0, 20) ``` - ATB Graph Qwen2.5 7B TP4(num head可以被TP整除的场景) ``` torchrun --nproc_per_node 4 --master_port 20037 -m examples.run_pa --model_path /home/LargeModelInference/weight/float/qwen2.5_7b_instruct [2026-03-12 23:40:05,503] [104351] [281472946188320] [llmmodels] [INFO] [run_pa.py-434] : ---------------end inference--------------- [2026-03-12 23:40:05,503] [104351] [281472946188320] [llmmodels] [INFO] [run_pa.py-611] : Answer[0]: Deep learning is a subset of machine learning that involves training artificial neural networks with multiple layers to perform complex [2026-03-12 23:40:05,503] [104351] [281472946188320] [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!5602 个月前