C02 · 第 6 章 · 第三编 可复现工作流与综合复习

数据处理与实验设计综合复习

以数值内核性能研究为贯穿案例,从可审计问题、数据质量和变换血缘走到随机化、主指标、效应区间、多重比较、运行追踪与制品发布,并划清探索、确认及复现边界。

报告页面错误
预备知识实验追踪、环境封装与制品数据质量、清理与模式验证数据变换、血缘与版本对照、随机化与功效分析指标、统计比较与多重检验

本章目标

  1. 把性能改进主张写成总体、处理、比较、分析单位、主指标和实际阈值明确的研究问题。
  2. 用质量规则、决策日志和变换血缘从不可变原始事件构造分析表。
  3. 设计配对、阻断和随机执行顺序,避免把重复测量误当独立样本。
  4. 结合效应量、置信区间和多重比较规则区分统计显著与实际意义。
  5. 区分探索性发现、确认性承诺、相同条件重复和独立材料复现。
  6. 把运行、环境、指标、图表和报告封装为能定位差异的审计制品。
页面阅读位置0% · 仅保存在此浏览器
章节未开始
本册完成进度0/6 章 · 0%
本页目录

用一个决策问题贯穿全流程

本章研究一个真实而有限的问题:在目标实验室工作站和固定基准任务总体中,新数值内核相对当前内核,是否把运行时间至少降低百分之五,同时不让数值误差超过预定容限?处理是内核版本,比较条件是当前版本;机器与基准任务组成配对区组,同一组合运行两个版本。主要结局是运行时间比,准确性是必须通过的安全条件。

“新版本更快”缺少总体、单位、时间窗和决策阈值。固定基准列表只支持该列表及声明相似范围,不能外推到所有数值任务;实验室工作站也不能代表手机或大型集群。百分之五是工程决策阈值,不由样本结果临时决定。协议还要规定内核输出的误差度量、硬件负载条件、预热次数、正式重复次数和失败语义。

研究链条可写成:问题与协议、原始事件、质量验证、可追溯变换、配对分析表、效应与区间、运行清单、图表和报告。每层都引用上一层身份。若最终结论被质疑,审阅者可以从主张逐层回到具体运行,而不是在一个手工表格里猜测数据从何而来。

例 1:把性能口号改写成确认性问题

目标总体定义为两类已登记处理器上的二十个公开基准;每个“处理器实例—基准”组合是一个分析区组。两个内核各预热三次,再正式运行七次,区组内随机决定先执行哪一版本。单位级时间取七次正式运行的中位数,效应量取新版本与旧版本时间之比。

确认成功需同时满足:时间比的百分之九十五置信区间上限小于 0.950.95,且所有预先指定准确性检查通过。这里“上限小于 0.950.95”把至少百分之五改善写成可核验判据。若只得到时间比小于一却未越过工程阈值,最多说明可能更快,不能声称达到发布标准。

数据质量规则在观察结果前固定

原始层每行代表一次尝试,至少包含运行 ID、机器 ID、基准摘要、内核版本、重复序号、随机顺序、单调时钟起止值、完成状态、数值误差、环境摘要和采集时间。运行 ID 必须唯一;机器与基准必须来自协议登记表;完成耗时应为正且有限;版本标签只允许协议中的两值;同一区组的环境摘要应一致。规则应给严重级别:无法确定身份的记录拒绝进入分析,允许但异常的记录保留并标记。

清理不是让分布变漂亮。完全相同的重复摄取可按事件摘要去重,但保留去重日志;负耗时说明时钟或采集错误,不能取绝对值;运行失败本身可能是处理效果,不能因没有耗时就静默删除。离群长耗时若来自真实系统抖动,正是用户会经历的性能;只有预先定义且有外部证据的测量故障才排除,并同时报告包含与排除后的敏感性结果。

缺失要按来源分类。尚未安排、程序崩溃、结果文件丢失和质量规则拒绝不是同一种缺失。每类给出数量、处理规则及其是否可能依赖内核版本。若新内核更常崩溃,只比较成功运行时间会产生幸存者偏差;失败率必须成为安全结果,或把失败按预定最差规则纳入决策。

例 2:四条异常记录的审计处置

