perf: 默认 chunked注意力/chunk_users=8 — 本地14.25->7.92s(快44%)AUC不变

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
OwnerSunshine530
2026-06-15 13:45:40 +08:00
parent 3d28f61a98
commit 7f9cab05b5
+3 -3
View File
@@ -42,9 +42,9 @@ CONFIG = {
"filter_test_users": True, # 只处理含测试样本的用户(跳过会被丢弃的用户,省算力)
# 实测:varlen 本地快(10.28s)但评测端慢(148s,嵌套张量构造开销随batch数放大)→已退回。
# sdpa 是评测端验证最快(89.96s/58.86)。flex/compile/小batch/varlen 在评测端都更差。
# attn: "sdpa"(稠密mask) / "chunked"(按用户分块SDPA,降O(S²)) / "varlen"(评测慢) / "flex"(慢)
"attn": "sdpa",
"chunk_users": 16, # chunked 模式下每块用户数(切小拼接序列降注意力O(S²)
# attn: "chunked"(按用户分块SDPA,降O(S²),本地14.25->7.92s) / "sdpa"(稠密mask) / 其它对照
"attn": "chunked",
"chunk_users": 8, # chunked 每块用户数(本地 8 比 16 更快;切小拼接序列降注意力O(S²)
# 稠密MoE去掉了 model(batch) 内唯一的同步点(MoE循环的.nonzero())。若评测计时不
# synchronize,去掉同步点可能让被计时的 model(batch) 大幅缩短。本地force-sync看不出,
# 须靠提交验证。AUC中性、MoE仅占2%算力故风险极低。