خطوط لوله AI و اتوماسیون آموزشی
1) اهداف و اصول
هدف: قابل اعتماد است و تکثیر به نوبه خود داده → ویژگی → مدل → تصمیم گیری → بازخورد, با حداقل زمان به ارزش و کنترل ریسک/هزینه.
اصول:- خط لوله به عنوان کد: همه چیز (DAG، پیکربندی، آزمایش، سیاستمداران) - در Git، از طریق PR و بررسی.
- جبرگرایی: نسخه های ثابت داده ها/کد/ظروف/وابستگی ها.
- جدا کردن نگرانی ها: DataOps، FeatureOps، TrainOps، DeployOps، MonitorOps.
- اتوماسیون محافظ: ما خودکار، اما با «دروازه» کیفیت، ایمنی و انطباق.
- حریم خصوصی توسط طراحی: به حداقل رساندن PII، اقامت، حسابرسی.
2) لایه های نوار نقاله و معماری
1. مصرف و برنز: دریافت قابل اعتماد از حوادث/دسته (CDC، لاستیک، retrays، DLQ).
2. نقره (عادی سازی/غنی سازی): SCD، ارزها/زمان، پاکسازی، dedup.
3. طلا (storefronts): جداول موضوع و مجموعه داده ها برای آموزش/گزارش.
4. فروشگاه ویژگی: فرمول یکنواخت برای ویژگی های آنلاین/آفلاین، نسخه ها و SLO.
5. آموزش و اعتبار: آماده سازی نمونه، آموزش، کالیبراسیون، ارزیابی/بررسی دروازه.
6. رجیستری و ارتقاء: ثبت نام از مدل ها، کارت های با کیفیت، سیاست ارتقاء.
7. خدمت: REST/gRPC/Batch، انبارهای ویژگی، پرچم های ویژگی، قناری/سایه.
8. مانیتور و بازخورد: SLI/SLO، رانش/کالیبراسیون، برچسب های آنلاین، بازآموزی خودکار.
3) ارکستراسیون: الگوهای DAG
CT روزانه (D + 1): چرخه داده شبانه → ویژگی ها → آموزش → اعتبار سنجی → نامزد رجیستری.
رویداد رانده Retrain: ماشه برای PSI/ECE/انتظار می رود هزینه رانش و یا انتشار مدار.
نورد ویندوز: بازآموزی هفتگی/ماهانه با «پنجره کشویی» داده ها.
مصنوعات آبی/سبز: تمام مصنوعات تغییر ناپذیر (هش)، نسخه های موازی هستند.
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) مجموعه داده ها و نمونه ها
نقطه در زمان پیوستن و «هیچ آینده» برای ویژگی/برچسب.
طبقه بندی شده توسط بازارها/مستاجران/زمان، نگهداری و «شکاف» برای نشت.
نسخه بندی: 'data _ version', 'logic _ version', 'asof _ date'; عکسهای فوری WORM.
5) ویژگی فروشگاه و معادل آنلاین/آفلاین
مشخصات یکپارچه از ویژگی های (نام، فرمول، مالک، SLO، آزمون).
آنلاین = آفلاین: کد تبدیل مشترک ؛ آزمون همارزی (MAE/MAPE)
TTL و کش: ویندوز 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 چرخه: آماده سازی → آموزش → کالیبراسیون → ارزیابی → ثبت نام از نامزد.
گیتس (مثال):- آفلاین: معیار PR-AUC ≥ − δ ؛ ECE ≤ 0 05; ≤ محدودیت هزینه مورد انتظار
- Slice/Fairness: کاهش معیارها در هر برش ≤ 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 (کد/تست): واحد/ادغام/تست قرارداد، linters، اسکن امنیتی.
CD (خدمت): پرچم های Docker/K8s/Helm/feature، قناری/سایه/آبی سبز.
CT (داده/آموزش): برنامه/ارکستر رویداد ؛ مصنوعات → رجیستری.
گیتس ارتقاء: انتشار خودکار در تولید با SLO آنلاین سبز (در ساعت قناری ≥ X).
9) چند اجاره و اقامت
مستاجران/مناطق: خطوط لوله جدا شده و کلیدهای رمزگذاری (EEA/UK/BR) ؛ منع پيوستگي بين منطقه اي بدون دليل.
اسرار: KMS/CMK، مدیر مخفی ؛ شناسه های نشانه گذاری شده در سیاهههای مربوط.
سیاست های DSAR/RTBF: پیش بینی های قابل محاسبه و ویرایش های انتخابی در ویژگی ها و سیاهههای مربوط ؛ برگزاری حقوقی برای پرونده ها.
10) مانیتورینگ → بازخورد → بازآموزی
SLI/SLO: تاخیر p95/p99، 5xx، پوشش، هزینه/درخواست ؛ رانندگی PSI/KL، ECE، هزینه مورد انتظار.
برچسب های آنلاین: پروکسی (ساعت/روز) و تاخیر (D + 7/D + 30/D + 90).
اقدامات خودکار: به روز رسانی مجدد/آستانه → retrain سایه → canary → ارتقاء
Runbooks: سناریوهای تخریب (رانش، کالیبراسیون، حافظه پنهان، ارائه دهندگان).
11) امنیت، RG/AML و سیاست راه حل
Guardrails: قبل/بعد از فیلتر، فرکانس کلاه، cooldown، لیست ممنوعیت.
سیاست محافظ - مدل → راه حل → سیاست فیلتر → اقدام.
حسابرسی: «model _ id/version»، «feature _ version»، «آستانه»، «policy _ id»، دلایل.
بایگانی WORM: انتشارات، گزارش های کیفیت، سیاهههای مربوط به تست/ارتقاء.
12) هزینه و عملکرد
پروفایل مسیر: ویژگی ها (30-60٪)، استنتاج (20-40٪)، IO/شبکه.
داشبورد هزینه: هزینه/درخواست، هزینه/ویژگی، GPU/CPU ساعت، فایل های کوچک.
بهینه سازی: تحقق ویژگی های آفلاین سنگین، کش پنجره داغ، INT8/FP16، پخش سهمیه/backfill.
Chargeback: ما بودجه را با تیم/بازار توزیع می کنیم، ویژگی های گران قیمت را کنترل می کنیم.
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 (مسئول):- مهندسی داده - مصرف/نقره/طلا، فروشگاه ویژگی، CDC/Backfill ؛
- علم داده - نمونه/آموزش/کالیبراسیون/دروازه ؛
- MLOps - orkestration/reestr/serving/nablyudayemost.
- A (پاسخگو): رئیس داده/CDO.
- C (مشورت): انطباق/DPO (PII/RG/AML/DSAR)، امنیت (KMS/حسابرسی)، SRE (SLO/ارزش)، امور مالی (بودجه/ROI)، محصول.
- I (مطلع): بازاریابی/عملیات/پشتیبانی.
15) نقشه راه پیاده سازی
MVP (3-6 هفته):1. DAG «CT روزانه»: برنز → نقره → طلا → فروشگاه ویژگی → قطار → Eval → رجیستری (مرحله بندی).
2. ویژگی فروشگاه v1 و آزمون معادل آنلاین/آفلاین.
3. دروازه های کیفیت (PR-AUC/ECE/انتظار می رود هزینه/تکه).
4. ثبت نام مدل، کارت و آرشیو انتشار WORM.
مرحله 2 (6-12 هفته):- به روز رسانی خودکار کالیبراسیون/آستانه، ارتقاء قناری از طریق SLO آنلاین.
- بازآموزی رویداد رانده شده توسط رانش ؛ نوشتن دوگانه v1/v2 برای مهاجرت.
- داشبورد هزینه و سهمیه های backfill/replay ؛ جداسازی چند مستاجر.
- سیاست های انصاف در برش ها و گزارش خودکار.
- اقامت چند منطقه ای (EEA/UK/BR) با کلید های فردی.
- خودکار بازآموزی توسط برنامه و حوادث، مستندات autogen از خطوط لوله.
16) چک لیست تحویل
- خط لوله به عنوان کد в Git ؛ تست های CI (واحد/ادغام/قراردادها/امنیت).
- برنز/نقره/طلا و فروشگاه ویژگی پایدار هستند ؛ معادله سبز را نشان می دهد.
- دروازه های آفلاین گذشت ؛ کارت مدل پر است ؛ آرشیو WORM ایجاد شده است.
- ≥ قناری 24 ساعت با SLO سبز ؛ دکمه برگشت و عملکرد سوئیچ کشتن.
- رانش/ECE/هزینه مورد انتظار و نظارت بر برچسب آنلاین فعال است.
- PII/اقامت/DSAR/RTBF/حقوقی نگه ملاقات کرد ؛ حسابرسی پیکربندی شده است.
- هزینه در بودجه ؛ کش/سهمیه/ویژگی و محدودیت پخش فعال هستند.
17) ضد الگوهای و خطرات
آموزش بدون دروازه و کارت ؛ ارتقاء «با دست»
مراحل دستی، «یک شات» در خارج از ارکستر ؛ بدون داستان Git.
ویژگی های ناسازگار آنلاین/آفلاین → اختلاف در فروش.
نادیده گرفتن رانش/کالیبراسیون/هزینه مورد انتظار ؛ ROC-AUC «در هر گونه» تنها.
عدم وجود سیاست های اقامت/PII ؛ ورود به سیستم «خام» شناسه.
پر کردن/تکرار نامحدود → انفجار هزینه و تاثیر بر SLA.
18) خط پایین
خطوط لوله AI یک خط لوله ارزش هستند، نه مجموعه ای از لپ تاپ ها. لایه های داده را رسمی کنید، فروشگاه ویژگی و CT/CI/CD، دروازه های کیفیت و ایمنی را اضافه کنید، با استفاده از رانش مجدد اتوماتیک، هم ارزی آنلاین/آفلاین و یک اقتصاد شفاف را حفظ کنید. این به شما می دهد داده های سریع، قابل پیش بینی و سازگار → مدل → چرخه اثر که مقیاس در سراسر بازار و زمان.