Skip to content

测试基建:🧪 实现精度稳定性分维度日志 - #681

Merged
cangtianhuang merged 3 commits into
PFCCLab:mainfrom
cangtianhuang:feat/fp8-accuracy-test
Jul 16, 2026
Merged

测试基建:🧪 实现精度稳定性分维度日志#681
cangtianhuang merged 3 commits into
PFCCLab:mainfrom
cangtianhuang:feat/fp8-accuracy-test

Conversation

@cangtianhuang

Copy link
Copy Markdown
Collaborator

🧭 背景

accuracy_stable 测试模式需要同时观察 Paddle、Torch 以及两次重复执行之间的稳定性差异,原有测试结果主要落在单一终态日志中,遇到某个执行阶段报错或某个 comp 维度不通过时,后续统计很难区分问题来自 Paddle/Torch 对齐、前向/反向,还是框架自身稳定性。

本 PR 在现有 accuracy_stable 流程上补齐 comp 维度日志,使得测试结果可以按 accuracyaccuracy_backwardtorch_stabletorch_stable_backwardpaddle_stablepaddle_stable_backward 等维度输出结果,同时重构日志初始化和聚合逻辑,保证 engineV2 / engineV4 / prof 工具使用统一的日志入口。

🛠️ 实现方案

日志模块新增统一入口 init_log(log_dir, worker_tmp_logs=True),在初始化时统一处理日志目录、进程临时日志模式、文件句柄和内存态重置。engineV2、engineV4、compute-sanitizer worker 以及 matmul heatmap 工具都切换到该入口,减少分散初始化带来的状态不一致。

针对 accuracy_stable,新增 comp 到统计维度的映射和 write_to_comp_log(),将单个 comp 的终态写入 comp/<dimension>/ 子目录。执行阶段错误通过受影响 comp 列表广播到相关维度;比较阶段错误只写入对应 comp;所有维度未出现终态错误时写入 pass,主日志保留聚合后的结果视图以兼容现有统计和 error_stat 工具。

聚合阶段先汇总 worker 临时日志和 comp 子目录,再从 comp/<dimension>/api_config_*.txt 按 log type 生成主日志摘要。同一配置在 accuracy_stable comp 维度结果中可以进入多个主结果文件,breakdown 报告会提示这是 accuracy_stable comp-dimension breakdown,各分类计数代表结果集命中数,不要求彼此互斥;互斥性检查只在每个 comp 维度内部执行。

📁 改动文件

.
├── engineV2.py                              # 使用 init_log 统一初始化日志,精简 worker kill 提示
├── engineV4.py                              # 使用 init_log 覆盖 worker、sanitizer 和批量运行日志初始化
├── tester/
│   ├── accuracy_stable.py                   # 按 comp 维度写入 accuracy_stable 终态和 pass 结果
│   └── api_config/log_writer.py             # 重构日志初始化、写入、聚合、comp 子目录和统计逻辑
└── tools/
    ├── error_stat/error_stat.py             # 日志数量不一致改为 warning 输出并继续生成统计结果
    └── prof/paddleapitest_matmul_heatmap.py # 切换到统一日志初始化入口

@paddle-bot

paddle-bot Bot commented Jul 16, 2026

Copy link
Copy Markdown

Thanks for your contribution!

@cangtianhuang
cangtianhuang merged commit 618ed77 into PFCCLab:main Jul 16, 2026
1 check passed
@cangtianhuang
cangtianhuang deleted the feat/fp8-accuracy-test branch July 17, 2026 03:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant