Реалізація Hallucination Detection для AI-системи

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Реалізація Hallucination Detection для AI-системи
Складний
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Виявлення галюцинацій у відповідях мовних моделей

LLM впевнено пише "Препарат X затверджено FDA у 2021 році" — а препарату не існує. Або RAG-система цитує документ з точним номером сторінки, якої немає в джерелі. Галюцинації — не рідкісна помилка, а системна властивість авторегресивних моделей: наступний токен передбачується за розподілом імовірностей, а не за базою фактів. При роботі з критичними для бізнесу завданнями це неприйнятно.

Звідки беруться галюцинації та чому їх складно виявити

Проблема не в "невіданні" моделі — вона в тому, що GPT-4, Claude, Llama та їхні аналоги не мають внутрішнього механізму верифікації. Модель не знає, що вона не знає. Впевненість у відповіді (confidence score з logprobs) слабо корелює з фактичною точністю: можна отримати logprob близькій до 0 для галюцинованого факту.

Три основних джерела галюцинацій в production:

Невідповідність між retrieval та generation. У RAG-пайплайні ретривер повертає топ-5 чанків за cosine similarity, але вони не містять відповіді. Модель все одно генерує — заповнює прогалину паттернами з pretraining. Типова ситуація: chunk_size=512 без overlap, FAISS з L2-метрикою замість cosine, слаба embedding-модель (all-MiniLM-L6-v2 замість text-embedding-3-large або E5-mistral-7b).

Temporal drift. Модель навчена на даних до певної дати. Запити про поточні події, змінені регуляції чи нові продукти гарантовано породжують галюцинації без актуального контексту.

Instruction-following vs factuality trade-off. При RLHF-дообучанні моделі навчаються бути "корисними" — давати відповідь, навіть якщо даних недостатньо. Це безпосередньо стимулює галюцинації при невизначеності.

Як будується система виявлення

Виявлення галюцинацій неможливо вирішити одним методом. На практиці застосовуємо багаторівневу архітектуру:

Рівень 1 — Self-Consistency перевірка

Генеруємо N відповідей на одне запитання з temperature > 0 (зазвичай N=5–10, temperature=0.7). Порівнюємо відповіді семантично через sentence-transformers (paraphrase-multilingual-mpnet-base-v2). Якщо варіативність висока — факт ненадійний. Метрика: середня попарна cosine similarity < 0.75 сигналізує про нестабільність.

Рівень 2 — Grounding score

Для RAG-систем: перевіряємо, чи підтримується кожне твердження у відповіді вилученими чанками. Використовуємо NLI-модель (cross-encoder/nli-deberta-v3-base) для оцінки entailment між відповіддю та контекстом. Твердження з entailment score < 0.6 помічається як неперевірене.

Рівень 3 — Retrieval faithfulness

Метрики RAGAS: faithfulness, answer_relevancy, context_precision. Faithfulness < 0.7 при context_precision > 0.8 означає, що контекст був, але модель його проігнорувала — класична генеративна галюцинація.

Рівень 4 — External fact-checking

Для критичних доменів (медицина, право, фінанси): верифікація через пошук (Tavily, Bing Search API) або спеціалізовані knowledge bases (Wikidata SPARQL, PubMed API). Твердження з іменованими сутностями прогоняємо через NER (spaCy + користувацька модель) та верифікуємо кожну сутність окремо.

Практичний кейс

Клієнт — юридична компанія, внутрішній асистент з прецедентного права. Модель: GPT-4-turbo з RAG на 50k документах (pgvector + LangChain). Проблема: 18% відповідей містили посилання на неіснуючі справи або неправильні дати рішень (виявлено ручним аудитом 200 запитів).

Рішення: додали двирівневу перевірку. На рівні retrieval — reranker cross-encoder/ms-marco-MiniLM-L-6-v2 підняв context_precision з 0.61 до 0.84. На рівні generation — NLI-верифікація кожного юридичного твердження + regex-вилучення номерів справ з подальшою перевіркою по базі арбітражних рішень через API. Доля галюцинацій упала до 3.2% за 2 тижні ітерацій.

Метрики для оцінки якості виявлення

Метрика Інструмент Цільове значення
Hallucination rate Ручний аудит + NLI < 5% для production
Faithfulness (RAGAS) ragas library > 0.80
Grounding score NLI deberta > 0.65 per claim
Self-consistency sentence-transformers cosine sim > 0.75
Latency overhead < 500ms на виявлення

Процес впровадження

Аудит поточного стану — аналізуємо існуючий пайплайн: якість ретривера, chunk strategy, embedding-модель, промпти. Збираємо датасет з 100–200 реальних запитів з ground truth.

Baseline-вимірювання — отримуємо цифри: hallucination rate, faithfulness, latency. Без baseline незрозуміло, що поліпшувати.

Багаторівнева детекція — вибираємо методи під специфіку домену. Медицина вимагає зовнішньої верифікації; внутрішні знання компанії — достатньо grounding score.

Інтеграція у пайплайн — детектор вбудовується як middleware. Відповіді з низьким grounding помічаються попередженням або відправляються на human review.

Моніторинг у production — логуємо всі оцінки, будуємо дашборд у Grafana. Drift у метриках — сигнал до переіндексації або зміни промпт-стратегії.

Терміни: від 2 тижнів для додавання виявлення до існуючого RAG-пайплайну до 2 місяців для повної системи верифікації зі зовнішніми джерелами у складному домені.