3. Artifact核心概念

在金融模型治理中,Artifact(制品)是贯穿模型研发、验证、上线与运维全流程的最小可追溯单元。它不仅是文件本身,更承载了版本、血缘、审批状态与合规证据。理解Artifact的类型与生命周期,是构建可审计、可复现金融模型环境的基础。

一、核心原理:Artifact是什么,为什么需要分类

Artifact可以定义为:在模型生命周期中产生、被版本化、可被引用与审计的任何持久化产物。金融行业对模型可解释性与可复现性要求极高,监管机构(如银保监会、美联储SR 11-7)要求机构能够回答“这个模型上线时用了哪份数据、哪个特征版本、哪个依赖环境”。因此,Artifact必须分类管理,因为不同类型Artifact的变更频率、存储方式、审批路径和生命周期长度差异巨大。

例如,原始数据集一旦入湖通常不可变,而特征工程产物可能每日重算;模型文件需要严格审批,而临时配置文件可能随环境切换而快速迭代。分类是治理策略的前提。

二、Artifact的主要类型与特征

金融模型环境中常见的Artifact可分为六大类,每类都有独特的格式、存储与治理要求:

  • 模型文件:训练完成的参数权重、网络结构、序列化对象(如PMML、ONNX、Pickle、HDF5)。通常体积较大,需与训练代码、数据版本绑定。
  • 数据集:原始数据、清洗后数据、采样数据、回测数据。强调不可变性与血缘追踪,常用Parquet、CSV、Hive表。
  • 特征工程产物:特征定义、特征计算逻辑、特征存储(Feature Store)中的特征值。介于数据与模型之间,需保证训练/推理一致性。
  • 配置文件:超参数、环境变量、模型阈值、风控规则。YAML/JSON为主,变更频繁但影响直接。
  • 依赖包:Python wheel、conda环境、Docker镜像、requirements.txt。决定运行时行为,必须锁定版本。
  • 评估与合规文档:验证报告、公平性分析、压力测试结果、审批记录。属于证据类Artifact,生命周期最长。
提示:在金融场景中,模型文件与依赖包必须成对注册。仅注册模型而不锁定依赖,会导致“今天能跑、明天报错”的复现灾难。

三、Artifact生命周期:从创建到归档

Artifact生命周期通常包含六个阶段:创建、注册、验证、发布、消费、归档/销毁。每个阶段都有明确的准入准出条件。

  1. 创建:由训练任务、特征计算任务或人工配置产生。此时Artifact仅有临时标识,尚未纳入治理。
  2. 注册:写入Artifact Registry(如MLflow、Harbor、自研平台),分配全局唯一ID、版本号、哈希值与元数据。
  3. 验证:检查完整性、格式合规、依赖可解析、数据漂移指标是否在阈值内。验证不通过则标记为“拒绝”。
  4. 发布:通过审批后进入“已发布”状态,可被生产推理服务或下游任务引用。发布通常不可逆。
  5. 消费:被模型服务、回测引擎、报表系统拉取使用。每次消费需记录引用关系,形成血缘图。
  6. 归档/销毁:过期或模型下线后,Artifact转入冷存储或按合规要求销毁,但元数据与血缘记录通常保留。

下面是一个典型的Artifact注册与状态流转的配置片段:

artifact:
  name: "credit_score_model"
  version: "v2.3.1"
  type: "model_file"
  format: "onnx"
  hash: "sha256:9f2a...c7e1"
  dependencies:
    - "python==3.9.18"
    - "onnxruntime==1.16.3"
    - "feature_store:credit_features:v1.8"
  lifecycle:
    created_at: "2025-03-12T08:30:00Z"
    registered_by: "training_job_8821"
    status: "validated"
    approved_by: "model_risk_committee"

四、场景案例:信贷评分模型上线中的Artifact流转

假设某银行要上线一版信贷评分模型。数据科学家在实验环境训练出模型文件credit_score_v2.onnx,同时生成了特征工程产物credit_features_v1.8和配置文件thresholds.yaml。这些Artifact首先被注册到平台,触发自动验证:检查ONNX格式是否可加载、特征版本是否与训练数据一致、依赖包是否在允许清单内。

验证通过后,模型风险委员会审批发布。生产推理服务通过Artifact ID拉取模型与特征,而不是直接读取文件路径。当监管要求回溯“2025年3月所有信贷审批用了哪个模型”时,平台可通过血缘图快速定位到具体Artifact版本及其依赖的数据集与代码提交。

常见误区:把Artifact等同于“文件路径”。路径会变、文件会被覆盖,而Artifact是不可变且带元数据的逻辑实体。用路径管理模型,等于放弃审计能力。

五、误区与复盘:Artifact治理中的典型问题

在实际项目中,Artifact治理常出现以下问题:

  • 只注册模型,不注册特征与依赖:导致推理时特征不一致,模型效果骤降。
  • 版本号随意命名:如“final_v2_真正最终版”,无法排序与追溯。
  • 缺少状态机:Artifact没有“草稿/验证中/已发布/已废弃”状态,生产环境可能误用未审批版本。
  • 血缘断裂:数据集更新后未记录与模型的关联,无法复现历史结果。

复盘建议:将Artifact Registry作为唯一可信源,所有消费方必须通过ID引用;对模型文件与依赖包实施“绑定发布”;对数据集与特征产物实施“不可变快照”;对配置文件实施“环境差异化覆盖但版本可追溯”。

六、Artifact类型与生命周期对照清单

Artifact类型 典型格式 变更频率 生命周期特点 治理重点
模型文件 ONNX、PMML、Pickle 低 长,需审批发布 版本绑定、依赖锁定
数据集 Parquet、Hive、CSV 中 不可变快照,长期保留 血缘、分区、权限
特征工程产物 Feature Store、SQL、Python 高 与模型版本联动 训练/推理一致性
配置文件 YAML、JSON 高 短,随环境切换 环境隔离、审计日志
依赖包 Wheel、Docker、Conda 低 与模型同生命周期 版本锁定、漏洞扫描
评估与合规文档 PDF、HTML、Markdown 低 最长,监管留存 审批签名、不可篡改
Artifact类型与生命周期状态流转 模型文件 数据集 特征工程产物 配置文件 依赖包 评估与合规文档 生命周期阶段 1. 创建 2. 注册 3. 验证 4. 发布 5. 消费 6. 归档/销毁 治理动作与状态 • 分配全局ID与哈希 • 记录创建者与时间戳 • 格式与完整性检查 • 依赖可解析性验证 • 数据漂移阈值判断 • 审批签名与发布锁定 • 血缘关系写入 • 消费引用记录 • 冷存储迁移 • 元数据长期保留 状态机:草稿 → 已注册 → 验证中 → 已发布 → 已消费 → 已归档 / 已拒绝