
# Detekcija pristranosti sintetičkih podataka u stvarnom vremenu i otklanjanje s Formize‑om

Sintetički podaci postali su temelj za treniranje visokoučinkovitih AI modela uz zaštitu privatnosti. Ipak, sam proces koji stvara „umjetne“ zapise može nenamjerno pojačati skrivene pristranosti prisutne u izvornoj podacima ili uvedene algoritmom za generiranje. Kada sintetički podaci napajaju downstream modele, te pristranosti se mogu proširiti, ugrožavajući pravičnost, regulatornu usklađenost i reputaciju brenda.

Formize — platforma za upravljanje podacima s malo koda — nudi moćan, proširiv okvir za **detekciju pristranosti u stvarnom vremenu**, automatizirano otklanjanje i revizijsko izvještavanje. U ovom članku prolazimo kroz:

1. Zašto pristranost u sintetičkim podacima danas predstavlja problem.  
2. Osnovne pojmove: metrike pristranosti, prozori praćenja i radnje otklanjanja.  
3. Izgradnju cjevovoda za detekciju pristranosti u stvarnom vremenu uz Formize.  
4. Integraciju automatiziranih upozorenja, botova za otklanjanje i nadzornih ploča usklađenosti.  
5. Najbolje prakse za skaliranje preko multi‑modalnih generatora sintetičkih podataka.  

Na kraju ćete imati proizvodno spreman plan koji pretvara praćenje pristranosti iz periodičnog audita u kontinuiranu, samopopravljajuću sposobnost.

---

## 1. Rastući pejzaž rizika

