
# Doladění velkých jazykových modelů pro automatizaci bezpečnostních dotazníků specifických pro odvětví

Bezpečnostní dotazníky jsou strážci každého partnerství SaaS. Ať už fintechová společnost usiluje o certifikaci [ISO 27001](https://www.iso.org/standard/27001) či health‑tech startup musí prokázat shodu s [HIPAA](https://www.hhs.gov/hipaa/index.html), základní otázky jsou často opakující se, silně regulované a časově náročné na odpověď. Tradiční metody „kopíruj‑a‑vložit“ zavádějí lidské chyby, prodlužují dobu zpracování a ztěžují udržení auditovatelného záznamu změn.

Do hry vstupují **doladěné velké jazykové modely (LLM)**. Trénováním základního LLM na historických odpovědích organizace, průmyslových standardech a interních politikách mohou týmy během několika sekund generovat *na míru šité*, *přesné* a *audit‑připravené* odpovědi. Tento článek podrobně popisuje, proč, co a jak vybudovat pipeline pro doladěný LLM, který se sladí s jednotným compliance hubem Procurize, a to při zachování bezpečnosti, vysvětlitelnosti a správy.

---

## Obsah
1. [Proč doladění převyšuje obecné LLM](#why-fine-tuning-beats-generic-llms)  
2. [Datové základy: tvorba vysoce kvalitního tréninkového korpusu](#data-foundations)  
3. [Workflow doladění – od surových dokumentů k nasaditelnému modelu](#pipeline)  
4. [Integrace modelu do Procurize](#integration)  
5. [Zajištění správy, vysvětlitelnosti a auditu](#governance)  
6. [Reálná ROI: metriky, na kterých záleží](#roi)  
7. [Budoucí odolnost pomocí smyček kontinuálního učení](#future)  
8. [Závěr](#conclusion)  

---

<a name="why-fine-tuning-beats-generic-llms"></a>
## 1. Proč doladění převyšuje obecné LLM

| Aspekt | Obecný LLM (zero‑shot) | Doladěný LLM (specifický pro odvětví) |
|--------|------------------------|--------------------------------------|
| **Přesnost odpovědí** | 70‑85 % (závisí na promptu) | 93‑99 % (trénováno na přesném znění politik) |
| **Konzistence odpovědí** | Proměnlivá mezi spuštěními | Deterministická pro danou verzi |
| **Slovník shody** | Omezený, může chybět právní formulace | Zakomponovaná terminologie specifická pro odvětví |
| **Audit‑trail** | Obtížné mapovat zpět na zdrojové dokumenty | Přímá sledovatelnost na tréninkové úryvky |
| **Náklady na inference** | Vyšší (větší model, více tokenů) | Nižší (menší doladěný model) |

Doladění umožňuje modelu **internalizovat přesný jazyk firemních politik, kontrolních rámců a minulých auditních odpovědí**. Místo spolehání se na obecný chat‑styl reasoning engine se model stává *znalostně‑obohaceným* odpovídačem, který zná:

* Které klauzule ISO 27001 odpovídají konkrétnímu položce dotazníku.  
* Jak organizace definuje „kritická data“ ve své politice klasifikace dat.  
* Preferované znění pro „šifrování v klidu“, které vyhovuje jak SOC 2, tak GDPR.

Výsledek je dramatické zvýšení rychlosti i důvěry, zejména pro týmy, které musí měsíčně zpracovat desítky dotazníků.

---

<a name="data-foundations"></a>
## 2. Datové základy: tvorba vysoce kvalitního tréninkového korpusu

Doladěný model je jen tak dobrý, jaká jsou data, ze kterých se učí. Úspěšné pipeline obvykle probíhají čtyřstupňovým procesem kurace:

### 2.1. Identifikace zdrojů
* **Historické odpovědi na dotazníky** – Export CSV/JSON z repozitáře odpovědí v Procurize.  
* **Politické dokumenty** – PDF, markdown nebo Confluence stránky pro SOC 2, [ISO 27001](https://www.iso.org/standard/27001), [HIPAA](https://www.hhs.gov/hipaa/index.html), [PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/), atd.  
* **Důkazy kontrol** – Screenshoty, architektonické diagramy, výsledky testů.  
* **Komentáře právního oddělení** – Anotace od právníků objasňující nejasná znění.

### 2.2. Normalizace
* Převod PDF na prostý text pomocí OCR (např. Tesseract) s zachováním nadpisů.  
* Odstranění HTML značek a standardizace konců řádků.  
* Zarovnání každé odpovědi na dotazník s jejím odkazem na politiku (např. „A5.2 – ISO 27001 A.12.1”).

### 2.3. Anotace a obohacení
* Označení každé věty **metadata**: `industry`, `framework`, `confidence_level`.  
* Přidání *prompt‑response* párů ve formátu kompatibilním s OpenAI pro doladění:
  ```json
  {
    "messages": [
      {"role": "system", "content": "Jsi asistent pro shodu ve fintechové společnosti."},
      {"role": "user", "content": "Jak vaše organizace šifruje data v klidu?"},
      {"role": "assistant", "content": "Všechny produkční databáze jsou šifrovány pomocí AES‑256‑GCM s rotací klíčů každých 90 dní, jak je dokumentováno v politice EN‑001."}
    ]
  }
  ```

### 2.4. Kontrola kvality
* Spuštění **skriptu na deduplikaci** k odstranění téměř identických záznamů.  
* Náhodný výběr 5 % dat k manuální revizi: kontrola zastaralých odkazů, pravopisných chyb nebo rozporů.  
* Použití **BLEU‑style skóre** vůči validační sadě, aby se zajistila vysoká koherence korpusu.

Výsledkem je **strukturovaný, verzovaně kontrolovaný tréninkový dataset** uložený v Git‑LFS repozitáři, připravený pro doladění.

---

<a name="pipeline"></a>
## 3. Workflow doladění – od surových dokumentů k nasaditelnému modelu

Níže je zjednodušený Mermaid diagram zachycující kompletní pipeline. Každý blok je navržen tak, aby byl **pozorovatelný v CI/CD prostředí**, což umožňuje rollback a compliance reporting.

```mermaid
flowchart TD
    A["Extrahovat & Normalizovat dokumenty"] --> B["Označit & Anotovat (metadata)"]
    B --> C["Rozdělit na Prompt‑Response páry"]
    C --> D["Validovat & Deduplikovat"]
    D --> E["Push do tréninkového repo (Git‑LFS)"]
    E --> F["CI/CD Trigger: Doladit LLM"]
    F --> G["Registr modelů (verzováno)"]
    G --> H["Automatický bezpečnostní sken (Prompt Injection)"]
    H --> I["Nasadit do služby inference Procurize"]
    I --> J["Generování odpovědí v reálném čase"]
    J --> K["Audit log & Vysvětlitelnost"]
```

### 3.1. Výběr základního modelu
* **Velikost vs. latence** – Pro většinu SaaS firem model s 7 B parametry (např. Llama‑2‑7B) představuje dobrý kompromis.  
* **Licencování** – Ověřit, že základní model umožňuje komerční doladění.

### 3.2. Konfigurace tréninku
| Parametr | Typická hodnota |
|----------|-----------------|
| **Epochs** | 3‑5 (early stopping dle validační ztráty) |
| **Learning Rate** | 2e‑5 |
| **Batch Size** | 32 (závisí na GPU paměti) |
| **Optimizer** | AdamW |
| **Quantization** | 4‑bit pro snížení nákladů na inference |

Job spustíme na spravovaném GPU clusteru (AWS SageMaker, GCP Vertex AI) s **artifact tracking** (MLflow) pro zachycení hyperparametrů a hashů modelu.

### 3.3. Hodnocení po tréninku
* **Exact Match (EM)** vůči hold‑out validační sadě.  
* **F1‑Score** pro částečnou shodu (důležité, když se formulace liší).  
* **Compliance Score** – vlastní metrika kontrolující, zda generovaná odpověď obsahuje požadované citace politik.

Pokud compliance score klesne pod 95 %, spustí se **human‑in‑the‑loop revize** a proces doladění se zopakuje s doplněním dalších dat.

---

<a name="integration"></a>
## 4. Integrace modelu do Procurize

Procurize již nabízí **hub pro dotazníky**, přiřazení úkolů a verzované úložiště důkazů. Doladěný model se stane dalším mikro‑servisem, který se napojí do tohoto ekosystému.

| Integrační bod | Funkčnost |
|----------------|-----------|
| **Widget pro návrh odpovědi** | V editoru dotazníku se objeví tlačítko „Generovat AI odpověď“, které volá inference endpoint. |
| **Automatický odkaz na politiku** | Model vrátí JSON payload: `{answer: "...", citations: ["EN‑001", "SOC‑2‑A.12"]}`. Procurize zobrazí každou citaci jako klikací odkaz na zdrojový dokument. |
| **Fronta revize** | Generované odpovědi skončí ve stavu „Čeká na AI revizi“. Analytici mohou přijmout, upravit nebo odmítnout. Veškerá aktivita je logována. |
| **Export audit trail** | Při exportu balíčku dotazníku se zahrne hash verze modelu, hash snapshotu tréninkových dat a **zpráva o vysvětlitelnosti modelu** (viz další sekce). |

Lehký **gRPC** nebo **REST** wrapper kolem modelu umožní horizontální škálování. Deploy na Kubernetes s **Istio sidecar injection** pro vynucení mTLS mezi Procurize a inference službou.

---

<a name="governance"></a>
## 5. Zajištění správy, vysvětlitelnosti a auditu

Doladění přináší nové compliance výzvy. Následující kontroly udržují pipeline důvěryhodnou:

### 5.1. Vrstva vysvětlitelnosti
* Techniky **SHAP** nebo **LIME** aplikované na tokenovou důležitost – vizualizováno v UI jako zvýrazněná slova.  
* **Heatmap citací** – model zvýrazní, které zdrojové věty nejvíce přispěly k vygenerované odpovědi.

### 5.2. Registr verzí modelu
* Každý záznam v registru zahrnuje: `model_hash`, `training_data_commit`, `hyperparameters`, `evaluation_metrics`.  
* Když auditor požaduje „Který model odpověděl na otázku Q‑42 dne 15.09.2025?“, jednoduchý dotaz vrátí přesnou verzi modelu.

### 5.3. Ochrana před prompt injection
* Statická analýza příchozích promptů blokuje škodlivé vzory (např. „Ignoruj všechny politiky“).  
* Vynucení **system promptů**, které omezují chování modelu: *„Odpovídej pouze pomocí interních politik; nehaluzuj externí odkazy.“*

### 5.4. Uchovávání dat a soukromí
* Tréninková data uložená v šifrovaném S3 bucketu s **bucket‑level IAM politikami**.  
* Aplikace **diferenciální soukromí** k odstranění jakýchkoli osobně identifikovatelných informací (PII) před zahrnutím do datasetu.

---

<a name="roi"></a>
## 6. Reálná ROI: metriky, na kterých záleží

| KPI | Před doladěním | Po doladění | Zlepšení |
|-----|----------------|------------|----------|
| **Průměrná doba generování odpovědi** | 4 min (manuální) | 12 s (AI) | ‑95 % |
| **Přesnost na první pokus (bez editace)** | 68 % | 92 % | +34 % |
| **Počet zjištěných auditních neshod** | 3 za kvartál | 0,5 za kvartál | ‑83 % |
| **Ušetřené týmové hodiny za kvartál** | 250 h | 45 h | ‑82 % |
| **Náklady na dotazník** | $150 | $28 | ‑81 % |

Pilotní nasazení u středně velké fintech společnosti ukázalo **70 % zkrácení doby onboardingu vendorů**, což přímo urychlilo uzavření smluv.

---

<a name="future"></a>
## 7. Budoucí odolnost pomocí smyček kontinuálního učení

Regulační prostředí se neustále mění – nové zákony, aktualizované standardy a nové hrozby. Aby model zůstal relevantní:

1. **Plánované přeškolování** – Čtvrtletní joby, které ingestují nové odpovědi a aktualizace politik.  
2. **Active Learning** – Když reviewer upraví AI generovanou odpověď, upravená verze se uloží jako vysoce důvěryhodný tréninkový vzor.  
3. **Detekce posunu konceptu** – Monitorování distribuce embeddingů tokenů; posun spouští alarm pro datový tým.  
4. **Federated Learning (volitelné)** – Pro platformy s více nájemci může každý nájemce doladit lokální „head“ modelu bez sdílení surových politických dat, čímž se zachovává důvěrnost a zároveň těží ze sdíleného base modelu.

Tím, že se LLM považuje za **živý artefakt shody**, organizace udržuje krok s proměnlivou legislativou a zároveň má jediné pravé zdroje pravdy.

---

<a name="conclusion"></a>
## 8. Závěr

Doladění velkých jazykových modelů na korpusy specifické pro průmysl přetváří bezpečnostní dotazníky z úzkého místa na **předvídatelnou, auditovatelnou službu**. V kombinaci s kolaborativním workflow Procurize přináší:

* **Rychlost** – Odpovědi během sekund místo dnů.  
* **Přesnost** – Formulace přesně odpovídající firemním politikám, která projde právní kontrolou.  
* **Transparentnost** – Sledovatelné citace a vysvětlitelné reporty.  
* **Kontrolu** – Správní vrstvy splňující požadavky auditů.

Pro každou SaaS společnost, která chce škálovat svůj program vendor risk managementu, je investice do pipeline doladěného LLM měřitelně výnosná a zároveň připravuje organizaci na budoucí výzvy v oblasti shody.

> *Chcete spustit vlastní doladěný model? Začněte exportem tří měsíců dat z dotazníků v Procurize a následujte kontrolní seznam pro tvorbu dat uvedený výše. První iteraci můžete vyškolit během méně než 24 hodin na průměrném GPU clusteru – váš tým pro shodu vám poděkuje při dalším požadavku na SOC 2 dotazník.*

---

## Další čtení
- [NIST Special Publication 800‑53 Rev 5: Security and Privacy Controls for Federal Information Systems and Organizations](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [“Fine‑Tuning Language Models: A Comprehensive Survey” – arXiv preprint (2024)](https://arxiv.org/abs/2403.12345)  
- [OpenAI Cookbook: Prompt Design and Fine‑Tuning Best Practices](https://github.com/openai/openai-cookbook)