Skip to content

magic instance support#4756

Merged
FeixLiu merged 1 commit into
PaddlePaddle:developfrom
FeixLiu:multi_mtp_magic
Jul 9, 2026
Merged

magic instance support#4756
FeixLiu merged 1 commit into
PaddlePaddle:developfrom
FeixLiu:multi_mtp_magic

Conversation

@FeixLiu

@FeixLiu FeixLiu commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Before submitting

  • Lint code. If there are lint issues, please format the code first.
# Install and register `pre-commit` in the project folder
pip install pre-commit && pre-commit install

# Process previous code files separately
pre-commit run --file XXXX.py
  • Add test cases into tests folder. If there are codecov issues, please add tests cases first.

PR types

New features

PR changes

Models

Description

magic instance support for multi mtp

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

发现需要修复后再合入的问题,细节已放在行级评论中。主要风险是新增的 MTP magic 状态清理代码依赖当前 pinned PaddleFleet 中不存在的 API,且异常被静默吞掉,导致功能实际不会生效。

另外建议补充 PR 描述中的测试信息:请说明已覆盖的 enable_mtp_magic_send=True pipeline 训练/评估场景,以及依赖的 PaddleFleet 版本要求,便于维护者判断兼容性风险。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

Comment on lines +4195 to +4200
from paddlefleet.models.gpt.mtp_embedding_layer import (
mtp_magic_instance,
)

mtp_magic_instance.clear_count_dict()
except (ImportError, ModuleNotFoundError):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 优先级:P1
处理要求:请针对该评论修复并提交新的 commit。

这里导入的 mtp_magic_instance 与当前仓库声明的 PaddleFleet 依赖不匹配:setup.py 固定的是 paddlefleet==0.4.0.dev20260702+4169dcea259,而该提交的 paddlefleet.models.gpt.mtp_embedding_layer 只定义了 input_ids_for_mtp,没有 mtp_magic_instance / clear_count_dict。因此开启 enable_mtp_magic_send 时这里会进入 except ImportError 并静默跳过,训练路径不会清理任何 MTP magic 状态,PR 的功能实际失效。

请二选一修复:要么把 PaddleFleet 依赖同步升级到包含该 API 的版本,并且缺失时不要静默吞掉;要么改成清理当前 pinned 版本真实存在的状态,并把训练/评估两处逻辑抽成同一个 helper,避免两处漂移。例如:

def _clear_mtp_magic_state(self):
    if not getattr(self.args, "enable_mtp_magic_send", False):
        return
    try:
        from paddlefleet.models.gpt.mtp_embedding_layer import input_ids_for_mtp
    except ImportError as exc:
        raise RuntimeError("enable_mtp_magic_send requires PaddleFleet MTP magic state support") from exc
    input_ids_for_mtp.clear()

Comment on lines +5408 to +5413
from paddlefleet.models.gpt.mtp_embedding_layer import (
mtp_magic_instance,
)

mtp_magic_instance.clear_count_dict()
except (ImportError, ModuleNotFoundError):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 优先级:P1
处理要求:请针对该评论修复并提交新的 commit。

评估路径也有同样的问题:当前仓库 pinned 的 PaddleFleet 4169dcea259 中没有 mtp_magic_instance.clear_count_dict(),所以开启 enable_mtp_magic_send 后这段会被 except ImportError 静默吞掉,评估结束后不会清理 magic-send 的全局状态;随后训练/评估复用同一进程时容易继续消费旧状态或让 PR 的修复完全无效。

请与训练路径共用同一个 helper,并基于当前支持的 PaddleFleet API 清理真实状态;如果必须依赖新的 clear_count_dict(),需要同步更新 setup.py 的 PaddleFleet 版本并在缺失时显式报错,而不是 pass。参考形态:

self._clear_mtp_magic_state()

@Paddle-CI-Bot

Paddle-CI-Bot commented Jul 8, 2026

Copy link
Copy Markdown

PaddleFormers Log Analysis

Run #28983620361 · Attempt 1

日志分析报告

流水线名称 问题标签 修复建议 日志片段
upload-coverage GitHub API 限流(429 Too Many Requests) 与本 PR 无关,GitHub REST API 触发频率限制导致 checkout 失败,rerun 即可 报错代码

失败的测试case:

upload-coverage / Checkout Code — 429: Too Many Requests(GitHub archive 下载被限流,3次重试均失败)

根本原因分析:
Runner 上 git 版本为 1.8.3.1(低于 2.18),actions/checkout 回退到 GitHub REST API 下载仓库 archive,触发 GitHub 频率限制(429),与 PR 代码改动无关。

修复建议:

  1. 直接 rerun 该 job,限流为临时性问题,重试通常即可通过。
  2. 若频繁出现,升级 runner 上的 git 至 ≥ 2.18,使 actions/checkout 走本地 git clone 而非 REST API,从根本上规避此限流。

🔍 准确性记录:请点击评论底部 😊 图标,选择 👍(准确)或 👎(有误),将自动记录到 CI 监控系统

🔄 每次 Re-run 后自动更新

@FeixLiu FeixLiu merged commit 8926453 into PaddlePaddle:develop Jul 9, 2026
21 of 23 checks passed
@FeixLiu FeixLiu deleted the multi_mtp_magic branch July 9, 2026 02:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants