针对辐射诱发位翻转的AI模型韧性测试
OrbitTest(MRVPlatform)是一个命令行工具,用于评估ONNX模型在卫星在轨运行中遭遇辐射诱发位翻转时的韧性。它向模型权重注入符合实际统计分布的位翻转,通过蒙特卡洛模拟给出0-100韧性评分和逐层敏感度排名,并附带基于已发表研究的故障率预设。工具明确披露当前局限,定位为验证方法论可行性的3天冲刺。
日前,GitHub 上出现了一个名为 MRVPlatform(代号 OrbitTest)的开源命令行工具,专门用于检验 ONNX 模型在遭遇辐射诱发的位翻转时,是否仍然能维持正确的预测。这类位翻转在学术上称为单粒子翻转(SEU),是卫星在轨运行中真实存在的内存错误来源。该工具并非简单验证模型能否运行,而是模拟星载计算机实际可能发生的存储损坏,再评估模型的预测能力。
工具的工作流程是:先加载 ONNX 模型和验证数据集,建立无故障的干净精度基线;然后根据用户指定的故障率(单位是每比特每天的错误数)和任务暴露天数,计算每个权重张量中期望出现的位翻转数量,即 expected_flips = fault_rate × tensor_size_bits × mission_days。随后,工具直接在 IEEE-754 float32 的比特表示上随机注入翻转——符号位、指数位和尾数位均可能被选中——再用被破坏的权重重新对验证集进行推理。为了避免单次试验的偶发性,它会以蒙特卡洛方式重复多次(默认 20 次),并报告准确率的均值、标准差和范围。最终,工具给出一个 0 到 100 的韧性评分:100 × (平均故障准确率 / 干净准确率),并截断到 [0,100]。
除了整体评分,逐层敏感度分析是该工具最有价值的输出之一。它会固定只破坏某一个权重张量,保持其他张量干净,重复试验后按平均准确率下降幅度排名。这样工程师可以知道:如果只能加固或复制一个层,哪个层收益最大。项目在 README 中也详细说明了故障率预设的来源:leo-typical(2×10⁻⁷ 错误/比特·天)源自 SAC-C 卫星上 4-Mbit SRAM 的实测在轨 SEU 率;saa-transit(1×10⁻⁵)是对南大西洋异常区影响的量级估计;solar-storm-worst-case(1×10⁻³)则与 1989 年 10 月 CREME96 最坏日基准一致。后两者被明确标注为估算值,不能替代任务特定的辐射分析。
使用上,该工具是一个 Python CLI。用户必须提供 --model 和 --data,并以 --fault-rate 或 --preset 指定故障参数,此外可设置 --mission-days、--trials、--layer-trials、--seed 等选项。输出包括控制台摘要、完整 JSON 报告(含每次试验细节、分布统计、模型和数据集哈希)以及准确率对比图。
项目开发者特意强调了当前局限:只破坏模型权重,不涉及激活值、梯度、控制流或飞行软件;韧性评分仅基于 top-1 准确率;每次运行只覆盖单一工作点;目前只对一个小型线性模型和一个预训练 CNN 做过验证,尚未覆盖 Transformer 等架构;两个预设是数量级估算;推理仅限 CPU、单图像。整体而言,这是一个为期三天的 CLI 验证冲刺,目的是在投入完整 SaaS 产品前,确认故障注入方法论是否有效、结果是否足以说服持怀疑态度的航空航天工程师。