GH GambleHub

Rurociągi AI i automatyka treningowa

1) Cel i zasady

Cel: jest wiarygodny i powielany, aby włączyć dane → funkcje → modele → decyzje → opinie, z minimalnym czasem do wartości i kontroli ryzyka/kosztów.

Zasady:
  • Pipeline-as-Code: wszystko (DAG, konfiguracje, testy, politycy) - w Git, poprzez PR i przegląd.
  • Determinizm: stałe wersje danych/kodu/kontenerów/zależności.
  • Rozdzielenie obaw: Funkcje operacyjne, Operacje, TrainOps, Programy wdrożeniowe, MonitOps.
  • Automatyzacja strzeżona: automatyzujemy, ale za pomocą "bram' jakości, bezpieczeństwa i zgodności.
  • Prywatność przez Design: minimalizacja PII, pobyt, audyt.

2) Warstwy przenośnika i architektura

1. Ingest & Bronze: niezawodny odbiór zdarzeń/partii (CDC, opony, przekładki, DLQ).
2. Srebro (normalizacja/wzbogacanie): SCD, waluty/czas, rozliczenie, dedup.
3. Złoto (sklepy): tabele tematyczne i zbiory danych na potrzeby szkolenia/sprawozdawczości.
4. Sklep funkcyjny: jednolite formuły funkcji online/offline, wersje i SLO.
5. Pociąg i walidacja: przygotowanie próbek, szkolenie, kalibracja, bramki ewaluacyjne/kontrolne.
6. Rejestracja i promocja: rejestr modeli, karty jakości, polityka promocji.
7. Obsługa: REST/gRPC/Batch, bufory funkcyjne, flagi funkcyjne, kanaryjski/cień.
8. Monitor i informacje zwrotne: SLI/SLO, dryf/kalibracja, etykiety online, auto-retrain.


3) Orkiestra: wzory DAG

Codzienny CT (D + 1): nocny cykl danych → funkcje → szkolenie → walidacja → kandydat do rejestru.
Event-Driven Retrain: wyzwalacz dla PSI/ECE/oczekiwany koszt dryfu lub zwolnienia obwodu.
Rolling Windows: tygodniowe/miesięczne przekwalifikowanie z „oknem przesuwnym” danych.
Niebieskie/zielone artefakty: wszystkie artefakty są niezmienne (hash), równoległe wersje.
Dual-write v1/v2: schemat/funkcja migracji poprzez podwójne pisanie i porównanie równoważności.

Przykład przepływu powietrza (miniaturka):
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) Zbiory danych i próbki

Dołączyć punkt w czasie i „nie ma przyszłości” dla funkcji/etykiet.
Stratyfikowany przez rynki/najemców/czas, holdout i „luka” dla przecieków.
Wersioning: 'data _ version', 'logic _ version', 'asof _ date'; Migawki WORM.


5) Funkcja Sklep i równoważność online/offline

Ujednolicona specyfikacja funkcji (nazwa, formuła, właściciel, SLO, testy).
Online = offline: wspólny kod transformacji; badanie równoważności (MAE/MAPE).

TTL i pamięć podręczna: okna 10m/1h/1d; czasowe/rekolekcje; 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) Automatyka treningowa (CT) i bramy jakości

Cykl CT: przygotowanie → szkolenie → kalibracja → ocena → rejestracja kandydata.

Bramy (przykład):
  • Off-line: Wartość odniesienia PR-AUC ≥ − α; EKG ≤ 0. 05; limit kosztów oczekiwanych ≤.
  • Kawałek/sprawiedliwość: kropla mierników w dowolnym plasterku ≤ Y%; różny wpływ jest normalny.
  • Funkcja równoważności: ok.
  • Koszt: czas/zasoby ≤ budżet.
Bramy Konfig (YAML):
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) Wzór rejestru i promocji

Karta modelowa: dane, okna, funkcje, mierniki off/online, kalibracja, ryzyko, właściciel.
Etapy: „Staging → Produkcja → Archiwalna”; awans tylko przez sprawdzone bramki.
Polityka rollback: zachować ≥ N najnowszych wersji produkcji; jedno kliknięcie wsteczne.


8) CI/CD/CT: jak podłączyć

CI (kod/testy): testy jednostkowe/integracyjne/kontraktowe, lintery, skany bezpieczeństwa.
CD (porcja): Docker/K8s/Helm/feature flagi, kanarka/cień/niebiesko-zielony.
TK (dane/szkolenia): rozkład jazdy/orkiestra imprez; artefakty → rejestr.
Bramy promocyjne: auto-release w produkcji z zielonym SLO online (na kanarka ≥ X godzin).


9) Wielozatrudnienie i rezydencja

Najemcy/regiony: izolowane rurociągi i klucze szyfrujące (EOG/UK/BR); zakazanie przyłączeń międzyregionalnych bez powodu.
Tajemnice: KMS/CMK, Secret Manager; tokenizowane identyfikatory w dziennikach.
Zasady DSAR/RTBF: obliczeniowe projekcje i selektywne edycje w funkcjach i dziennikach; Legalne wstrzymanie spraw.


10) Monitorowanie → informacje zwrotne → przekwalifikowanie