记录 A 与另一行拥有相同运行 ID、事件摘要和字节内容,判定为重复摄取,分析表只保留一次并在决策日志写明两条来源。记录 B 的结束时钟早于开始时钟,标为测量无效,不把负值改正为正数。记录 C 状态为内核崩溃且没有耗时,保留在失败率表,不进入成功耗时汇总。记录 D 的基准摘要不在冻结清单中,进入隔离区等待核对。

最终流程报告原始四类计数、验证后计数、每条规则拒绝或标记的数量。审阅者可以从分析行追到原事件,也能看到未进入主分析的记录。若删除日志只写“清除异常值”,就无法判断选择是否依赖结果。

变换血缘让每个数字有来路

不可变原始事件先生成模式验证表,再生成完成运行表、区组级汇总表和最终效应表。每条变换边记录输入摘要、代码提交、配置摘要、输出摘要、行数变化和质量断言。派生变量带公式版本,例如

ri=ti,newti,base,zi=logri,r_i=\frac{t_{i,\mathrm{new}}}{t_{i,\mathrm{base}}}, \qquad z_i=\log r_i,

其中 ii 是机器与基准区组,tt 是该版本七次正式运行的中位数。先在区组内汇总,再跨区组分析,避免把十四次重复运行当作十四个独立实验单位。

连接操作尤其需要审计。若把运行表与机器表按不唯一型号连接,行数可能倍增并改变权重;连接前应断言键唯一,连接后检查行数和未匹配比例。过滤顺序也可能影响结果:先删失败再计算失败率会把指标定义破坏。每层表保留数据字典、单位和主键,图表只从冻结效应表生成,不允许手工复制后再修改。

血缘支持重新计算而不是复述历史。质量规则升级时,从原始层用新规则产生新版本,旧效应表仍保持可引用;两版差异可归因到明确的规则提交和受影响行。覆盖同一路径会让旧报告失去证据基础。

探索提出问题,确认检验承诺

探索性试验可画分布、寻找预热长度、识别热节流和比较候选指标。它的价值是发现结构并形成下一轮假设,但查看数据后选择最有利基准、时间窗或异常规则,会使常规确认性错误率失效。探索结果应标记为假设生成,并保存尝试过的指标和图,而不是只呈现最后一个显著结果。

确认阶段在看新数据前冻结协议:目标总体、样本或基准选择、排除规则、随机化、主指标、效应阈值、区间方法、多重性策略和停止规则。用于设计的试点数据原则上不混入确认数据,除非合并方式在试点前已经规定。冻结不是禁止修正错误;发生偏离时保留原协议、记录时间和原因,并把修改后分析标为偏离或探索性。

可先用试点估计方差和测量成本,再规划独立区组数。不能每增加几个区组就偷看结果并在首次显著时停止,除非采用预先设计的序贯规则。样本量大也不会修复错误随机化、错误单位或系统性测量偏差。

对照、配对和随机顺序共同限定比较

当前内核是主动对照,两个版本在同一机器和基准上运行形成配对。配对消除大量机器速度与任务规模差异,提高精度;重复七次用于稳定每个区组的时间估计,不把有效独立样本数扩大七倍。若多台机器共享功耗或后台负载,它们可能互相干扰,应隔离资源、记录负载,或把共享批次作为更高层区组。

执行顺序在区组内随机为“新后旧”或“旧后新”,并在两次条件之间采用统一冷却或缓存策略。否则总让新版本第二个运行,预热缓存会与处理标签混杂。按处理器类型阻断可保证两版本在每类硬件都被比较,但分析必须保留区组结构。随机种子和生成算法进入协议与运行清单,不能反复更换种子直到顺序看起来理想。

盲法在性能实验中不总可行,但采集与质量规则可自动化,分析表可在主结果冻结前隐藏版本标签。对照、随机化、阻断和盲态各解决不同偏差;写“随机实验”不能替代这些实施细节。

例 3:重复运行不是独立样本

某机器与基准组合上,旧内核七次正式时间的中位数为 100 毫秒,新内核为 91 毫秒,该区组比值是 0.910.91。另一个更慢基准的两个中位数为 500 与 470 毫秒,比值是 0.940.94。跨区组比较比值或对数比,可避免慢基准仅因绝对量级大就支配全部结果。

