צינורות בינה מלאכותית ואוטומציה
1) מטרה ועקרונות
המטרה: אמין ומשוכפל כדי להפוך את הנתונים * מאפיינים * מודלים * החלטות * משוב, עם מינימום זמן לערך ושליטה בסיכון/עלות.
עקרונות:- צינור כקוד: הכל (DAG, תצורה, מבחנים, פוליטיקאים) בגיט, דרך יחסי ציבור וסקירה.
- דטרמיניזם: גרסאות קבועות של נתונים/קוד/מכלים/תלויות.
- הפרדת חששות: DataOps, DataOps, Ops, TrieOps, PreslOP, DataOps.
- אוטומציה שמורה: אנחנו אוטומטיים, אבל עם ”שערים” של איכות, בטיחות וציות.
- פרטיות בעיצוב: מזעור מח "ש, תושבות, ביקורת חשבונות.
2) שכבות מסוע וארכיטקטורה
1. Innight & Bronze: קליטה אמינה של אירועים/חבורות (CDC, צמיגים, מגשים מחדש, DLQ).
2. כסף (נורמליזציה/העשרה): SCD, מטבעות/זמן, סליקה, דידאפ.
3. זהב (סטורפונטס): שולחנות נושא ונתונים לאימון/דיווח.
4. חנות תכונה: נוסחאות אחידות לתכונות מקוונות/לא מקוונות, גרסאות ו ־ SLO.
5. רכבת & תוקף: הכנה לדוגמה, אימון, כיול, הערכה/בדיקת שערים.
6. רישום וקידום: רישום מודלים, כרטיסי איכות, מדיניות קידום.
7. הגשה: REST/gRPC/Batch, מטמונים, דגלים, צל/כנרית.
8. צג & משוב: SLI/SLO, סחיפה/כיול, תוויות מקוונות,
3) תזמור: דפוסי DAG
Daily CT (D + 1): מחזור נתונים לילי = = מאפיינים של training _ imperation ach registry.
Retrain מונע אירוע: הדק עבור PSI/ECE/סחיפה במחיר צפוי או שחרור מעגל.
חלונות מתגלגלים: אימון שבועי/חודשי עם ”חלון הזזה” של נתונים.
חפצים כחולים/ירוקים: כל החפצים הם בלתי ניתנים לשינוי (חשיש), גרסאות מקבילות.
כתב כפול 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) נתונים ודגימות
הצטרפות נקודה בזמן ו ”אין עתיד” עבור תכונה/תוויות.
מסומן על ידי שווקים/דיירים/זמן, עיכוב ו ”פער” לדליפות.
Versioning: ”data _ version”, ”logic _ version”, ”asof _ date”; תצלומי תולעת.
5) חנות תכונה ושוויון מקוון/לא מקוון
מפרט מאוחד של תכונות (שם, נוסחה, בעלים, SLO, בדיקות).
מקוון = מנותק: קוד טרנספורמציה משותף; מבחן השוויון (MAE/MAPE).
TL ומטמון: חלונות 10m/1h/1d; פסק זמן/נסיגה; פולבקים ”last_known_good.”
ספקה פיקי (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) ושערי איכות
מחזור CT: הכנה = אימון = כיול = הערכה = רישום של המועמד.
שערים (דוגמה):- Off-line: PR-AUC benchmark minstream im; 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) רישום מודל וקידום
כרטיס מודל: נתונים, חלונות, תכונות, מדדים כבויים/מקוונים, כיול, סיכונים, בעלים.
שלבים: ”Staging ach Production Action Archived”; קידום רק דרך שערים מוכחים.
מדיניות Rollback: שמור על N של גרסאות ההפקה האחרונות; גלגול של קליק אחד.
8) CI/CD/CT: כיצד להתחבר
CI (קוד/בדיקות): בדיקות יחידה/אינטגרציה/חוזה, לינטרים, סריקות אבטחה.
תקליטור (הגשה): דגלי Docker/K8s/Helm/feature, כנרית/צל/כחול-ירוק.
CT (נתונים/הכשרה): לוח זמנים/תזמורת אירועים; חפצים רישום #.
Profession Gates: שחרור אוטומטי בייצור עם SLO מקוון ירוק (בשעות ה-X הקנריות).
9) עמידות מרובה ותושבות
דיירים/אזורים: צינורות מבודדים ומפתחות הצפנה (EEA/UK/BR); איסור על הצטרפות בין-לאומית ללא סיבה.
סודות: KMS/CMK, מנהל סודי; תעודות זהות מתוקנות ברישומים.
מדיניות DSAR/RTBF: תחזיות חישוביות ועריכה סלקטיבית בתכונות וביומנים; אחיזה משפטית לתיקים.
10) ניטור משוב # train
SLI/SLO: latency p95/p99, 5xx, כיסוי, עלות/בקשה; סחף PSI/KL, ECE, עלות צפויה.
תוויות מקוונות: פרוקסי (שעה/יום) ועיכוב (D + 7/D + 30/D + 90).
פעולות אוטומטיות: כיול מחדש/עדכון סף = צל לאמן מחדש ac.Canary ac.
ספרי ריצה: תרחישי השפלה (סחף, כיול, מטמון תכונה, ספקים).
11) מדיניות ביטחון, RG/AML ופתרונות
מעקות בטיחות: טרום/לאחר סינון, תדרי כיסויים, התקררות, רשימות איסור.
מיגון מדיניות - פתרון Policy Model # Policy Policy Act.
ביקורת: "מודל _ id/גרסה", "feature _ version", "סף", "policy _ id', סיבות.
ארכיון תולעת: שחרור, דוחות איכות, יומני בדיקה/קידום.
12) עלות וביצועים
פרופיל מסלול: תכונות (30-60%), הסקה (20-40%), IO/network.
לוחות מחוונים: עלות/בקשה, עלות/תכונה, שעון GPU/מעבד, קבצים קטנים.
אופטימיזציה: התממשות של תכונות לא מקוונות כבדות, מטמון חלונות חמים, INT8/FP16, מכסות הילוך חוזר/הילוך אחורי.
Chargback: אנחנו מחלקים את התקציב על ידי צוות/שוק, לשלוט בתכונות ”יקרות”.
13) דוגמאות (קטעים)
Argo Worksflow: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 (אחראי):- Data Eng - Inneating/Silver/Gold, Feature Store, CDC/Backfill;
- מדע הנתונים - דוגמאות/אימונים/כיול/שערים;
- MLOPs - orkestration/reestr/serving/nablyudaymost.
- א '(אחראי): ראש הנתונים/CDO.
- C (ייעוץ): ציות/DPO (PII/RG/AML/DSAR), אבטחה (KMS/Audit), SRE (SLO/Value), פיננסים (תקציבים/ROI), מוצר.
- שיווק/מבצעים/תמיכה.
15) מימוש מפת דרכים
MVP (3-6 שבועות):1. DAG "Daily Ct': Bronze # Silver # Gold # Feature Store # Train # Eval # Registry (Staging).
2. תכונה של חנות v1 ומבחן מקוון/לא מקוון.
3. שערי איכות (PR-AUC/ECE/cost/process).
4. רישום מודל, כרטיס וארכיון שחרור תולעת.
שלב 2 (שבועות 6-12):- כיול אוטומטי/עדכון סף, קידום קנרית באמצעות SLO מקוון.
- מניע אירוע להכשיר מחדש על ידי סחף; כתיבה כפולה של v1/v2 לנדידה.
- לוחות מחוונים ומכסות הילוך אחורי; בידוד רב דיירים.
- מדיניות הוגנת על פרוסות ודיווח אוטומטי.
- תושבות רב-אזורית (EEA/UK/BR) עם מפתחות אישיים.
- התאמה אוטומטית לפי לוח זמנים ואירועים, תיעוד אוטומטי של צינורות.
16) רשימת משלוחים
[ ] Pipeline-as-Code Git; בדיקות CI (יחידה/אינטגרציה/חוזים/אבטחה).
[ ] ברונזה/כסף/זהב וחנות תכונה יציבה; ערך מאפיין ירוק.
[ ] שערים Offline עבר; כרטיס מודל מלא; ארכיון תולעת נוצר.
[ ] Canary 24 h עם SLOS ירוק; רולבק כפתור ופונקציה להרוג-מתג.
[ ] סחיפה/ECE/עלות צפויה וניטור תוויות מקוונות מופעל.
[ ] PII/תושבות/DSAR/RTBF/Legal Hold נפגשו; ביקורת חשבונות מוגדרת.
[ ] עלות בתקציב; מטמון/מכסות/תכונה ומגבלות שידור חוזר פעילים.
17) אנטי דפוסים וסיכונים
מדריך, ”ירייה אחת” צעדים מחוץ לתזמור; אין סיפור גיט.
אימונים ללא שערים וכרטיסים; קידום ”ביד”.
מאפיינים לא עקביים באינטרנט/לא מקוונים * אי התאמות במבצע.
התעלמות מסחיפה/כיול/עלות צפויה; ROC-UC ”לכל מין” בלבד.
מחסור במדיניות מגורים/PII; רישום של תעודות זהות ”גולמיות”.
הילוך אחורי/הילוך חוזר בלתי מוגבל * פיצוץ עלויות והשפעה על SLA.
18) השורה התחתונה
צינורות בינה מלאכותית הם צינור בעל ערך, לא סט של מחשבים ניידים. הגדרת שכבות מידע, חנות תכונה ו-CT/CI/CD, הוספת שערי איכות ובטיחות, הדרכה אוטומטית על ידי סחיפה, שמירה על שוויון מקוון/לא מקוון וכלכלה שקופה. זה נותן לכם נתונים מהירים, צפויים וצייתניים. מודל ”access effect cycle” שמשקף את השווקים והזמן.