419

AI 模型的监管验证:用于申报需要满足什么

AI 模型若用于申报,需要满足特定的验证要求。这篇讲清验证的层次、文档要素与实践中的落地方式。

当 AI 模型的输出成为申报证据的一部分时,它就需要接受与其它分析方法同等程度的审视。这篇讲清需要准备什么。

先确定使用目的(intended use)

# 一切验证要求都从「使用目的」出发
#
# 必须明确回答:
#   1) 这个模型预测什么?(具体的终点)
#   2) 用于什么决策?
#   3) 如果预测错误,后果是什么?
#   4) 是唯一证据还是支持性证据?
#   5) 适用于什么范围?(化学空间、人群、条件)
#
# 例(好的定义):
#   「本模型预测化合物的 Ames 试验结果,
#    用于 ICH M7 框架下的基因毒性杂质评估,
#    作为两种互补方法之一。
#    适用于分子量 100~600、含常见有机官能团的小分子。
#    预测为阳性或超出适用域时,进行实验测定。」
#
# 例(不好的定义):
#   「用 AI 预测化合物的安全性」
#   ← 太模糊,无法据此设计验证方案

使用目的定义得越具体,验证的要求越清晰、越可达成。模糊的定义会导致无止境的验证要求。

验证的层次

层次 内容
数据验证 训练数据的来源、质量、代表性、清洗过程
内部验证 交叉验证、留出测试集
外部验证 独立数据集(未参与任何训练与调参)
适用域定义 明确模型在什么范围内可信
敏感性分析 输入扰动对输出的影响
可解释性 能否说明预测依据
与现有方法对比 相对传统方法的表现

外部验证是关键:交叉验证的指标会系统性高估真实性能(因为超参选择等过程见过数据)。必须有一个完全独立、从未用于任何决策的测试集。

文档要素

# 模型文档应包含的内容

MODEL_DOCUMENTATION = {
    "intended_use": "具体的使用目的与决策场景",
    "model_description": {
        "algorithm": "算法类型与架构",
        "features": "输入特征及其计算方法",
        "hyperparameters": "超参数及选择依据",
        "version": "模型版本号",
        "training_date": "训练日期",
    },
    "training_data": {
        "source": "数据来源与获取方式",
        "size": "样本量",
        "chemical_space": "化学空间描述与可视化",
        "quality_control": "清洗与质控流程",
        "known_limitations": "已知的数据局限",
    },
    "validation": {
        "internal": "交叉验证方案与结果",
        "external": "独立测试集来源与结果",
        "metrics": "性能指标与可接受标准",
        "applicability_domain": "适用域定义方法与判据",
    },
    "uncertainty": "不确定性估计方法与校准验证",
    "human_oversight": "专家复核的流程与触发条件",
    "monitoring": "部署后的性能监测计划",
    "change_control": "模型更新的管理流程",
}

可重复性的技术保障

# 「同样的输入给出同样的输出」是基本要求

# 1) 环境固化
#    容器镜像 + 依赖锁定文件
#    记录所有库的精确版本
FROM python:3.11-slim
COPY requirements.lock /tmp/
RUN pip install --no-deps -r /tmp/requirements.lock

# 2) 随机种子固定
#    训练与推理的所有随机过程都要固定种子

# 3) 模型文件哈希
import hashlib
def model_fingerprint(model_path):
    with open(model_path, "rb") as f:
        return hashlib.sha256(f.read()).hexdigest()

# 4) 完整的预测记录
PREDICTION_RECORD = {
    "timestamp": "...",
    "model_version": "v2.3.1",
    "model_hash": "sha256:...",
    "input_smiles": "...",
    "input_hash": "...",
    "prediction": 5.2,
    "uncertainty": 0.4,
    "applicability_domain": "in_domain",
    "reviewed_by": "...",
    "review_decision": "accepted / overridden",
}

# 关键:这些记录必须在预测时生成并归档,
#      事后无法补齐

ICH M7 的范式:值得借鉴

ICH M7 对 (Q)SAR 的接受方式提供了一个可复制的模板:

  • 两种互补方法:一种基于专家规则(可解释)、一种基于统计模型(数据驱动)——互补性降低了单一方法失效的风险
  • 结果一致才采纳:两者都预测阴性才可免除实验;不一致或有阳性时做实验;
  • 专家复核:计算结果需由有资质的专家评估,可基于机制知识推翻计算结论;
  • 明确的后备方案:超出适用域或结果存疑时,回到实验测定。

这个「多方法交叉 + 一致性判据 + 专家复核 + 实验后备」的模式,可以推广到其它计算方法的使用场景。

常见的验证不足

  • 只有交叉验证没有外部验证:最常见的问题;
  • 测试集不独立:测试集参与了特征选择或超参调优,指标虚高;
  • 划分方式不当:用随机划分而非骨架/时间划分,高估泛化能力(见 332《用 Scaffold Split 评估模型真实外推能力》);
  • 没有定义适用域:无法判断新化合物的预测是否可信;
  • 不确定性未验证:给出了不确定性但没验证它与实际误差的相关性;
  • 无版本管理:无法追溯某个历史预测是用哪个版本做的。

提示

具体的验证与文档要求随监管指导原则更新,本文为方向性介绍。用于申报的模型,其验证方案应与法规事务人员共同制定,并考虑提前与监管机构沟通。

延伸资源