这十四次原始时间提供两个版本在一个区组内的稳定汇总,不构成十四个独立处理单位。若仅把全部新时间与全部旧时间放进独立样本检验,既忽略配对,也夸大样本量。正确分析保留每个机器—基准区组的 zi=logriz_i=\log r_i,再按预定方法汇总区组效应。

主指标、效应区间与实际意义

对数比的平均值为 zˉ\bar z,反变换 exp(zˉ)\exp(\bar z) 给出几何平均时间比。比值小于一表示新版本更快;改善比例为 1exp(zˉ)1-\exp(\bar z)。区间方法需匹配区组抽样和设计,可采用有条件的配对方法、按区组重抽样的自助法或预先验证的模型。不能逐条重抽原始重复,因为那会破坏分析单位。

统计显著表示数据与某个零效应假设不相容到预定程度,不表示效应足够重要。大量稳定测量可让百分之一改善显著,却不值得增加维护成本;小样本也可能观察到百分之十改善,但区间宽到同时容许退化。决策应同时比较零效应和百分之五工程阈值,并报告原单位时间差,帮助理解实际节省。

准确性安全条件也要有方向和容限。例如最大绝对误差增加不得超过 10810^{-8},并采用最坏基准或预定高分位规则。只报告平均误差可能掩盖少数灾难性任务。速度成功但安全条件失败时,整体结论仍不通过。

例 4:显著改进与达到门槛不是一回事

确认分析得到几何平均时间比 0.910.91,百分之九十五区间为 [0.88,0.94][0.88,0.94]。它对应约百分之九改善,区间支持至少百分之六改善;由于上限低于 0.950.95,越过预定百分之五门槛。准确性检查也在容限内时,才可判定达到发布标准。

若另一研究得到时间比 0.980.98、极窄区间 [0.975,0.985][0.975,0.985],它可清楚排除“完全无差异”,却只支持约百分之一点五到二点五改善,没有达到百分之五实际阈值。反之,点估计 0.900.90 而区间 [0.78,1.04][0.78,1.04] 说明不确定度仍覆盖退化,不能靠漂亮点估计宣布成功。

多重比较从主张集合开始控制

协议只设一个主要时间效应,避免在均值、中位数、多个分位数和每个基准中挑最好结果。准确性是门控安全条件,不通过就停止速度成功声明。处理器类型、基准类别、不同线程数和次要延迟分位数可作为次要或探索结果,报告完整结果集合与区间,不只列显著项。

若要对四个预先指定子组分别作确认性主张,可用 Holm 等族错误率控制方法,或按科学优先级设置层级检验;若目标是筛选许多后续候选,可事先选择错误发现率控制。方法选择取决于要控制的错误类型。把每个比较都按单次百分之五阈值处理,会提高“至少一个假阳性”的概率。

看图后新增的子组不因使用校正就自动成为预注册确认结论。它仍是数据驱动假设,应在独立数据上验证。所有尝试的比较数量和选择过程属于结果解释的一部分。

追踪和封装把分析交给下一位执行者

每次运行用唯一 ID 绑定代码提交、规范化配置、基准摘要、顺序种子、环境镜像、机器、驱动、线程数、原始事件和退出状态。指标记录引用具体定义版本;图表引用效应表摘要。失败运行保留,重试建立新关系。固定种子不保证硬件和并行归约下位级一致,因此复现验收还需数值容差与安全结果精确规则。

发布包按证据层次包含:冻结协议及偏离记录、数据字典、原始数据的公开对象或受控引用、质量报告、清理决策日志、变换血缘、区组分析表、统计代码、依赖锁与环境摘要、机器可读指标、图表及其数据、叙述报告、清单、校验和与许可。复现命令从清单解析固定输入,不能读取“最新文件”。敏感数据无法公开时,发布合成小样本、完整规则和受控访问路径,不泄露令牌或个人级摘要。

