AI管道和培训自动化
1)任命和原则
目标:可靠、可重复地将数据→ →模型→解决方桉转换→反馈,实现最少的时间价值和风险/成本控制。
原则:- Pipeline-as-Code:所有(DAG,configi,测试,政客)-通过PR和咆哮进入Git。
- Determinism:数据、代码、容器/依赖性的固定版本。
- Separation of Concerns: DataOps, FeatureOps, TrainOps, DeployOps, MonitorOps.
- Guarded Automation:自动化,但具有质量,安全性和合规性的"门"。
- Privacy by Design: PII最小化、居住、审核。
2)流水线层和结构
1.Ingest&Bronze:可靠的事件接收器/蹦床(CDC,总线,中继器,DLQ)。
2.Silver(正常化/丰富):SCD,货币/时间,清理,去除。
3.黄金(店面):用于培训/报告的主题表和日期表。
4.Feature Store:在线/离线、版本和SLO的单一幻想公式。
5.火车和验证:样品准备、培训、校准、评估/支票门。
6.Registry&Promotion:模型注册表,质量卡,促销政策。
7.Serving: REST/gRPC/Batch, fitch缓存,fitch标志,canary/shadow.
8.Monitor&Feedback: SLI/SLO,漂移/校准,在线标签,auto-retrain.
3)编排: DAG模式
Daily CT(D+1):夜间数据周期→ fichi →培训→验证→名册候选人。
Event-Driven Retrain: PSI/ECE/expected-cost漂移触发器或电路发布触发器。
滚动Windows:带有"滚动窗口"数据的每周/每月重新培训。
Blue/Green Artifacts:所有文物都是不变的(hash),并行版本。
Dual-write v1/v2:通过双写和等价比较进行电路/相位迁移。
python with DAG("ct_daily", schedule="@daily", start_date=..., catchup=False) as dag:
bronze = BashOperator(task_id="ingest_cdc", bash_command="ingest.sh")
silver = BashOperator(task_id="silver_norm", bash_command="dbt run --models silver")
gold = BashOperator(task_id="gold_marts", bash_command="dbt run --models gold")
feats = BashOperator(task_id="feature_store_publish", bash_command="features publish")
ds = BashOperator(task_id="build_dataset", bash_command="dataset build --asof {{ ds }}")
train = BashOperator(task_id="train", bash_command="trainer run --config conf.yaml")
eval = BashOperator(task_id="evaluate", bash_command="eval run --gate conf/gates.yaml")
reg = BashOperator(task_id="register", bash_command="registry add --stage Staging")
bronze >> silver >> gold >> feats >> ds >> train >> eval >> reg
4)数据集和样本
针对场景/标签进行点对点加盟和"没有未来"。
按市场/tenant/时间,holdout和"gap"分层进行泄漏。
转化:"data_version","logic_version","asof_date";WORM狙击手。
5)功能商店和对等在线/离线
单个fich规范(名称,公式,所有者,SLO,测试)。
在线=离线:通用转换代码;等价测试(MAE/MAPE)。
TTL和缓存:10米/1小时/1 d窗口;Taymauts/Retrai;民谣"last_known_good"。
yaml name: bets_sum_7d owner: ml-risk offline: {source: silver.fact_bets, window: "[-7d,0)"}
online: {compute: "streaming_window: 7d", ttl: "10m"}
tests:
- compare_online_offline_max_abs_diff: 0.5 slo: {latency_ms_p95: 20, availability: 0.999}
6)培训自动化(CT)和质量门
CT周期:候选人的培训→培训→校准→评估→登记。
Gate(示例):- 离线:PR-AUC ≥基准− δ;ECE ≤ 0.05;expected-cost ≤限制。
- Slice/Fairness:任何幻灯片中指标的下降≤ Y%;disparate impact是正常的。
- Fich的等效性:c。
- 成本:预算≤时间/资源。
yaml gates:
pr_auc_min: 0.42 ece_max: 0.05 expected_cost_delta_max: 0.0 slice_drop_max_pct: 10 features_equivalence_p95_abs_diff_max: 0.5
7)模特注册表和促销活动
模型卡:数据,窗口,fichi,指标关闭/在线,校准,风险,所有者。
Stages: `Staging → Production → Archived`;仅通过经过验证的门进行促销。
回滚政策: 保留最新版本≥N;one-click rollback.
8)CI/CD/CT: 如何连接
CI(代码/测试):unit/整合/合同测试, linters, security-scans。
CD(浏览器):Docker/K8s/Helm/幻灯片,金丝雀/影子/蓝绿色。
CT(数据/培训):计划/活动编排;文物→注册表。
Promotion Gates:在绿色在线SLO(在canary ≥ X小时)下自动发布到插图。
9)多租户和居住权
Tenants/地区:孤立的管道和加密密钥(EEA/UK/BR);无故禁止区域间合作。
秘密:KMS/CMK,秘密经理;令牌化的ID在日志中。
DSAR/RTBF策略:可计算的投影以及模拟和日志中的选择性编辑;案件的法律保留。
10)监视→反馈→ retrain
SLI/SLO: latency p95/p99, 5xx, coverage, cost/request;PSI/KL,ECE,expected-cost漂移。
在线标签:代理人(小时/天)和被拘留者(D+7/D+30/D+90)。
自动动作:recalibration/threshold update → shadow retrain → canary → promotion。
Runbooks:降级场景(漂移、校准、鼠标缓存、提供程序)。
11)安全,RG/AML和决策策略
Guardrails: pre/post-filter, caps频率,cooldown,禁令列表。
Policy Shielding:模型→解决方桉→策略过滤→操作。
审计:"model_id/version","feature_version","threshold","policy_id",原因。
WORM存档:发行版,质量报告,测试/促销日志。
12)成本和性能
路径剖析:fichi(30-60%),地狱(20-40%),IO/网络。
Cost-dashbords: cost/request, cost/feature, GPU/CPU时钟,small-files.
优化:重型离线幻灯片的实现,热窗口缓存,INT8/FP16,中继配额/后退。
Chargeback:我们将预算分配给团队/市场,控制"昂贵"的菲奇。
13)示例(片段)
Argo Workflow:
yaml apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: {name: ct-daily}
spec:
entrypoint: pipeline templates:
- name: pipeline dag:
tasks:
- name: gold template: task arguments: {parameters: [{name: cmd, value: "dbt run --models gold"}]}
- name: features dependencies: [gold]
template: task arguments: {parameters: [{name: cmd, value: "features publish"}]}
- name: train dependencies: [features]
template: task arguments: {parameters: [{name: cmd, value: "trainer run --config conf.yaml"}]}
- name: eval dependencies: [train]
template: task arguments: {parameters: [{name: cmd, value: "eval run --gate conf/gates.yaml"}]}
- name: task inputs: {parameters: [{name: cmd}]}
container: {image: "ml/ct:latest", command: ["/bin/bash","-lc"], args: ["{{inputs.parameters.cmd}}"]}
Gate脚本(伪代码):
python ok = (pr_auc >= gate.pr_auc_min and ece <= gate.ece_max and expected_cost_delta <= gate.expected_cost_delta_max and slice_drop_pct <= gate.slice_drop_max_pct and features_equivalence_p95_abs_diff <= gate.features_equivalence_p95_abs_diff_max)
exit(0 if ok else 1)
政策推广(想法):
yaml promotion:
require:
- offline_gates_passed
- canary_online_hours >= 24
- slo_green: [latency_p95, error_rate, coverage]
- drift_warn_rate <= 5%
14)流程和RACI
R (Responsible):
Data Eng — Ingest/Silver/Gold, Feature Store, CDC/Backfill;
数据科学-样本/培训/校准/网关;
A (Accountable): Head of Data / CDO.
MLOps-编排/注册/旋转/观察。
C(咨询):Compliance/DPO (PII/RG/AML/DSAR), Security (KMS/审计), SRE (SLO/成本), Finance (预算/ROI),产品。
I(Informed):营销/运营/支持。
15)实施路线图
MVP(3-6周):1.DAG «daily CT»: Bronze→Silver→Gold→Feature Store→Train→Eval→Registry(Staging).
2.Feature Store v1和在线/离线等价测试。
3.质量门(PR-AUC/ECE/expected-cost/slice)。
4.模型寄存器,卡片和WORM发行档案。
第二阶段(6至12周):- Auto-recalibration/threshold update, canary-promotion通过在线SLO。
- 在漂移处驾驶活动;dual-write v1/v2用于迁移。
- 成本减记板和backfill/replay配额;多功能隔离。
- 幻灯片和自动报告的公平政策。
- 具有独立密钥的多区域居住权(EEA/UK/BR)。
- 按时间表和事件自动转发,piplines文档自动生成。
16)准备就绪支票清单
[] Pipeline-as-Code в Git;CI测试(unit/集成/合同/安全性)。
- Bronze/Silver/Gold和Feature Store稳定;等效相位是绿色的。
- 离线门已通过;模型卡已满;创建了WORM存档。
- 金丝雀≥ 24小时使用绿色SLO;rollback和kill-switch按钮正在运行。
- 已启用漂移/ECE/expected-cost和在线标签监视。
- PII/居留权/DSAR/RTBF/法律保留;已配置审计。
- 预算中的费用;高速缓存/配额/fici和恢复限制是活跃的。
17)反模式和风险
手动,"一次性"编排器以外的步骤;没有Git故事。
没有门和卡片的培训;手动促销。
未协调的在线/离线照片→销售差异。
忽略漂移/校准/开关费用;只有ROC-AUC"用于物种"。
缺乏居住权/PII政策;生成"原始"ID。
无限制的反射/反冲→成本爆炸并对SLA产生影响。
18)结果
AI管道是价值输送机而不是笔记本电脑套件。正式化数据层、Feature Store和CT/CI/CD、添加质量和安全网关、自动漂移回程、保持在线/离线等效性和透明经济性。因此,您可以获得快速,可预测和兼容的"数据→模型→效果"循环,可跨市场和时间进行扩展。