
# Тонке налаштування великих мовних моделей для автоматизації галузевих опитувальників безпеки

Опитувальники безпеки – це ворота кожного SaaS‑партнерства. Будь‑то фінтех‑проект, який прагне отримати сертифікацію [ISO 27001](https://www.iso.org/standard/27001), чи стартап у сфері health‑tech, що має продемонструвати відповідність [HIPAA](https://www.hhs.gov/hipaa/index.html), підхід до відповідей часто повторюваний, жорстко регульований і витратний за часом. Традиційні методи «копіюй‑вставляй» вводять людські помилки, збільшують час обробки і ускладнюють ведення аудиторського сліду змін.

На допомогу приходять **тонко налаштовані великі мовні моделі (LLM)**. Навчаючи базову LLM на історичних відповідях компанії, галузевих стандартах і внутрішніх політиках, команди можуть генерувати *індивідуальні*, *точні* та *готові до аудиту* відповіді за секунди. У цій статті розбираються «чому», «що» і «як» створити конвеєр тонкого налаштування LLM, що відповідає уніфікованому центру відповідності Procurize, зберігаючи безпеку, пояснювальність і керування.

---

## Зміст
1. [Чому тонке налаштування переважає над загальними LLM](#why-fine-tuning-beats-generic-llms)  
2. [База даних: формування високоякісного навчального корпусу](#data-foundations)  
3. [Конвеєр тонкого налаштування – від сирих документів до розгорнутого моделі](#pipeline)  
4. [Інтеграція моделі в Procurize](#integration)  
5. [Забезпечення керування, пояснювальності та аудиту](#governance)  
6. [ROI в реальному світі: важливі метрики](#roi)  
7. [Підготовка до майбутнього за допомогою безперервного навчання](#future)  
8. [Висновок](#conclusion)  

---

<a name="why-fine-tuning-beats-generic-llms"></a>
## 1. Чому тонке налаштування переважає над загальними LLM

| Аспект | Загальна LLM (zero‑shot) | Тонко налаштована LLM (галузево‑специфічна) |
|--------|--------------------------|---------------------------------------------|
| **Точність відповіді** | 70‑85 % (залежить від підказки) | 93‑99 % (навчена на точних формулюваннях політик) |
| **Консистентність** | Змінна між запусками | Детермінована для даної версії |
| **Термінологія відповідності** | Обмежена, може пропускати юридичні формулювання | Вбудована галузева термінологія |
| **Аудиторський слід** | Важко зіставити з джерельними документами | Пряма трасованість до навчальних фрагментів |
| **Вартість інференції** | Вища (більша модель, більше токенів) | Нижча (менша тонко налаштована модель) |

Тонке налаштування дозволяє моделі **внутрішньо освоїти точну мову політик, контрольних рамок та минулих відповідей на аудит**. Замість того, щоб покладатися на загальний чат‑бот, модель стає *знаннєвим* відповідальником, який знає:

* Які розділи ISO 27001 відповідають конкретному пункту опитувальника.  
* Як компанія визначає «критичні дані» у своїй політиці класифікації даних.  
* Яке формулювання щодо «шифрування у стані спокою» задовольняє і SOC 2, і GDPR.

Результатом є суттєве підвищення швидкості та впевненості, особливо для команд, які щомісяця відповідають на десятки опитувальників.

---

<a name="data-foundations"></a>
## 2. База даних: формування високоякісного навчального корпусу

Тонко налаштована модель хороша тільки тоді, коли дані, якими вона навчається, якісні. Успішні конвеєри зазвичай проходять **чотирьохетапний процес курації**:

### 2.1. Визначення джерел
* **Історичні відповіді на опитувальники** – експорт CSV/JSON із сховища відповідей Procurize.  
* **Політики** – PDF, markdown або сторінки Confluence для 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/), тощо.  
* **Докази контролю** – скріншоти, діаграми архітектури, результати тестів.  
* **Коментарі юридичного відділу** – анотації, що уточнюють неоднозначні формулювання.

### 2.2. Нормалізація
* Перетворення PDF у простий текст за допомогою OCR‑інструментів (наприклад, Tesseract) зі збереженням заголовків.  
* Видалення HTML‑тегів і уніфікація розриву рядків.  
* Прив’язка кожної відповіді до відповідного посилання в політиці (наприклад, “A5.2 – ISO 27001 A.12.1”).

### 2.3. Анотація та збагачення
* Тегування кожного речення **метаданими**: `industry`, `framework`, `confidence_level`.  
* Додавання пар *prompt‑response* у форматі, сумісному з OpenAI:
  ```json
  {
    "messages": [
      {"role": "system", "content": "Ви — помічник з відповідності для фінтех‑компанії."},
      {"role": "user", "content": "Як ваша організація шифрує дані у стані спокою?"},
      {"role": "assistant", "content": "Усі виробничі бази даних зашифровані за допомогою AES‑256‑GCM з ротацією ключів кожні 90 днів, згідно Політики EN‑001."}
    ]
  }
  ```

### 2.4. Контроль якості
* Запуск **скрипту дедуплікації** для видалення майже ідентичних записів.  
* Ручна перевірка випадкових 5 % даних: перевірка застарілих посилань, орфографічних помилок та протиріч.  
* Використання **BLEU‑подібного балу** проти валідаційного набору, щоб забезпечити високий внутрішній зв’язок корпусу.

В результаті отримується **структурований, контрольований репозиторій навчальних даних** у Git‑LFS, готовий до процесу тонкого налаштування.

---

<a name="pipeline"></a>
## 3. Конвеєр тонкого налаштування – від сирих документів до розгорнутого моделі

Нижче наведено високорівневу діаграму Mermaid, що ілюструє весь процес. Кожен блок спроектований так, щоб бути **спостережуваним** у CI/CD середовищі, що дозволяє відкат і створення аудиторських звітів.

```mermaid
flowchart TD
    A["Витяг та нормалізація документів"] --> B["Тегування та анотація (метадані)"]
    B --> C["Розбиття на пари Prompt‑Response"]
    C --> D["Валідація та дедуплікація"]
    D --> E["Завантаження у репозиторій навчання (Git‑LFS)"]
    E --> F["Тригер CI/CD: тонке налаштування LLM"]
    F --> G["Реєстр моделей (версіювання)"]
    G --> H["Автоматичний скан безпеки (вставка prompt)"]
    H --> I["Деплой у сервіс інференції Procurize"]
    I --> J["Генерація відповідей у реальному часі"]
    J --> K["Аудиторський лог та шар пояснювальності"]
```

### 3.1. Вибір базової моделі
* **Розмір vs. затримка** – Для більшості SaaS‑компаній модель 7 B‑параметрів (наприклад, Llama‑2‑7B) забезпечує оптимальний баланс.  
* **Ліцензування** – Переконатися, що базова модель дозволяє комерційне тонке налаштування.

### 3.2. Параметри навчання
| Параметр | Типове значення |
|----------|-----------------|
| **Епохи** | 3‑5 (рання зупинка за втратою на валідації) |
| **Швидкість навчання** | 2e‑5 |
| **Розмір батча** | 32 (залежить від GPU‑пам’яті) |
| **Оптимізатор** | AdamW |
| **Квантізація** | 4‑біт для зменшення вартості інференції |

Запускати задачу на керованому GPU‑кластері (AWS SageMaker, GCP Vertex AI) з **відстеженням артефактів** (MLflow) для збереження гіперпараметрів та хешів моделей.

### 3.3. Оцінка після навчання
* **Exact Match (EM)** проти відкладеного валідаційного набору.  
* **F1‑Score** для часткових відповідей (важливо, коли формулювання варіюються).  
* **Compliance Score** – кастомна метрика, що перевіряє наявність необхідних посилань на політики у згенерованій відповіді.

Якщо **Compliance Score** нижче 95 %, ініціюється **перегляд людиною** та повторне тонке налаштування з додатковими даними.

---

<a name="integration"></a>
## 4. Інтеграція моделі в Procurize

Procurize вже пропонує **хаб опитувальників**, розподіл завдань та версіонування доказів. Тонко налаштована модель стає ще одним мікросервісом, який під’єднується до цієї екосистеми.

| Точка інтеграції | Функціонал |
|------------------|------------|
| **Віджет пропозиції відповіді** | У редакторі опитувальника кнопка «Згенерувати AI‑відповідь» викликає endpoint інференції. |
| **Автоматичний лінкер посилань на політики** | Модель повертає JSON: `{answer: "...", citations: ["EN‑001", "SOC‑2‑A.12"]}`. Procurize візуалізує кожне посилання як клікабельний лінк до відповідного документу. |
| **Черга перегляду** | Згенеровані відповіді потрапляють у статус «Очікує AI‑перегляд». Аналітики безпеки можуть прийняти, відправити на редагування або відхилити. Усі дії журналюються. |
| **Експорт аудиторського пакету** | При експорті опитувальника система включає хеш версії моделі, хеш набору навчальних даних та **звіт пояснювальності моделі** (див. розділ нижче). |

Легка **gRPC** або **REST** обгортка навколо моделі дозволяє горизонтальне масштабування. Деплой у Kubernetes з **Istio sidecar injection** для забезпечення mTLS між Procurize та сервісом інференції.

---

<a name="governance"></a>
## 5. Забезпечення керування, пояснювальності та аудиту

Тонке налаштування вводить нові питання відповідності. Нижче – контрольні механізми, що зберігають довіру до конвеєра.

### 5.1. Шар пояснювальності
* Техніки **SHAP** або **LIME**, що візуалізують важливість токенів – у UI підсвічуються слова, що найбільше вплинули на генерування.  
* **Теплова карта цитувань** – модель підкреслює, які джерельні речення найбільше сприяли відповіді.

### 5.2. Версійний реєстр моделей
* Кожен запис у реєстрі містить: `model_hash`, `training_data_commit`, `hyperparameters`, `evaluation_metrics`.  
* При запиті типу «Яка модель відповіла на питання Q‑42 15‑09‑2025?» система миттєво повертає конкретну версію моделі.

### 5.3. Захист від вставки шкідливих prompt‑ів
* Статичний аналіз вхідних prompt‑ів для блокування шкідливих шаблонів (наприклад, “Ігноруй всі політики”).  
* Примусові **system prompts**, що обмежують модель: *«Відповідай лише, використовуючи внутрішні політики; не вигадуй зовнішні посилання.»*

### 5.4. Зберігання даних і конфіденційність
* Навчальні дані розміщені у зашифрованому S3‑бакеті з **IAM‑політиками** на рівні бакету.  
* Перед включенням у корпус, будь‑яка персональна інформація (PII) піддається **диференціальній приватності**.

---

<a name="roi"></a>
## 6. ROI в реальному світі: важливі метрики

| KPI | До тонкого налаштування | Після тонкого налаштування | Покращення |
|-----|--------------------------|-----------------------------|------------|
| **Середній час створення відповіді** | 4 хв (ручний) | 12 сек (AI) | ‑95 % |
| **Точність першого проходу (без правок)** | 68 % | 92 % | +34 % |
| **Знахідки в аудиті відповідності** | 3 за квартал | 0,5 за квартал | ‑83 % |
| **Зекономлені години команди за квартал** | 250 год | 45 год | ‑82 % |
| **Вартість за один опитувальник** | $150 | $28 | ‑81 % |

Пілотний проєкт у середньому фінтех‑компанії показав **зниження часу підключення постачальника на 70 %**, що безпосередньо прискорило отримання доходу.

---

<a name="future"></a>
## 7. Підготовка до майбутнього за допомогою безперервного навчання

Регуляторне середовище постійно змінюється – нові закони, оновлені стандарти, нові загрози. Щоб модель залишалася актуальною, впроваджуються такі практики:

1. **Заплановане перенавчання** – щоквартальні роботи, які імпортують нові відповіді та оновлені політики.  
2. **Активне навчання** – коли ревізор править AI‑відповідь, виправлений варіант автоматично додається до набору високовірних прикладів.  
3. **Виявлення дрейфу концепцій** – моніторинг розподілу векторних представлень токенів; зміщення активує сповіщення команді даних.  
4. **Федеративне навчання (за потреби)** – для SaaS‑платформ з кількома орендарями, кожен орендар може тонко налаштувати *локальну головку* без передачі сирих політик, зберігаючи конфіденційність та вигода від спільної базової моделі.

Така схема перетворює LLM у **живий артефакт відповідності**, що масштабується разом із розвитком регуляторних вимог.

---

<a name="conclusion"></a>
## 8. Висновок

Тонке налаштування великих мовних моделей на галузевих корпусових даних перетворює опитувальники безпеки з вузького місця в **прогнозований, аудиторський сервіс**. У поєднанні з робочим процесом Procurize це дає:

* **Швидкість:** відповіді за секунди, а не дні.  
* **Точність:** формулювання, що відповідають політикам і проходять юридичну перевірку.  
* **Прозорість:** трасовані посилання та звіти пояснювальності.  
* **Контроль:** керуючі шари, що задовольняють аудит.

Для будь‑якої SaaS‑компанії, що прагне масштабувати програму управління ризиками постачальників, інвестиції у конвеєр тонкого налаштування LLM приносять вимірюваний ROI та готує організацію до зростаючого регуляторного простору.

> *Готові запустити власну тонко налаштовану модель? Першим кроком експортуйте дані трьох місячних опитувальників з Procurize та скористайтеся чек‑лістом курації даних, викладеним вище. Перша ітерація може бути навчена менш ніж за 24 години на скромному GPU‑кластері – ваша команда відповідності подякує вам наступного разу, коли клієнт попросить SOC 2‑опитувальник.*

---

## Дивіться також
- [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)  
- [«Тонке налаштування мовних моделей: всебічний огляд» – препринт arXiv (2024)](https://arxiv.org/abs/2403.12345)  
- [OpenAI Cookbook: Кращі практики підготовки запитів та тонкого налаштування](https://github.com/openai/openai-cookbook)