SLI/SLO: latency p95/p99, 5xx, pokrycie, koszt/żądanie; drift PSI/KL, ECE, oczekiwany koszt.
Etykiety online: proxy (godzina/dzień) i opóźnione (D + 7/D + 30/D + 90).
Automatyczne działania: aktualizacja rekalibracji/progu → przekwalifikowanie cienia → kanarka → promocja.
Runbooks: scenariusze degradacji (dryf, kalibracja, pamięć podręczna, dostawcy).


11) Polityka bezpieczeństwa, RG/AML i rozwiązań

Poręcze: pre/post-filtr, czapki częstotliwości, cooldown, listy zakazów.
Ekran polityki - Model → Rozwiązanie → Filtr polityki → Działanie.
Audyt: 'model _ id/version', 'feature _ version', 'threshold', 'policy _ id', powody.
Archiwum WORM: wydania, raporty jakości, dzienniki testów/promocji.


12) Koszt i wydajność

Profilowanie ścieżek: funkcje (30-60%), wnioskowanie (20-40%), IO/sieć.
Deski rozdzielcze: koszt/żądanie, koszt/funkcja, GPU/CPU-zegar, małe pliki.
Optymalizacja: materializacja ciężkich funkcji offline, pamięci podręcznej, INT8/FP16, powtórki/zasypki.
Obciążenie zwrotne: rozprowadzamy budżet według zespołu/rynku, kontrolujemy „drogie” funkcje.


13) Przykłady (fragmenty)

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}}"]}
Skrypt bramy (pseudokoda):
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)
Polityka promocji (pomysł):
yaml promotion:
require:
- offline_gates_passed
- canary_online_hours >= 24
- slo_green: [latency_p95, error_rate, coverage]
- drift_warn_rate <= 5%

14) Procesy i RACI

R (odpowiedzialny):
  • Data Eng - Ingest/Silver/Gold, Sklep funkcyjny, CDC/Backfill;
  • Data Science - próbki/szkolenia/kalibracja/bramy;
  • MLOps - orkiestra/reestr/serving/nablyudayemost.
  • A (Odpowiedzialność): szef danych/CDO.
  • C (skonsultowano się): Zgodność/DPO (PII/RG/AML/DSAR), Bezpieczeństwo (KMS/Audit), SRE (SLO/Value), Finance (Budgets/ROI), Produkt.
  • I (Poinformowany): Marketing/Operacje/Wsparcie.

15) Plan działania w zakresie wdrażania

MVP (3-6 tygodni):

1. DAG „codzienna TK”: Brąz → Srebro → Złoto → Sklep Funkcyjny → Pociąg → Eval → Rejestracja (Posting).

2. Funkcja Sklep v1 i test równoważności online/offline.

3. Bramy jakości (PR-AUC/ECE/oczekiwany koszt/kawałek).

4. Rejestr modelu, karta i archiwum wydania WORM.

Faza 2 (6-12 tygodni):
  • Automatyczna rekalibracja/aktualizacja progów, promocja kanaryjska za pośrednictwem SLO online.
  • Przekrój napędzany zdarzeniami przez dryfowanie; dual-write v1/v2 dla migracji.
  • tablice rozdzielcze i kwoty zasypki/powtórki; izolacja wielu najemców.
Faza 3 (12-20 tygodni):
  • Zasady uczciwości dotyczące plasterków i automatycznego raportowania.
  • Wieloregionalna rezydencja (EOG/UK/BR) z indywidualnymi kluczami.
  • Automatyczne przekwalifikowanie według harmonogramu i zdarzeń, dokumentacja autogenu rurociągów.

16) Lista kontrolna dostawy

  • Rurociąg-as-Code - Git; testy CI (jednostka/integracja/umowy/bezpieczeństwo).
  • Brąz/srebro/złoto i sklep funkcyjny są stabilne; funkcja równoważności zielony.
  • Minęły bramy offline; karta modelowa jest pełna; Stworzone archiwum WORM.
  • Kanaryjskie ≥ 24 h z zielonymi SLO; przycisk Rollback i funkcja kill-switch.
  • Umożliwia się monitorowanie dryfu/EKG/oczekiwanych kosztów i etykiet online.
  • PII/rezydencja/DSAR/RTBF/Legal Hold Met; skonfigurowany audyt.
  • Koszt w budżecie; cache/quota/feature i limity powtórzeń są aktywne.

17) Przeciwdziałanie modelom i ryzyku

Ręczne, „jednorazowe” kroki poza orkiestrą; Nie ma historii Gita.
Szkolenia bez bram i kart; promocja „ręcznie”.
Niespójne funkcje online/offline → rozbieżności w sprzedaży.
Ignorowanie dryfu/kalibracji/oczekiwanego kosztu; ROC-AUC tylko dla każdego gatunku.
Brak polityki w zakresie rezydencji/PII; rejestrowanie „surowych” identyfikatorów.
Nieograniczone zasypki/powtórki → eksplozja kosztów i wpływ na SLA.


18) Najważniejsze

Rurociągi AI to rurociąg o wartości, a nie zestaw laptopów. Formalizuj warstwy danych, Funkcja Store i CT/CI/CD, dodaj bramki jakości i bezpieczeństwa, zautomatyzuj przekwalifikowanie dryfem, zachowaj równoważność online/offline i przejrzystą gospodarkę. Daje to szybki, przewidywalny i zgodny z danymi → model → cykl efektów, który skaluje się na rynkach i czasie.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.