文件最后提交记录最后更新时间
支持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 个月前