已合并
[Pynative] fix tp bug in embedding. #8169
niujunhao创建于 3月27日
[Pynative] fix tp bug in embedding. #8169
已合并
Pull Request已成功合入, 合并人@MindSpore-Bot
(感谢 niujunhao 的贡献)3月27日 添加了label:mindspore-cla/yes
3月27日 添加了label:ci-pipeline-running
此处折叠了71条消息 查看更多
MindSpore-Bot
3月28日 评论:
3月28日 评论:
MindSpore-Bot
3月28日 评论:
3月28日 评论:
3月28日 添加了label:approvedlgtm-renyujin
3月28日 合入了pull request,合并节点 SHA:18a833dfe741081ac381be4c796bb58640357224


关联 Issue (Related Issue)
https://gitcode.com/mindspore/mindformers/issues/2213
修改描述 (Description)
修复内容
修复在 hyper-parallel 模式下 vocab embedding 的 Tensor Parallel (TP) 报错问题。
变更说明
文件:
mindformers/pynative/base_models/common/embeddings/vocab_embedding.py主要修改:
将
mint.nn.functional.embedding替换为mint.gather原使用
mint.nn.functional.embedding会导致 hyper-parallel 模式下报错,现改用mint.gather实现相同功能。新增
mint.tile操作用于扩展输入维度以适配
gather操作的需求。重构 forward 逻辑
tile将input_从(batch_size, seq_len)扩展为(batch_size, seq_len, embedding_dim)gather从 weight 中按指定维度收集 embedding(-1, seq_len, embedding_dim)保持输出形状一致影响范围
VocabEmbedding类的 forward 实现修改类型 (Type of Change)
测试结果 (Test Results)
修改之前,embedding结果错误:

修改之后,开启tp后结果正确:

检查清单 (Checklist)