AI-пайплайндар және оқытуды автоматтандыру
1) Мақсаты және қағидаттары
Мақсаты: деректерді сенімді және ойнатылатын түрлендіру → фич → модельдер → шешімдер → кері байланыс, минималды уақыт-to-value және тәуекелді/құнды бақылау.
Принциптері:- Pipeline-as-Code: барлығы (DAG, конфигалар, тестілер, саясаткерлер) - Git, PR және ревю арқылы.
- 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. Gold (витриналар): пәндік кестелер және оқыту/есептілік үшін датасеттер.
4. Feature Store: бірыңғай формулалар fich online/offline, нұсқалар және SLO.
5. Train & Validate: таңдау дайындау, оқыту, калибрлеу, бағалау/чек-гейт.
6. Registry & Promotion: модельдер тізілімі, сапа карточкалары, промоушен саясаты.
7. Serving: REST/gRPC/Batch, фич-кэштер, фич-жалаулар, canary/shadow.
8. Monitor & Feedback: SLI/SLO, дрейф/калибрлеу, онлайн-лейблдер, auto-retrain.
3) Оркестрлеу: DAG үлгілері
Daily CT (D + 1): түнгі деректер циклі → фичи → оқыту → валидация → тізілімге кандидат.
Event-Driven Retrain: PSI/ECE/expected-cost дрейфі бойынша триггер немесе схемаларды шығару бойынша.
Rolling Windows: деректерді «жылжымалы тереземен» weekly/monthly қайта оқыту.
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) Деректер жиынтығы және іріктемелер
Point-in-time join және фич/лейблдер үшін «болашақсыз».
Нарықтар/тенанттар/уақыт бойынша стратификация, holdout және кему үшін «gap».
Нұсқалау: 'data _ version', 'logic _ version', 'asof _ date'; WORM снапшоттары.
5) Feature Store және online/offline баламалылығы
Бірыңғай спецификация фич (аты, формуласы, иесі, SLO, тестілер).
Онлайн = офлайн: трансформацияның жалпы коды; баламалық тест (MAE/MAPE).
TTL және кэш: терезелер 10м/1ч/1д; таймауттар/ретрайлер; фолбэктер "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-цикл: даярлау → оқыту → калибрлеу → бағалау → кандидатты тіркеу.
Гейтс (мысал):- Off-line: PR-AUC ≥ бенчмарк − δ; ECE ≤ 0. 05; expected-cost ≤ лимит.
- Slice/Fairness: кез келген слайдта метриктердің құлдырауы ≤ Y%; қалыпты disparate impact.
- Фич баламалылығы: ок.
- Құны: ≤ бюджеттің уақыты/ресурстары.
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) Модельдер мен жарнамалар тіркелімі
Модель карточкасы: деректер, терезелер, фичтер, метриктер off/online, калибрлеу, тәуекелдер, иесі.
Stages: `Staging → Production → Archived`; тек тексерілген гейттер арқылы ғана жарнамаланады.
Кері қайтару саясаты: соңғы өнертабыс нұсқаларының N ≥ сақтау; one-click rollback.
8) CI/CD/CT: қалай қосу керек
CI (код/тестілер): юнит/интеграциялық/келісімшарттық тестілер, линтерлер, security-сканерлер.
CD (сервинг): Docker/K8s/Helm/фича-жалаулар, canary/shadow/blue-green.
CT (деректер/оқыту): кесте/оқиғалар бойынша оркестратор; артефактілер → тізілім.
Promotion Gates: жасыл онлайн SLO кезінде авто-релиз (canary ≥ X сағатта).
9) Көп жалдау және резиденттік
Тенанттар/аймақтар: оқшауланған пайплайндар және шифрлау кілттері (EEA/UK/BR); аймақаралық join 'oларға негізсіз тыйым салу.
Құпиялар: KMS/CMK, Secret Manager; логдарда токенделген ID.
DSAR/RTBF саясаты: фичтер мен логтардағы есептелетін проекциялар мен селективті редакциялау; Кейстерге арналған Legal Hold.
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) Құны және өнімділігі
Жолды пішіндеу: фичи (30-60%), инференс (20-40%), IO/желі.
Cost-дашбордтар: cost/request, cost/feature, GPU/CPU-сағат, small-files.
Оңтайландыру: ауыр фич офлайн материалдандыру, ыстық терезе кэші, INT8/FP16, реплей/backfill квоталары.
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;
- Data Science - іріктемелер/оқыту/калибрлеу/гейталар;
- MLOps - оркестрлеу/тізілім/сервинг/бақылау.
- A (Accountable): Head of Data / CDO.
- C (Consulted): Compliance/DPO (PII/RG/AML/DSAR), Security (KMS/аудит), SRE (SLO/құны), Finance (бюджеттер/ROI), Product.
- I (Informed): Маркетинг/Операциялар/Қолдау.
15) Енгізу жол картасы
MVP (3-6 апта):1. DAG «daily CT»: Bronze→Silver→Gold→Feature Store→Train→Eval→Registry(Staging).
2. Feature Store v1 және online/offline баламалық тесті.
3. Сапа гейті (PR-AUC/ECE/expected-cost/slice).
4. Үлгілер тіркелімі, карточка және WORM-релиздер мұрағаты.
2-фаза (6-12 апта):- Авто-recalibration/threshold update, canary-promotion онлайн SLO бойынша.
- дрейф бойынша Event-driven retrain; көші-қон үшін dual-write v1/v2.
- Cost-дашбордтар және backfill/реплеяларға квоталар; multi-tenant оқшаулау.
- Слайдтар бойынша fairness саясаты және авто-репортинг.
- Жеке кілттері бар көп өңірлік резиденттілік (ЕЭА/UK/BR).
- Авто-ретрейн кестесі және оқиғалар бойынша, пайплайндар құжаттамасының автогені.
16) Өнiм дайындығының чек-парағы
- Pipeline-as-Code в Git; CI тестілері (юнит/интеграция/келісімшарттар/қауіпсіздік).
- Bronze/Silver/Gold және Feature Store тұрақты; баламалылығы жасыл фич.
- Офлайн гейттері өтті; модель карточкасы толтырылған; WORM мұрағаты құрылды.
- Canary ≥ 24 сағ жасыл SLO; rollback және kill-switch түймешігі жұмыс істейді.
- Drift/ECE/expected-cost және online-лейблдер мониторингі қосылған.
- ПИИ/резиденттік/DSAR/RTBF/Legal Hold сақталған; аудит теңшелді.
- Бюджеттегі құн; кэш/квоталар/фичтер мен реплеяларға арналған лимиттер белсенді.
17) Анти-паттерндер және тәуекелдер
Оркестратордан тыс қол, «бір реттік» қадамдар; Git тарихы жоқ.
Гейтсіз және карточкасыз оқыту; қолмен жарнамаланады.
Келісілмеген online/offline фичтер → өнімдегі айырмашылықтар.
Дрейф/калибрлеу игноры/expected-cost; тек ROC-AUC «түрі үшін».
Резиденттіктің болмауы/PII-саясат; «дымқыл» ID логині.
Шектелмеген backfill/репликалар → құн жарылысы және SLA әсері.
18) Қорытынды
AI-пайплайндар - ноутбуктер жинағы емес, құндылықтар конвейері. Деректер қабаттарын ресімдеңіз, Feature Store және CT/CI/CD, сапа және қауіпсіздік гейттерін қосыңыз, дрейф бойынша retrain автоматтандырыңыз, онлайн/оффлайн баламасын және мөлдір экономиканы сақтаңыз. Осылайша, сіз тез, болжамды және комплаентті «деректер → модель → әсер» циклін аласыз, ол нарықтар мен уақыт бойынша масштабталады.