首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >测量协议的一周:四个诚实性补丁

测量协议的一周:四个诚实性补丁

原创
作者头像
四王爷
发布于 2026-10-22 19:08:40
发布于 2026-10-22 19:08:40
500
举报

测量容器 ecocompute-mlcube 合并了 4 个 PR(其中 3 个来自两位外部贡献者),发布了 schema-1.3-r4,另有 2 个 PR 在途。这篇笔记记录改了什么、为什么改、以及哪些数字因此变得不可比。

一、context_length 终于生效了PR #22 之前,容器接受 context_length 参数并写入报告,但实际 prompt 始终只有约 20 个 token——参数是装饰性的。这意味着此前所有标注 context_length = 2048 的报告,其实际输入长度与标称值不符。修复后,prompt 会被平铺/截断到参数指定的精确长度。代价是:r4 之前与之后的报告不可直接比较,即使它们都标注 2048。我们在提交系统里加了一条分类规则:•Qualified submission:context_length = 2048,与 v1.1.0 基线直接可比•Exploratory submission:context_length ≠ 2048,形成独立可比类,不与 v1.1.0 直接比较这不是技术限制,是诚实性要求:一个名义 2048 实际 20 的数据点,和一个真正 2048 的数据点,不该出现在同一张表里。

二、Thermal block:schema 字段终于有值了schema v1.2 就定义了 temperature_start_c、temperature_end_c、temperature_peak_c 等字段,但容器从未输出过它们——报告里的 thermal block 一直是空壳,schema 描述里甚至自己承认 "the container does not yet emit it (tracked issue)"。现在容器在测量窗口内通过 NVML 读取 GPU 温度并填充完整的 thermal block,新增 --thermal_mode 参数(cold 默认:冷却到空闲、固定 warmup 后测量;steady:持续加温直至连续读数波动小于 2°C 再测量)。AMD/ROCm 主机和 dry-run 模式下,thermal block 标注 basis: "unavailable" 而非编造数值。为什么这很重要:GPU 温度影响功耗读数。32°C 冷态测量和 65°C 稳态测量,即使模型和精度相同,能耗数字也有系统性偏差。没有 thermal block,就无法判断这种偏差是否存在。(这项工作已进入 main 分支,将随下一个版本发布;已发布的 42 个种子测量没有 thermal 记录——它们的热状态是“未知”,不是“冷态”。)

三、AMD GPU 不再静默失败PR #20(@amarjithkumar2007-wq)添加了 AMD GPU 检测。此前在 ROCm 主机上运行容器会尝试 NVML、失败、然后报一个不透明的错误。现在容器检测到 AMD 设备后,明确报告:measurement_source: "ecocompute-dataset (AMD GPU detected, NVML is NVIDIA-only)"并给出卡片名称。能耗值报告为 unavailable——不借用 NVIDIA 的拟合曲线去估算 AMD 的能耗。跨架构外推比没有数字更糟。原生 ROCm 功耗遥测(rocm-smi / rocprof)是后续工作。

四、贡献者系统:从致谢到作者名单这一周新增了 /contribute/ 页面,列出五条具体贡献路径(跑测量、写代码、报 bug、改进协议、传播)。About 页面添加了致谢部分,公开感谢 @gkgoing(首次独立复现)、@amarjithkumar2007-wq(AMD 检测 + context_length 修复)、@yesheng-oss(后端贡献指南)。更重要的是 CONTRIBUTING.md 里新增了作者政策:•≥ 2 个合并的代码 PR,或•≥ 1 次合格数据提交(protocol-conformant 的 energy.json 被接收)满足条件者受邀列入论文/数据集的作者名单。单次 bug 修复和 typo 更正在 release notes 中致谢,但不构成作者资格。这不是形式主义。一个依赖社区贡献的开放数据集,如果贡献者的名字只出现在 git log 里而不出现在论文上,就不会有足够多的人愿意花时间跑测量。这条政策意味着:外部开发者本周合并的第 3 个 PR,已经使他具备论文共同作者资格。

五、不可比声明因为上述改动,以下数字需要重新标注:•r4 之前的 context_length 报告:实际 prompt 长度与标称值不符,与 r4+ 不可直接比较•thermal 落地之前的报告:无热状态记录,无法判断测量温度条件•AMD 主机的报告:能耗值为 unavailable,不是测量结果所有已发布报告都标注了 schema_version,读者可据此判断可比性。完整变更史见 changelog——每条都链接到其证据。

想跑一次符合这套协议的测量?

curl -fsSLO https://github.com/hongping-zh/ecocompute-mlcube/releases/download/schema-1.3-r4/quickstart.sh

curl -fsSLO https://github.com/hongping-zh/ecocompute-mlcube/releases/download/schema-1.3-r4/SHA256SUMS

sha256sum -c SHA256SUMS && bash quickstart.sh

一个 NVIDIA GPU(或免费 Colab T4)、约一小时首跑,就能产出与本文所述协议一致的 energy.json。相关材料:容器文档 · 复现提交 · 数据集 10.5281/zenodo.19647290。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档