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、添加質量和安全網關、自動漂移回程、保持在線/離線等效性和透明經濟性。因此,您可以獲得快速,可預測和兼容的「數據→模型→效果」循環,可跨市場和時間進行擴展。