magic instance support#4756
Conversation
risemeup1111
left a comment
There was a problem hiding this comment.
发现需要修复后再合入的问题,细节已放在行级评论中。主要风险是新增的 MTP magic 状态清理代码依赖当前 pinned PaddleFleet 中不存在的 API,且异常被静默吞掉,导致功能实际不会生效。
另外建议补充 PR 描述中的测试信息:请说明已覆盖的 enable_mtp_magic_send=True pipeline 训练/评估场景,以及依赖的 PaddleFleet 版本要求,便于维护者判断兼容性风险。
| from paddlefleet.models.gpt.mtp_embedding_layer import ( | ||
| mtp_magic_instance, | ||
| ) | ||
|
|
||
| mtp_magic_instance.clear_count_dict() | ||
| except (ImportError, ModuleNotFoundError): |
There was a problem hiding this comment.
优先级: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()| from paddlefleet.models.gpt.mtp_embedding_layer import ( | ||
| mtp_magic_instance, | ||
| ) | ||
|
|
||
| mtp_magic_instance.clear_count_dict() | ||
| except (ImportError, ModuleNotFoundError): |
There was a problem hiding this comment.
优先级: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()
PaddleFormers Log Analysis
日志分析报告
失败的测试case: 根本原因分析: 修复建议:
🔄 每次 Re-run 后自动更新 |
Before submitting
testsfolder. If there are codecov issues, please add tests cases first.PR types
New features
PR changes
Models
Description
magic instance support for multi mtp