
# Umělá inteligence napájená syntetickými daty pro automatizaci bezpečnostních dotazníků

*V éře generativní AI je největší překážkou pro škálování automatizace dotazníků **data** – ne výpočetní výkon. Skutečné bezpečnostní politiky jsou chráněny, bohatě formátovány a málokdy označeny pro strojové učení. Syntetická data nabízejí zachovávající soukromí zkratku, která umožňuje organizacím trénovat, validovat a neustále zlepšovat LLM, jež dokáží na požádání vytvářet přesné, auditovatelné odpovědi.*

---

## Proč jsou syntetická data chybějícím článkem

| Výzva | Tradiční přístup | Syntetická alternativa |
|-----------|----------------------|-----------------------|
| **Nedostatek dat** – málo veřejně dostupných datasetů bezpečnostních dotazníků | Ruční sběr, těžká redakce, právní revize | Programové generování milionů realistických párů otázek‑odpovědí |
| **Riziko soukromí** – reálný text politik obsahuje tajemství | Složité anonymizační pipeline | Žádná reálná data nejsou odhalena; syntetický text napodobuje styl a strukturu |
| **Posun domény** – předpisy se vyvíjejí rychleji než aktualizace modelu | Periodický retrénink na čerstvých manuálních datech | Kontinuální syntetické obnovení sladěné s novými standardy |
| **Zkreslení hodnocení** – testovací sady odrážejí zaujatost tréninkových dat | Přehnaně optimistické metriky | Řízené syntetické testovací sady pokrývající okrajové případy |

Odstraněním nutnosti vkládat surové politiky do tréninkové smyčky nejen respektují syntetická data důvěrnost, ale také poskytují týmům pro shodu plnou kontrolu nad *co* a *jak* se model chová.

---

## Základní koncepty syntetických dat pro dotazníky

### 1. Generování na základě promptů

LLM lze instruovat, aby **působil jako autor politik** a vytvořil návrhy odpovědí pro daný šablonový dotaz. Příklad promptu:

```
Jste úředník pro shodu v SaaS platformě. Napište stručnou odpověď (≤150 slov) na následující kontrolu ISO 27001:
„Popište, jak jsou šifrovací klíče chráněny v klidu a při přenosu.“
```

Spuštěním tohoto promptu napříč katalogem kontrol získáme **surový syntetický korpus**.

### 2. Řízená slovní zásoba a zarovnání ontologie

