Қубурҳои AI ва автоматизатсияи таълим
1) Мақсад ва принсипҳо
Мақсад: боэътимод ва такроршаванда барои табдил додани маълумот → хусусиятҳо → моделҳо → қарорҳо → фикру мулоҳизаҳо, бо ҳадди ақали вақт ба арзиш ва назорати хатар/арзиш.
Принсипҳо:- Pipeline-as-Code: ҳама чиз (DAG, конфигуратсияҳо, озмоишҳо, сиёсатмадорон) - дар Git, тавассути PR ва баррасӣ.
- Детерминизм: версияҳои собитшудаи маълумот/код/контейнерҳо/вобастагӣ.
- Ҷудокунии нигарониҳо: Data
- Автоматикунонии муҳофизатшаванда: мо автоматӣ мекунем, аммо бо "дарвозаҳои" сифат, бехатарӣ ва мувофиқат.
- Махфият аз рӯи тарроҳӣ: кам кардани PII, истиқомат, аудит.
2) Қабатҳои конвейер ва меъморӣ
1. Inest & Bronze: қабули боэътимоди рӯйдодҳо/гурӯҳҳо (CDC, чархҳо, ретрейҳо, DLQ).
2. Нуқра (нормализатсия/ғанисозӣ): SCD, асъор/вақт, клиринг, тарҳ.
3. Тилло (мағозаҳо): ҷадвалҳо ва маҷмӯаҳо барои омӯзиш/ҳисобот.
4. Дӯкони хусусият: формулаҳои ягона барои хусусиятҳои онлайн/офлайн, версияҳо ва SLO.
5. Поезд ва санҷиш: омодасозии намуна, омӯзиш, калибрченкунӣ, дарвозаҳои арзёбӣ/санҷиш.
6. Феҳрист ва таблиғот: бақайдгирии моделҳо, кортҳои босифат, сиёсати таблиғот.
7. Хизматрасонӣ: REST/GRPC/Batch, кэшҳои хусусӣ, парчамҳои махсус, канарӣ/сояҳо.
8. Монитор ва фикру мулоҳизаҳо: SLI/SLO, дрифт/калибрченкунӣ, тамғакоғазҳои онлайн, бозомӯзии худкор.
3) Оркестр: намунаҳои DAG
CT-и ҳаррӯза (D + 1): сикли шабонарӯзии маълумот → хусусиятҳо → омӯзиш → санҷиш → номзади сабти ном.
Бозомӯзии рӯйдодҳо: триггер барои PSI/ECE/драйвери пешбинишуда ё барориши ноҳиявӣ.
Rolling Windows: бозомӯзии ҳарҳафтаина/ҳармоҳа бо "равзанаи лағжанда" -и маълумот.
Артефактҳои кабуд/сабз: ҳама артефактҳо тағйирнопазиранд (ҳаш), версияҳои параллелӣ.
Дугона-навиштани 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) Маълумотҳо ва намунаҳо
Якҷоя кардани нуқта дар вақт ва "оянда нест" барои хусусият/тамғакоғазҳо.
Табақабандӣ аз ҷониби бозорҳо/иҷорагирон/вақт, нигоҳдорӣ ва "холӣ" барои ихроҷ.
Версия: 'data _ version', 'mogic _ version', 'asof _ date'; Аксҳои WORM.
5) Дӯкони хусусият ва муодили онлайн/офлайн
Мушаххасоти ягонаи хусусиятҳо (ном, формула, соҳиб, SLO, санҷишҳо).
Онлайн = офлайн: рамзи табдилдиҳии умумӣ; санҷиши эквивалентӣ (MAE/MAPE).
TTL ва кэш: тирезаҳои 10m/1h/1d; вақти истироҳат/ақибнишинӣ; Folbacks "last_known_good."
Speca fici (YAML):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) ва дарвозаҳои сифат
Сикли КТ: тайёрӣ → омӯзиш → калибрченкунӣ → баҳодиҳӣ → бақайдгирии номзад.
Дарвозаҳо (мисол):- Off-line: нишондиҳандаи PR-AUC ≥ − δ; ECE ≤ 0. 05; лимити интизорравандаи ≤.
- Бурида/Адолат: тарки ченакҳо дар ҳама гуна бурида ≤ Y%; таъсири нобаробар муқаррарӣ аст.
- Хусусияти эквивалент: тақрибан.
- Арзиш: вақт/захираҳо ≤ буҷа.
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) Бақайдгирии моделӣ ва таблиғот
Корти намунавӣ: маълумот, тирезаҳо, хусусиятҳо, ченакҳои хомӯш/онлайн, калибрченкунӣ, хатарҳо, соҳиб.
Марҳилаҳо: 'Марҳила → Истеҳсолот → Бойгонӣ'; пешбарӣ танҳо тавассути дарвозаҳои исботшуда.
Сиёсати бозгашт: нигоҳ доштани N аз версияҳои охирини истеҳсолӣ; як-ангуштзанӣ.
8) CI/CD/CT: чӣ гуна пайваст шудан
CI (рамз/санҷишҳо): санҷишҳои воҳид/ҳамгироӣ/шартнома, линтерҳо, сканҳои амниятӣ.
CD (хизмат): Docker/K8s/Helm/feature парчамҳо, канарӣ/соя/кабуд-сабз.
CT (маълумот/омӯзиш): ҷадвал/оркестри чорабиниҳо; артефактҳо → феҳрист.
Дарвозаҳои таблиғотӣ: барориши худкор дар истеҳсолот бо SLO-и сабз (дар канарӣ ≥ X соат).
9) Бисёрҳуҷрагӣ ва иқомат
Иҷорагирон/минтақаҳо: қубурҳои ҷудошуда ва калидҳои рамзгузорӣ (EEA/UK/BR); манъ кардани пайвастшавии байниминтақавӣ бе сабаб.
Асрҳо: KMS/CMK, Менеҷери Махфӣ; ID-ҳои токенизатсияшуда дар гузоришҳо.
Сиёсати DSAR/RTBF: пешгӯиҳои ҳисобшаванда ва таҳрирҳои интихобӣ дар хусусиятҳо ва гузоришҳо; Нигоҳдории ҳуқуқӣ барои парвандаҳо.
10) Мониторинг → фикру мулоҳизаҳо → бозомӯзӣ
SLI/SLO: таъхири p95/p99, 5xx, фарогирӣ, арзиш/дархост; drift PSI/KL, ECE, арзиши пешбинишуда.
Тамғакоғазҳои онлайн: прокси (соат/рӯз) ва таъхир (D + 7/D + 30/D + 90).
Амалҳои худкор: азнавбаҳодиҳӣ/навсозии остона → бозомӯзии сояҳо → таблиғи canary →.
Китобҳои корӣ: сенарияҳои таназзул (дрифт, калибрченкунӣ, кэши хусусӣ, провайдерҳо).
11) Сиёсати амният, RG/AML ва ҳалли масъалаҳо
Посбонҳо: пеш/филтр, басомади caps, cooldown, рӯйхати манъкунӣ.
Shielding Policy - Model → Solution → Филтри сиёсат → Амал.
Аудит: 'model _ id/version', 'feature _ version', 'ҳадди', 'policy _ id', сабабҳо.
Бойгонии WORM: релизҳо, гузоришҳои сифат, гузоришҳои санҷиш/таблиғот.
12) Арзиш ва нишондиҳандаҳо
Профили роҳ: хусусиятҳо (30-60%), хулоса (20-40%), IO/шабака.
Панели хароҷот: арзиш/дархост, арзиш/хусусият, GPU/CPU-соат, файлҳои хурд.
Оптимизатсия: моделсозии хусусиятҳои вазнини офлайнӣ, кэши тирезаи гарм, INT8/FP16, квотаи такрорӣ/backfill.
Пардохт: мо буҷаро аз рӯи гурӯҳ/бозор тақсим мекунем, хусусиятҳои "гарон" -ро назорат мекунем.
13) Намунаҳо (пораҳо)
Ҷараёни кории Арго: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}}"]}
Скрипти дарвоза (псевдокод):
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 (Масъул):- Маълумот Eng - Inest/Silver/Gold, Store Feature, CDC/Backfill;
- Илми маълумот - намунаҳо/омӯзиш/калибрченкунӣ/дарвозаҳо;
- MLOps - оркестрсозӣ/реж/хизмат/nablyudayemost.
- A (Ҳисоботдиҳанда): Роҳбари маълумот/CDO.
- C (Машварат): Мутобиқат/DPO (PII/RG/AML/DSAR), Амният (KMS/Аудит), SRE (SLO/Value), Молия (Буҷаҳо/ROI), Маҳсулот.
- I (Маълумот): Маркетинг/Амалиёт/Дастгирӣ.
15) Харитаи роҳсозӣ
MVP (3-6 ҳафта):1. DAG "ҳаррӯзаи CT": Биринҷӣ → нуқра → Gold → Store Store Feature → Train → Eval → Registry (Staging).
2. Хусусияти Store v1 ва санҷиши эквиваленти онлайн/офлайн.
3. Дарвозаҳои сифат (PR-AUC/ECE/арзиши пешбинишуда/бурида).
4. Феҳристи моделӣ, бойгонии корт ва WORM.
Марҳилаи 2 (6-12 ҳафта):- Навсозии худкори азнавсозӣ/ҳадди ниҳоӣ, таблиғи канарӣ тавассути SLO онлайн.
- Бозомӯзии ба рӯйдод асосёфта аз рӯи дрифт; дугона-нависед v1/v2 барои муҳоҷират.
- Панели хароҷот ва квотаҳои дубора/такрорӣ; ҷудокунии бисёр иҷорагир.
- Сиёсати адолат дар иловаро ва гузоришдиҳии худкор.
- Резидентураи бисёрсоҳавӣ (EEA/UK/BR) бо калидҳои инфиродӣ.
- Бозомӯзии худкор аз рӯи ҷадвал ва рӯйдодҳо, ҳуҷҷатҳои автогении қубурҳо.
16) Рӯйхати назорати таҳвил
- Қубур-ас-Кодекс в Гит; Санҷишҳои CI (воҳиди/ҳамгироӣ/шартномаҳо/амният).
- Дӯкони биринҷӣ/нуқра/тилло ва хусусият устувор мебошанд; хусусияти эквиваленти сабз.
- Дарвозаҳои офлайнӣ гузаштанд; корти намунавӣ пур аст; Бойгонии WORM эҷод шудааст.
- Канария ≥ 24 соат бо SLO-ҳои сабз; тугмаи бозгашт ва функсияи куштан-гузариш.
- Drift/ECE/арзиши пешбинишуда ва мониторинги тамғакоғазҳои онлайн фаъол аст.
- PII/истиқомат/DSAR/RTBF/Hold Legal; аудит танзим карда шуд.
- Арзиш дар буҷа; маҳдудиятҳои кэш/квота/хусусият ва такрорӣ фаъоланд.
17) Анти-намунаҳо ва хатарҳо
Дастур, қадамҳои "як тир" берун аз оркестр; нест ҳикояи Git.
Омӯзиш бидуни дарвоза ва кортҳо; таблиғ "бо дасти".
Хусусиятҳои номувофиқи онлайн/офлайнӣ → номувофиқатӣ дар фурӯш.
Нодида гирифтани дрифт/калибрченкунӣ/арзиши пешбинишуда; ROC-AUC "танҳо ба як намуд".
Набудани истиқомат/сиёсати PII; сабти ID-ҳои "хом".
Backfill/replays бемаҳдуд → таркиш ва таъсир ба SLA.
18) Сатри поён
Қубурҳои AI як лӯлаи арзиш мебошанд, на маҷмӯи ноутбукҳо. Қабатҳои маълумот, Store Store ва CT/CI/CD-ро ба расмият дароред, дарвозаҳои сифат ва бехатариро илова кунед, бозомӯзии автоматиро тавассути кашиш автоматӣ кунед, эквиваленти онлайн/офлайн ва иқтисоди шаффофро нигоҳ доред. Ин ба шумо маълумоти зуд, пешгӯишаванда ва мувофиқро медиҳад → модели → сикли эффект, ки дар тамоми бозорҳо ва вақт миқёс мегирад.