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

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация Hallucination Detection для AI-системы
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Детекция галлюцинаций в ответах языковых моделей

LLM уверенно пишет «Препарат X одобрен FDA в 2021 году» — а препарата не существует. Или RAG-система цитирует документ с точной страницей, которой нет в источнике. Галлюцинации — не редкий баг, а системное свойство авторегрессионных моделей: следующий токен предсказывается по распределению вероятностей, а не по базе фактов. При работе с бизнес-критичными задачами это недопустимо.

Откуда берутся галлюцинации и почему их сложно поймать

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

Три основных источника галлюцинаций в продакшене:

Несоответствие между 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 base (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% для продакшена
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.

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

Сроки: от 2 недель для добавления детекции в существующий RAG-пайплайн до 2 месяцев для полноценной системы верификации с внешними источниками в сложном домене.