本章约定“可重复”指同一团队在相同设备和协议下再次执行并得到约定范围内一致结果;“可复现”指另一执行者依据交付的数据、代码、环境说明和清单重建分析结果。不同领域可能交换术语,所以报告必须写操作定义。用新的独立样本再次支持同一科学主张,则另外称为独立复制验证;它检验外部稳定性,不等同于把原计算重新跑一遍。

例 5:从首个差异层定位复现失败

另一执行者获得同一原始数据摘要和代码提交,验证表与区组汇总表也逐字节一致,但最终区间略有不同。逐层检查发现原运行使用锁定统计库版本和按区组重抽样,复现环境却解析了较新依赖,并误按原始重复行重抽样。

修复锁文件并按清单执行后,效应表和区间恢复一致。若只比较最终 PDF,差异原因难以发现;分层摘要把定位点缩小到统计步骤。审计记录保留第一次失败、环境差异、修复命令和新运行 ID,不覆盖原复现尝试。

结论发布前的闭环检查

审阅者先核对主张是否与冻结问题一致,再检查数据纳入、随机化实施、分析单位、指标方向和区间算法。随后从报告数字追到效应表、区组汇总和原始运行,确认每一步有代码、参数、摘要与行数。最后在隔离环境执行复现命令,比较精确制品或预定容差,并检查许可证和敏感数据边界。

若结果没有跨过实际阈值,应如实写“证据不足以支持发布标准”;若协议偏离或多重比较未经控制,应降为探索性;若只能在原机器重跑,应说明尚未完成外部复现。可审计研究不保证结论必然正确,但让问题、选择、证据和限制都能被定位、质疑和改进。

练习

练习 1:写出可审计问题
把“新内核更快”改写成确认性问题。
查看提示
包含总体、处理、对照、分析单位、主指标和实际阈值。
查看解答
可写为:在登记工作站与基准总体中,以机器—基准为配对区组,新内核相对旧内核的几何平均时间比,其百分之九十五区间上限是否低于 0.95,同时预定数值误差不超过容限。
练习 2:审查清理规则
负耗时、长耗时和崩溃应如何处理?
查看提示
区分测量故障、真实极端值和处理失败。
查看解答
负耗时是采集错误,不应取绝对值;真实长耗时应保留或按预先规则做敏感性分析;内核崩溃属于安全结果,不能因缺少耗时而静默删除。所有决定进入日志并保留原始记录。
练习 3:确定分析单位
为何七次重复不把样本量扩大七倍?
查看提示
七次重复用于稳定哪一级估计?
查看解答
分析单位是预先抽样的机器—基准区组;每版本七次重复先汇总为区组中位数,不能当作十四个独立单位。配对效应由同一区组两个版本的比或差得到。
练习 4:解释区间结论
时间比区间 [0.93,0.97] 支持哪些结论?
查看提示
同时与 1 和 0.95 两个边界比较。
查看解答
区间完全低于 1,支持新版本更快;但上限 0.97 高于 0.95,不能确认至少百分之五改善。统计上排除无效应不等于达到工程门槛。
练习 5:处理多个子组
四个硬件子组都要下结论时怎样控制错误?
查看提示
先区分预先指定与看结果后提出。
查看解答
预先指定的四项确认主张应采用与目标错误率匹配的 Holm、层级检验等规则并报告全部结果;看图后新增子组标为探索性,在独立数据上再确认。
练习 6:区分复现层级
区分可重复、可复现与独立复制验证。
查看提示
分别考虑原团队同条件、另一执行者同材料和新样本。
查看解答
原团队同设备协议再次运行属于本文约定的可重复;另一执行者依据制品重建原分析属于可复现;用新机器或新基准样本支持同一主张属于独立复制验证。报告应写操作定义,避免术语歧义。

关系与资源

书籍 · 年份待核

NIST/SEMATECH e-Handbook of Statistical Methods

National Institute of Standards and Technology, SEMATECH

用于核对 C02 的随机化与阻断、实验设计选择、功效与误差、指标比较、假设检验和多重比较边界。

打开官方来源

NIST/SEMATECH 统计方法手册用于核对数据探索、实验设计、统计比较、区间和诊断的基本边界。综合工作流还要求把这些方法与不可变数据、变换血缘、运行清单和发布治理连接起来,使每项统计结论都能回到确定的输入与执行条件。