Aby byl generovaný text konzistentní, vpravujeme **security ontologii** (např. [NIST CSF](https://www.nist.gov/cyberframework), [ISO 27001](https://www.iso.org/standard/27001), [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)) definující:

- **Typy entit**: `Encryption`, `AccessControl`, `IncidentResponse`
- **Atributy**: `algorithm`, `keyRotationPeriod`, `auditLogRetention`
- **Vztahy**: `protects`, `monitoredBy`

Ontologie vede LLM pomocí **strukturálních promptů** a **post‑processingu**, který nahradí volné popisy tokeny vázanými na ontologii, což umožňuje následnou validaci.

### 3. Vkládání šumu a modelování okrajových případů

Odpovědi na shodu nejsou nikdy dokonalé. Syntetické pipeline úmyslně přidávají:

- **Menší faktické nepřesnosti** (např. mírně starší interval rotace klíčů) pro výuku modelu detekci chyb.
- **Nejednoznačná formulace** pro zlepšení schopnosti modelu požádat o upřesnění.
- **Jazykové varianty** (britská vs. americká angličtina, formální vs. neformální) pro připravenost na multijazyčné nasazení.

---

## End‑to‑End pipeline syntetických dat

Níže je **Mermaid** diagram, který zachycuje celý proces, od ingestu katalogu kontrol až po nasazení modelu v Procurize.

```mermaid
flowchart TD
    A["Control Catalog (ISO, SOC, NIST)"] --> B["Prompt Template Library"]
    B --> C["LLM Synthetic Generator"]
    C --> D["Raw Synthetic Answers"]
    D --> E["Ontology Mapper"]
    E --> F["Structured Synthetic Records"]
    F --> G["Noise & Edge‑Case Engine"]
    G --> H["Final Synthetic Dataset"]
    H --> I["Train / Fine‑Tune LLM"]
    I --> J["Evaluation Suite (Synthetic + Real QA)"]
    J --> K["Model Registry"]
    K --> L["Deploy to Procurize AI Engine"]
    L --> M["Live Questionnaire Automation"]
```

### Procházení pipeline

1. **Control Catalog** – Stažení nejnovějšího seznamu položek dotazníků z repozitářů standardů.  
2. **Prompt Template Library** – Uložení opakovaně použitelných vzorů promptů podle kategorie kontrol.  
3. **LLM Synthetic Generator** – Použití základního LLM (např. GPT‑4o) k vytvoření surových návrhů odpovědí.  
4. **Ontology Mapper** – Zarovnání volného textu s bezpečnostní ontologií, převod klíčových frází na kanonické tokeny.  
5. **Noise & Edge‑Case Engine** – Aplikace řízených perturbací.  
6. **Final Synthetic Dataset** – Uložení do version‑controlled datového jezera (např. Snowflake + Delta Lake).  
7. **Train / Fine‑Tune LLM** – Instruction‑tuning pomocí LoRA nebo QLoRA pro udržení nízkých nákladů na výpočet.  
8. **Evaluation Suite** – Kombinace syntetických testovacích případů s malou, kurátovanou reálnou QA sadou pro robustní kontrolu.  
9. **Model Registry** – Registrace verze modelu s metadaty (hash tréninkových dat, verze předpisu).  
10. **Deploy to Procurize AI Engine** – Servírování přes API, které se integruje s dashboardem dotazníků.  
11. **Live Automation** – Týmy získávají AI‑drafty odpovědí, mohou je revidovat, upravit a schválit v reálném čase.

---

## Technické podrobnosti: Fine‑Tuning s LoRA

**Low‑Rank Adaptation (LoRA)** dramaticky snižuje paměťovou stopu a zachovává výkon modelu:

```python
import torch
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "gpt-4o-mini"
base_model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)

lora_cfg = LoraConfig(
    r=16,                # rank
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM"
)

lora_model = get_peft_model(base_model, lora_cfg)

# Připravíme syntetický dataset
train_dataset = SyntheticDataset(tokenizer, synthetic_path="s3://synthetic/qna/train.json")
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=8, shuffle=True)

optimizer = torch.optim.AdamW(lora_model.parameters(), lr=2e-4)

for epoch in range(3):
    for batch in train_loader:
        outputs = lora_model(**batch)
        loss = outputs.loss
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()
    print(f"Epoch {epoch} loss: {loss.item():.4f}")
```

LoRA umožňuje rychlé iterace – nové syntetické dávky mohou být generovány týdně a vloženy bez nutnosti kompletního retréninku modelu.

---

## Integrace s Procurize: od modelu k UI

1. **Registrace koncového bodu modelu** – Uložení LoRA‑doladěného modelu do zabezpečené inferenční služby (např. SageMaker, Vertex AI).  
2. **API Bridge** – Backend Procurize volá `POST /v1/generate-answer` s payloadem:

```json
{
  "question_id": "SOC2-CC8.1",
  "context": "latest policy version hash",
  "metadata": {
    "requester": "security-team",
    "priority": "high"
  }
}
```

3. **Vrstva reálného časového revize** – Návrh se objeví v UI dotazníku jako **editovatelný rich‑text**, **zvýrazněné ontologické tokeny** a **skóre důvěry** (0–100).  
4. **Auditní stopa** – Každá AI‑vygenerovaná odpověď se ukládá s původem syntetických dat, verzí modelu a akcemi recenzenta, čímž splňuje požadavky na regulatorní důkazy.

---

## Kvantifikované přínosy

| Metrika | Před syntetickým AI | Po syntetickém AI |
|--------|----------------------|-------------------|
| **Průměrná doba odpovědi** | 3,2 dne | 5,4 hodiny |
| **Úsilí lidské editace** | 45 % délky odpovědi | 12 % délky odpovědi |
| **Počet zjištění při auditu shody** | 8 menších nesrovnalostí na audit | 1 menší nesrovnalost na audit |
| **Doba nasazení nových standardů** | 6 týdnů (ruční mapování) | 2 týdny (syntetické obnovení) |

Reálný případová studie ve **Acme Cloud** ukázala **71 % zkrácení cyklu dotazníku** po nasazení LLM trénovaného na syntetických datech a integrováného do Procurize.

---

## Nejlepší postupy a časté úskalí

1. **Validace mapování ontologie** – Automatizujte kontrolu, že každá vygenerovaná odpověď obsahuje požadované tokeny (např. `encryptionAlgorithm`, `keyRotationPeriod`).  
2. **Lidský v smyčce (HITL)** – Zachovejte povinný krok revize pro vysoce rizikové kontroly (např. oznámení o úniku dat).  
3. **Version‑Control syntetických dat** – Uchovávejte skripty generování, seed‑promptu a náhodná semena; to umožní reprodukovatelnost a audit původu tréninkových dat.  
4. **Monitorování driftu** – Sledujte změny ve distribuci skóre důvěry; náhlé posuny mohou indikovat zastaralé promptu nebo aktualizace regulací.  
5. **Zabránit přeučení** – Periodicky doplňujte malou sadu reálných, anonymizovaných odpovědí, aby model zůstával zakotvený v realitě.

---

## Budoucí směřování

- **Přenos mezi obory:** Využít syntetické datasety ze SaaS, FinTech a zdravotnictví k vytvoření *univerzálního compliance LLM*, který lze doladit pro specifické domény pomocí několika stovek příkladů.  
- **Federované trénování zachovávající soukromí:** Kombinovat syntetická data s šifrovanými federovanými aktualizacemi od více nájemců, čímž se umožní sdílený model bez odhalení jakýchkoli surových politik.  
- **Vysvětlitelné řetězce důkazů:** Spojit syntetickou generaci s motorem kauzálních grafů, který automaticky propojí fragmenty odpovědí se zdrojovými sekcemi politik, čímž poskytne auditorům strojově ověřenou mapu důkazů.

---

## Závěr

Syntetická data jsou víc než chytrý trik; jsou **strategickým umožňovatelem**, který přináší AI‑řízenou automatizaci dotazníků do světa, kde je shoda na prvním místě. Vytvářením realistických, na ontologii zarovnaných korpusů odpovědí mohou organizace trénovat výkonné LLM bez rizika úniku důvěrných politik, urychlit dobu reakce a udržet přísnou auditní stopu – vše při držení tempa neustále se měnících regulatorních standardů. Ve spojení s platformou, jako je Procurize, transformuje syntetickými daty napájená AI dříve manuální úzké místo v kontinuální, samo‑optimalizující se engine pro shodu.

---

## <span class='highlight-content'>Viz</span> také

- [NIST Special Publication 800‑53 Revision 5 – Security and Privacy Controls for Federal Information Systems](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- OpenAI Cookbook: Fine‑tuning LLMs with LoRA  
- [ISO/IEC 27001:2022 – Information Security Management Systems Requirements](https://www.iso.org/standard/82875.html)  
- Google Cloud AI‑Ready Synthetic Data Documentation