| Rizik | Utjecaj | Regulatorna točka kontakta |
|------|--------|----------------------------|
| **Demografska pristranost** | Diskriminacijske prognoze u zapošljavanju, kreditiranju ili zdravstvenoj skrbi | EEOC, ECOA, [GDPR](https://gdpr.eu/) Art. 22 |
| **Curjenje oznaka** | Prekomjerno učenje na zaštićenim atributima | FDA AI/ML Software Guidance |
| **Drift sintetičko‑realno** | Pogoršanje performansi modela nakon implementacije | ISO/IEC 42001 (AI risk) |
| **Nedokumentirana pristranost** | Pravna izloženost i gubitak povjerenja dionika | US AI Bill of Rights, EU AI Act |

Sintetički podaci često se generiraju **u letu** za treniranje modela, validaciju ili augmentaciju podataka. Tradicionalni auditi pristranosti — koji se provode kvartalno ili nakon većeg izdanja — previše su spori da bi uhvatili brze pomake uzrokovane:

* Ažuriranim izvorim skupovima podataka (npr. nove kohorte pacijenata).  
* Promjenama u arhitekturi generativnog modela (npr. prelazak s GAN‑a na difuzijski model).  
* Povratnim petljama u stvarnom vremenu koje prilagođavaju parametre generiranja na temelju downstream performansi.

Stoga **sustav za detekciju pristranosti u stvarnom vremenu** mora:

* Kontinuirano izračunavati metrike pristranosti na svakom generiranom batchu.  
* Uspoređivati rezultate s unaprijed definiranim pragovima.  
* Trenutno pokrenuti automatizirano otklanjanje ili eskalaciju ljudima.  

Formize‑ov **event‑driven workflow engine** i **metadata lineage** mogućnosti čine ga jedinstveno prikladnim za ovaj izazov.

---

## 2. Osnovni pojmovi za praćenje pristranosti u stvarnom vremenu

### 2.1 Metrike pristranosti

Formize ne nameće jednu jedinu metriku; umjesto toga omogućuje definiranje **prilagođenih funkcija metrika** koje vraćaju numerički rezultat. Uobičajeni izbori uključuju:

* **Statistical Parity Difference (SPD)** – razlika u stopama pozitivnih ishoda između grupa.  
* **Equal Opportunity Difference (EOD)** – razlika u stopama istinitih pozitivnih rezultata.  
* **Kullback‑Leibler Divergence (KL)** – distribucijska udaljenost između sintetičkih i referentnih demografskih podataka.  
* **Fairness‑Aware Utility (FAU)** – kompromis između točnosti modela i pravičnosti.

Sve metrike trebaju biti **normalizirane** na raspon 0‑1 gdje 0 označava savršenu pravičnost.

### 2.2 Prozori praćenja

Sintetički podaci mogu se isporučivati u **mikro‑batch‑evima** (npr. 1 000 redaka svakih 5 sekundi) ili **kontinuiranim strujama**. Formize podržava dvije strategije prozora:

* **Fiksni (tumbling) prozori** – batch‑ovi fiksne veličine, nepreklapajući (npr. svakih 10 minuta).  
* **Klizni (sliding) prozori** – preklapajući prozori koji pružaju glađi uvid u trendove (npr. 30‑minutni prozor koji se pomiče svakih 5 minuta).

Odabir pravog prozora balansira latenciju otkrivanja i statističku stabilnost.

### 2.3 Radnje otklanjanja

Kad metrika premaši svoj prag, Formize može pokrenuti jednu ili više **radnji otklanjanja**:

| Radnja | Opis |
|--------|------|
| **Ponovno podešavanje parametara** | Prilagodba hiper‑parametara generatora (npr. temperature, ograničenja ravnoteže klasa). |
| **Ponovno balansiranje uzoraka** | Primjena post‑generacijskog re‑samplinga ili ponderiranja za ispravljanje sklonosti. |
| **Red za ljudsku reviziju** | Slanje problematičnih batch‑eva u UI za validaciju od strane stručnjaka. |
| **Obogaćivanje revizijskog zapisa** | Zapisivanje incidenta s potpunom linijom podrijetla za izvještavanje o usklađenosti. |

Ove radnje definirane su kao **low‑code funkcije** (JavaScript, Python ili kontejnerske usluge) koje Formize poziva putem svog webhook mehanizma.

---

## 3. Izgradnja cjevovoda za detekciju pristranosti u stvarnom vremenu

Dolje je korak‑po‑korak vodič za izgradnju cjevovoda. Dijagram prikazuje protok podataka.

```mermaid
flowchart TD
    A["Izvorni Data Lake"] --> B["Sintetički generator (LLM / GAN)"]
    B --> C["Formize Ingestion Hook"]
    C --> D["Bias Metric Engine"]
    D -->|Prolazi| E["Data Warehouse (Čisto spremište)"]
    D -->|Ne prolazi| F["Remediation Orchestrator"]
    F --> G["Parameter Tuner"]
    F --> H["Human Review UI"]
    G --> B
    H --> B
    D --> I["Compliance Dashboard"]
```

### 3.1 Korak 1 – Povežite generator s Formize‑om

1. **Kreirajte Ingestion Hook** u Formize‑u koji prima JSON batch‑e od vašeg sintetičkog generatora.  
2. Omogućite **automatsko otkrivanje sheme** kako bi Formize zabilježio tipove stupaca, oznake podrijetla i vremenske oznake generiranja.  
3. Postavite hook da **objavi događaj “batch_received”** na internom event busu.

### 3.2 Korak 2 – Definirajte funkcije metrika pristranosti

U Formize‑ovom UI‑ju, idite na **Metrics → New Metric** i zalijepite Python isječak:

```python
def statistical_parity(batch, protected_attr, outcome):
    # Izračunaj stopu pozitivnog ishoda po grupi
    groups = batch.groupby(protected_attr)[outcome].mean()
    # SPD = max - min
    spd = abs(groups.max() - groups.min())
    # Normaliziraj (pretpostavljajući maksimalnu moguću razliku = 1)
    return spd
```

Spremite metriku pod nazivom `SPD`. Ponovite za druge metrike (EOD, KL, FAU) i dodijelite **pragove** (npr. SPD < 0.1).

### 3.3 Korak 3 – Konfigurirajte prozor praćenja

Kreirajte **Window Definition**:

* **Tip:** Klizni  
* **Veličina:** 30 minuta  
* **Interval pomaka:** 5 minuta  

Priključite skup metrika na ovaj prozor. Formize će automatski agregirati rezultate metrika kroz sve batch‑e koji spadaju u svaki prozor.

### 3.4 Korak 4 – Postavite Remediation Orchestrator

1. U **Workflows → New Workflow**, odaberite okidač **“Metric Violation”**.  
2. Dodajte **Grananje A – Auto‑Tuning**: pozovite kontejnersku uslugu koja prilagođava hiper‑parametre generatora na temelju promjene metrike.  
3. Dodajte **Grananje B – Ljudska revizija**: pošaljite tiket u Formize UI s pregledom problematičnih redaka.  
4. Dodajte **Grananje C – Revizijski zapis**: zapišite detaljan unos u **Compliance Ledger** (nepromjenjiv, opcionalno sidren na blockchain).

### 3.5 Korak 5 – Izgradite nadzornu ploču usklađenosti

Formize‑ov **Dashboard Builder** omogućuje povlačenje vremenskih serija metrika, broja prekršaja i latencije otklanjanja na jedinstveni prikaz. Izvezite ploču kao **embedded iframe** za interne portale ili kao PDF za audite.

---

## 4. Automatizirano upozoravanje i odgovor na incidente

Detekcija pristranosti u stvarnom vremenu je korisna samo ako se pravovremeno obavijeste prave osobe. Formize podržava više kanala obavijesti:

| Kanal | Upotreba |
|-------|----------|
| **Slack / Microsoft Teams** | Trenutna upozorenja za tim za operacije ML‑a. |
| **PagerDuty** | Eskalacija za kritične prekršaje (npr. SPD > 0.3). |
| **Email Digest** | Dnevni sažetak za službe usklađenosti. |
| **SMS** | Upozorenja o visokorizičnim kršenjima. |

Konfigurirajte upozorenja u **Alert Policies → New Policy**. Primjer politike:

* **Uvjet:** `SPD > 0.15` ILI `EOD > 0.2`  
* **Ozbiljnost:** Kritična  
* **Primatelji:** `#ml-ops`, `compliance@example.com`  
* **Radnja:** Pokreni workflow otklanjanja + pošalji Slack poruku.

---

## 5. Skaliranje preko multi‑modalnih generatora

Mnoge tvrtke generiraju sintetičke podatke za **tabularne, slikovne, tekstualne i audio** modalitete. Formize‑ova arhitektura je modalitet‑agnostična:

1. **Jedinstveni Ingestion Hook** — prima bilo koji MIME tip; sirovi payload pohranjuje u objektni spremnik.  
2. **Obogaćivanje metapodataka** — dodaje oznake modaliteta (`modality: image`) koje downstream funkcije metrika mogu filtrirati.  
3. **Paralelni Metric Engine‑i** — raspoređuju zasebne kontejnere za slikovne metrike pravičnosti (npr. **Demografska paritetnost u facial atributima**) dok dijele isti event bus.  

Tipičan multi‑modalni cjevovod izgleda ovako:

```mermaid
flowchart LR
    subgraph Tabular
        T1["Tabular Generator"] --> T2["Formize Hook"]
    end
    subgraph Image
        I1["Diffusion Model"] --> I2["Formize Hook"]
    end
    subgraph Text
        X1["LLM"] --> X2["Formize Hook"]
    end
    T2 & I2 & X2 --> M["Unified Metric Engine"]
    M --> R["Remediation Orchestrator"]
```

**Savjet za performanse:** Deployajte metric engine kao **Kubernetes Horizontal Pod Autoscaler (HPA)** temeljen na brzini dolaska batch‑eva. Formize‑ov **Prometheus exporter** olakšava ovu konfiguraciju.

---

## 6. Revizijska linija i regulatorno izvještavanje

Formize automatski bilježi **liniju podrijetla** koja povezuje svaki sintetički zapis s:

* Verzom izvorne baze podataka.  
* Verzom generatora i njegovim hiper‑parametrima.  
* Rezultatima metrika pristranosti u trenutku generiranja.  

Izvezite liniju podrijetla kao **PROV‑JSON** ili **GraphML** za alate za reviziju. Za **[GDPR](https://gdpr.eu/)** ili **EU AI Act** usklađenost, možete generirati **Data Protection Impact Assessment (DPIA)** izravno iz Formize‑a:

```mermaid
flowchart TD
    A["Synthetic Batch"] --> B["Bias Metrics"]
    B --> C["Remediation Log"]
    C --> D["DPIA Report Generator"]
    D --> E["Regulator Submission (PDF)"]
```

DPIA uključuje:

* **Trendove pristranosti** (vremenske serije).  
* **Poduzete radnje otklanjanja** (s vremenskim oznakama).  
* **Digitalne potpise dionika** pohranjene u nepromjenjivom ledgeru.

---

## 7. Najbolje prakse & kontrolna lista

| ✅ | Preporuka |
|----|-----------|
| **Verzija metrika u Git‑u** | Pohranite definicije metrika u Git; koristite Formize‑ov **Config Sync** za usklađivanje produkcije. |
| **Upravljanje pragovima** | Pregledajte pragove godišnje s pravnim i etičkim timovima; odobrenja pohranite u Formize‑ov **Policy Store**. |
| **Sloj objašnjivosti** | Spojite pristranost s SHAP ili LIME objašnjenjima za sintetičke uzorke koji su aktivirali upozorenja. |
| **Minimizacija podataka** | Zadržite samo minimalni podskup sintetičkih redaka potrebnih za reviziju; ostatak obrišite nakon 30 dana. |
| **Kontinuirano učenje** | Povratne informacije o otklanjanju vraćajte u trening generatora kako biste smanjili buduću pristranost. |
| **Vlasništvo preko timova** | Dodijelite **Bias Owner‑a** (obično data ethicist) koji prima sva kritična upozorenja. |
| **Testiranje u stagingu** | Pokrenite cijeli cjevovod u sandbox okruženju s sintetičkim izvorom prije produkcijskog puštanja. |

---

## 8. Primjer iz prakse (ilustrativno)

*Tvrtka X*, multinacionalna health‑tech firma, integrirala je Formize u svoj cjevovod za sintetičke pacijentske zapise. U prvom mjesecu:

* **Latencija detekcije pristranosti** smanjena je s 48 sati (ručni audit) na **manje od 2 minute**.  
* **Uspješnost otklanjanja** porasla je na **92 %** (automatsko podešavanje ispravilo većinu prekršaja).  
* **Vrijeme za regulatorni audit** skraćeno je za **70 %**, zahvaljujući automatski generiranim DPIA izvještajima.  

Ključni faktori uspjeha bili su Formize‑ov **event‑driven workflow**, **biblioteka low‑code metrika** i **nepromjenjivi audit trail**.

---

## 9. Brzi početak – Starter Kit

1. **Registrirajte se** za Formize probnu verziju (besplatan tier uključuje 5 k događaja/dan).  
2. **Deployajte** uzorak generatora sintetičkih podataka iz Formize‑ovog GitHub predloška.  
3. **Uvezite** `bias-metrics.yaml` paket (sadrži SPD, EOD, KL funkcije).  
4. **Kreirajte** klizni prozor od 15 minuta i postavite pragove.  
5. **Omogućite** Slack upozorenja i testirajte slanjem pristranog batcha.  

Upozorenje, otklanjanje i audit zapis pojavit će se na nadzornoj ploči, a workflow otklanjanja aktivirati će se u sekundi.

---

## 10. Budući smjerovi

* **Federativno praćenje pristranosti** — proširite cjevovod preko više data‑silosa koristeći Formize‑ov federativni način rada, čuvajući privatnost dok agregirate signale pristranosti.  
* **LLM‑generirane metrike** — koristite specijalizirani LLM za automatsko generiranje novih metrika pravičnosti na temelju novih regulativa.  
* **Objašnjivi sintetički auditi** — spojite Formize s alatima za objašnjivost generativnih modela kako biste otkrili *zašto* je određeni sintetički uzorak označen kao problematičan.  

Kako ekosustavi sintetičkih podataka sazrijevaju, kontinuirana detekcija pristranosti postat će **regulatorni preduvjet**. Formize‑ova fleksibilna, low‑code platforma pozicionira ga kao temelj za tu transformaciju.

---

## Pogledajte i

- EU AI Act – Poglavlje o transparentnosti i pravičnosti (Europska komisija)  
- Google AI Blog: Evaluating Fairness in Synthetic Data  
- Formize Dokumentacija: Real‑Time Monitoring & Alerts (interni referent)