Skip to content

[A2-K] 李畅松 - 提交 attention 实验结果 - #158

Open
maybe1possible wants to merge 3 commits into
OpenMOSS:mainfrom
maybe1possible:a2-k/maybe1possible
Open

[A2-K] 李畅松 - 提交 attention 实验结果#158
maybe1possible wants to merge 3 commits into
OpenMOSS:mainfrom
maybe1possible:a2-k/maybe1possible

Conversation

@maybe1possible

Copy link
Copy Markdown
Contributor

基本信息

  • 同学真名:李畅松
  • 作业编号:A2-K

修改范围

  • 本 PR 只包含我本人本次作业的文件。
  • 没有修改其他同学、students/_template、公共题面或仓库配置。
  • PR 标题符合 [A编号] 姓名 - 简短说明

公开性与安全

  • GitHub 中的内容按公开资料检查。
  • 未包含内部主机名、IP、账号、凭据或私钥。
  • 已检查提交内容,未提交 compile cache、PTX/CUBIN、binary、完整日志、权重或数据。

双层提交

  • README.md 提供可公开、脱敏的作业报告。
  • README.md 已填写飞书补充文档链接。

A1/A0 额外检查

不适用:本 PR 是 A2-K。

A2-K 额外检查

  • 已提交 README.md、A2-K Python allowlist、规定的轻量 results/ 和三张被报告引用的压缩图片。
  • 已运行同步检查、官方 GPU tests 和 scripts/validate_repo.py。官方测试为 6 passed、0 failed、0 skipped。
  • 正式矩阵来自单张 RTX 4090,并按 23552 MiB allocator 上限串行执行。
  • memory_evidence.json 已记录 allocator limit、peak allocated/reserved 和 24 GiB 判定。
  • 未提交 compile cache、PTX/CUBIN、binary、完整日志/采样、权重、数据、压缩包、上游代码或依赖环境。
  • results/ 与 assets/ 保持轻量,关键数字可回到轻量结果与命令。

实验摘要

  • activation checkpointing 的严格最低显存配置为 BEST=1。
  • Triton correctness 覆盖 108 cases;官方测试 6 passed。
  • small Transformer eager/compiled 对照已在 Python 3.12.13 / PyTorch 2.5.1+cu124 / RTX 4090 上完成。BF16、batch 1、context 512 下 compiled steady-state 相对 eager 的 speedup 为 forward 3.59x、forward_backward 3.27x、train_step 2.24x。
  • 正式 GPU 元数据:Driver 550.163.01,开跑前 free 48626 MiB / total 49140 MiB,power limit 450 W,P-state P8。

给助教的说明

根目录 README 已将 A2-K 标为“已发布”,但 A2-K 题面和 CONTRIBUTING.md 仍保留“发布候选稿/请勿提交”文字;请以课程当前通知为准。

Feishu supplement: https://fudan-nlp.feishu.cn/wiki/QvEmwHImPibuSMkYxbucPKzOn0e

@WillQvQ WillQvQ 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.

审核结论:需要修改后再合并。

实现、108 项扩展正确性、6 项 CUDA tests、checkpoint/attention/compile/Flash 矩阵、附件与范围均已核验;当前有两项阻塞:

  1. 提交代码中没有任何 torch.cuda.set_per_process_memory_fraction(...) 调用,allocator_guard_mentions 为 0。common.py、各 benchmark 入口和 check_environment.py 都未实际施加 23,552 MiB limit,但 memory_evidence.json 和 README 却声明已设置。当前节点总显存为 49,140 MiB,因此仅凭峰值恰好低于 23 GiB 不能证明在 24GB 预算内可复现。请在每个独立进程首次 CUDA allocation 前实际设置 limit,记录 applied-before-first-allocation、fraction、开跑前空闲显存及失败状态,并重跑正式矩阵、更新 CSV/metadata/memory evidence/图与 README。
  2. 四个 CSV 使用 CRLF,git diff --check 报告 181 行 trailing whitespace:attention 19、checkpoint 8、compile 9、Flash 145。请统一转换为 LF,保持数据值不变。

使用 48GB 节点本身可按此前放宽口径透明披露,但前提是 23 GiB guard 确实在首次分配前生效;当前证据不满足这一前提。

审核者:GPT-5.6 Sol Ultra

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.

2 participants