3,583 papers
arXiv:2510.12460 73 14 окт. 2025 г. FREE

CLEAR: детекция конфликтов через скрытые состояния модели

КЛЮЧЕВАЯ СУТЬ
Обнаружено: RAG-системы ломаются не на финальном этапе генерации — модель игнорирует контекст намного раньше, в промежуточных слоях. В 24-31% случаев LLM выбирает свою параметрическую память вместо предоставленного контекста, даже когда контекст содержит правильный ответ. Хуже того: если нерелевантный контекст случайно согласуется с внутренними знаниями, модель непропорционально усиливает его и выдаёт уверенный, но ошибочный ответ. CLEAR позволяет заставить модель приоритизировать внешний контекст над встроенной памятью при явных фактических конфликтах. Метод детектирует конфликты через паттерны в скрытых состояниях модели, маркирует их тегами и файнтюнит с attention loss, которая штрафует за недостаточное внимание к помеченным фактам. Результат: модель физически перераспределяет внимание в пользу контекста, даже если он противоречит её обучению.
Адаптировать под запрос

TL;DR

CLEAR — фреймворк для повышения верности контексту в RAG через обнаружение и усиление внимания к конфликтующим знаниям. Метод работает в три этапа: (1) разбивает контекст на атомарные предложения-факты и фильтрует нерелевантные, (2) тренирует MLP-пробу на скрытых состояниях модели для автоматической детекции конфликтов между контекстом и параметрическими знаниями, (3) файнтюнит модель с дополнительной attention loss, которая заставляет уделять больше внимания конфликтующим фактам.

Исследователи обнаружили, что модели игнорируют контекст не на финальном этапе генерации — проблема возникает намного раньше. LLM интегрируют знания иерархически (токен → предложение → пассаж), и критический сбой происходит на уровне предложений в промежуточных слоях, где модель строит и согласует фактические представления. При конфликте между контекстом и внутренними знаниями модель в 24-31% случаев выбирает свою память, даже когда контекст содержит правильный ответ. Хуже того — нерелевантный контекст непропорционально усиливается, если он согласуется с параметрическими знаниями, приводя к уверенным, но ошибочным ответам.

CLEAR решает проблему через явное обнаружение и маркирование конфликтов. Проба детектирует конфликтующие факты по паттернам в скрытых состояниях (в t-SNE визуализации конфликтующие и согласованные знания образуют отдельные кластеры). Затем конфликтующие факты оборачиваются в специальные теги ..., и модель файнтюнится с attention loss, которая штрафует за недостаточное внимание к помеченным фрагментам. Это переучивает модель приоритизировать внешние факты над внутренней памятью при явных конфликтах.

🔬

Схема метода

ШАГ 1: Fine-Grained Knowledge Pruning (препроцессинг)

Контекст → [GPT-4o разбивает на атомарные факты] → 
[Фильтрация по семантической близости к вопросу] → 
Топ-10 релевантных фактов

ШАГ 2: Hidden-State Probing (детекция конфликтов)

Каждый факт → [Модель генерирует hidden state] → 
[MLP-проба классифицирует: конфликт/не конфликт] → 
Конфликтующие факты маркируются <conflict>факт

ШАГ 3: Conflict-Aware Fine-Tuning (обучение)

Стандартная языковая loss + 
Attention loss (штраф за низкое внимание к токенам внутри <conflict>) → 
Fine-tuned модель

ШАГ 4: Генерация (инференс)

Вопрос + Размеченный контекст → 
Fine-tuned модель → 
Ответ (приоритет на <conflict> факты)

Шаги 1-2 выполняются один раз при подготовке. Шаг 3 — единоразовый fine-tuning. Шаг 4 — обычная генерация.

🚀

Пример применения

⚠️ Ограничения метода: CLEAR требует fine-tuning модели и тренировки MLP-пробы — это не техника промптинга, а инфраструктурное решение. Ниже — пример применения принципов метода вручную в чате.

Задача: Ты пишешь статью про эффекты кофеина и нашёл противоречивую информацию в двух источниках. Один говорит "кофеин выводится за 3-5 часов", другой "за 10-12 часов". Модель может опираться на свои знания из обучения (допустим, она запомнила первый вариант), но тебе нужен ответ по второму источнику для контекстной точности.

Промпт (применение принципов CLEAR):

Шаг 1: Разложи текст на атомарные факты (каждый - одно утверждение)

Контекст: "Период полувыведения кофеина составляет 10-12 часов 
у взрослых, но может варьироваться в зависимости от метаболизма. 
У детей и пожилых людей кофеин выводится медленнее. 
Беременным женщинам рекомендуется ограничить потребление до 200 мг в день."

---

Шаг 2: Сравни факты с твоими знаниями. Какие противоречат? 
Оберни ТОЛЬКО конфликтующие факты в теги <conflict>факт

---

Шаг 3: Ответь на вопрос, уделяя ОСОБОЕ ВНИМАНИЕ фактам в <conflict>. 
Даже если твои знания говорят иначе - ПРИОРИТЕТ на <conflict> факты.

Вопрос: Сколько времени выводится кофеин из организма взрослого?

Результат:

Модель выдаст:

  1. Список атомарных фактов из контекста
  2. Конфликтующие факты обёрнутые в <conflict> (например, если модель обучалась на данных с "3-5 часов")
  3. Финальный ответ с явным приоритетом на конфликтующий факт: "Согласно предоставленному контексту, период полувыведения кофеина 10-12 часов"

Модель явно увидит конфликт и получит инструкцию приоритизировать контекст. Это эмуляция механики CLEAR без fine-tuning.

🧠

Почему это работает

Слабость LLM: Модели интегрируют знания иерархически, и при конфликте между контекстом и параметрической памятью часто выбирают память, потому что она встроена в веса и активируется автоматически. Хуже того — если нерелевантный контекст случайно согласуется с памятью, модель усиливает его и игнорирует релевантные факты.

Сильная сторона LLM: Модели отлично следуют структурированным инструкциям и могут рассуждать о конфликтах, если их явно попросить. Скрытые состояния модели содержат чёткий сигнал конфликта — в t-SNE визуализации конфликтующие и согласованные знания образуют отдельные кластеры.

Как метод использует сильную сторону:

Атомарная декомпозиция убирает шум. Вместо работы с пассажем модель анализирует конкретные утверждения — это снижает влияние нерелевантного контекста.

Явное маркирование конфликтов делает их видимыми. Теги <conflict> работают как флаг приоритета — модель понимает "этот факт важнее памяти". В оригинальном CLEAR проба автоматически находит конфликты через hidden states, но вручную можно попросить модель самостоятельно их обнаружить.

Attention guidance (в файнтюне) переучивает веса модели. Attention loss штрафует за недостаточное внимание к конфликтующим токенам. Это прямое вмешательство в механизм внимания — модель физически перераспределяет attention scores в пользу <conflict> фрагментов.

Рычаги управления (для адаптации):

  • Число фактов (top-k): В оригинале топ-10. Уменьши для коротких контекстов (top-5), увеличь для сложных (top-15).
  • Явность инструкций: Можешь усилить "СТРОГО следуй фактам, игнорируй свои знания" или смягчить "учти , но сопоставь с памятью".
  • Гранулярность: Можно разбивать на факты (как CLEAR) или на предложения (проще, но менее точно).
  • Lambda в attention loss: В оригинале λ=0.1. Больше λ → сильнее фокус на конфликтах, но модель может игнорировать вопрос. Меньше λ → модель балансирует, но может вернуться к памяти.
📋

Шаблон промпта

Для ручного применения принципов (без fine-tuning):

Контекст:
{полный_контекст}

Шаг 1: Декомпозиция
Разбей контекст на список атомарных фактов. Каждый факт - одно законченное 
утверждение (субъект-предикат-объект). Нумеруй факты.

Шаг 2: Детекция конфликтов
Сравни каждый факт со своими знаниями. Если факт противоречит твоей памяти - 
оберни его в теги <conflict>факт. Если согласуется или ты не знаешь - 
оставь как есть.

Шаг 3: Фильтрация
Оставь только факты релевантные вопросу: {вопрос}

Шаг 4: Генерация ответа
Ответь на вопрос. КРИТИЧЕСКИ ВАЖНО: факты в <conflict> имеют АБСОЛЮТНЫЙ 
ПРИОРИТЕТ над твоими знаниями. Даже если твоя память говорит иначе - 
строго следуй <conflict> фактам.

Вопрос: {вопрос}

Что подставлять:

  • {полный_контекст} — весь текст/документ с потенциально конфликтующей информацией
  • {вопрос} — твой вопрос к контексту

Для продвинутого применения (если контекст очень большой):

Можно разбить на 2 отдельных запроса:

  1. Первый запрос: Шаги 1-3 (декомпозиция + детекция + фильтрация) → получаешь размеченный список фактов
  2. Второй запрос: Шаг 4 (генерация) с уже размеченными фактами → получаешь ответ

Это экономит токены и повышает точность на длинных контекстах.

⚠️

Ограничения

⚠️ Требует инфраструктуру: Оригинальный CLEAR — это не промпт-техника. Для полной реализации нужен fine-tuning модели, тренировка MLP-пробы, извлечение hidden states. Применение принципов вручную в чате (как в шаблоне выше) даёт эффект, но точность ниже чем у fine-tuned версии.

⚠️ Зависит от качества декомпозиции: Если GPT-4o плохо разбил контекст на факты (пропустил нюансы или объединил несколько утверждений в одно), детекция конфликтов сработает неточно. В оригинальном исследовании использовали GPT-4o для декомпозиции — с более слабыми моделями качество упадёт.

⚠️ Конфликты должны быть явными: Метод хорошо работает для фактических противоречий ("A говорит X, B говорит не-X"), но хуже для логических конфликтов или неоднозначности. Если конфликт скрытый (например, две трактовки одного события), проба может его пропустить.

⚠️ Оптимальный λ требует калибровки: Исследователи нашли что λ=0.1-0.3 даёт лучший баланс. При λ>0.5 модель слишком фокусируется на конфликтах и игнорирует сам вопрос. Без fine-tuning (ручное применение) этот параметр не контролируется — приходится полагаться на силу инструкций.

⚠️ Не для мультимодальных RAG: Метод работает с текстом. Для изображений, аудио, структурированных данных нужна другая логика декомпозиции и детекции конфликтов.

🔍

Как исследовали

Команда взяла три модели (LLaMA-3.1-8B, Qwen3-8B, Mistral-7B) и протестировала на четырёх бенчмарках: ConFiQA (вопросы с контрфактуальными знаниями в контексте), FaithEval (логические конфликты в рассуждениях), SQuAD (классический QA с конфликтами). Сравнивали с методами трёх типов: prompt-based (KRE, Opin), decoding-based (CAD, COIECD), training-based (Context-DPO, CANOE).

Откуда взяли находки: Для понимания механики исследователи использовали knowledge probing — извлекали hidden states из финального decoder layer для ~700 пар знаний <aligned, conflicting>. Применили t-SNE визуализацию и увидели что конфликтующие знания образуют отдельный кластер в латентном пространстве. Это подтвердило гипотезу: конфликты детектируемы ещё до генерации output, на уровне внутренних представлений модели.

Что удивило: Оказалось что нерелевантный контекст опаснее чем кажется. Когда добавляли в контекст факты не связанные с вопросом, но согласующиеся с параметрическими знаниями, точность падала на 10-15%. Модель усиливала этот шум и игнорировала релевантные факты. Это объясняет почему RAG иногда работает хуже чем модель без контекста — некачественная ретривалка вредит больше чем помогает.

Неожиданный результат с λ: При увеличении λ (веса attention loss) внимание к конфликтам растёт линейно и насыщается около 0.5. Но точность пикует при λ=0.1-0.3, а потом падает. Это означает что слишком сильный фокус на конфликтах вредит общей производительности — модель начинает игнорировать вопрос и другой релевантный контекст. Баланс критичен.

Результаты: CLEAR показал +5-15% точности на всех бенчмарках по сравнению с Context-DPO и CANOE (предыдущий SOTA). На ConFiQA (MC) достиг 89.2% F1 против 80.9% у CANOE. Абляция показала что детекция конфликтов — самый критичный компонент (-8-10% при удалении), без неё файнтюнинг бесполезен.

📄

Оригинал из исследования

Это не промпт-техника, а алгоритмический фреймворк. Приводим pseudocode из статьи для reference:

Input: Question Q, context D, model M

Step 1: Fine-Grained Knowledge Pruning
{K₁, K₂, ..., Kₘ} = Decompose(D) // GPT-4o разбивает на факты
f(Q, Kᵢ) = ⟨Enc(Q), Enc(Kᵢ)⟩ // Cosine similarity
D' = {top-k facts by similarity}

Step 2: Hidden-State Probing
foreach Kᵢ ∈ D':
 hᵢ = M(Kᵢ) ∈ ℝ^dₘ // Hidden state из модели
 yᵢ = P(hᵢ) ∈ {0,1} // MLP-проба детектит конфликт
 if yᵢ = 1:
 Mark Kᵢ as <conflict>Kᵢ

Step 3: Conflict-Aware Fine-Tuning
S = {token positions inside <conflict> tags}
L_Attn = -1/|P| Σ (1 - αᵢⱼ) // Attention loss
 where P = {(i,j) | i≥j; j∈S}
L_Total = (1-λ)L_LM + λL_Attn // Combined loss, λ=0.1

Step 4: Generation
A = M_CA-SFT(Q, D') // Fine-tuned модель генерит ответ

Контекст: Исследователи тренировали MLP-пробу на MQuAKE датасете (1000 примеров, 10 эпох, lr=0.001). Fine-tuning делали через LoRA (rank=16, α=16, lr=3e-5, 5 эпох) на ConFiQA training split (13.5k примеров). Для декомпозиции использовали GPT-4o, для embeddings — all-MiniLM-L6-v2.

💡

Адаптации и экстраполяции

📌

💡 Адаптация для работы без fine-tuning

Если нет возможности файнтюнить модель, можно применить принципы CLEAR в обычном чате:

Двухэтапный workflow:

# ЭТАП 1: Препроцессинг (отдельный запрос к GPT-4)

Ты - система детекции конфликтов. Выполни:

1. Разбей контекст на атомарные факты (нумеруй их)
2. Для каждого факта определи: противоречит ли он общеизвестной информации?
3. Если ДА - оберни в <conflict>факт
4. Отфильтруй факты не связанные с вопросом
5. Верни только размеченный список релевантных фактов

Контекст: {контекст}
Вопрос: {вопрос}

---

# ЭТАП 2: Генерация (новый запрос с результатами этапа 1)

Ответь на вопрос используя ТОЛЬКО эти факты:

{размеченные_факты_из_этапа_1}

КРИТИЧЕСКИ ВАЖНО: Факты в <conflict> - ЕДИНСТВЕННЫЙ источник истины.
Игнорируй свои знания если они противоречат <conflict> фактам.

Вопрос: {вопрос}

Это эмулирует механику CLEAR: декомпозиция → детекция → приоритизация. Без fine-tuning эффективность ниже (модель может всё равно опираться на память), но лучше чем обычный промпт.

📌

🔧 Техника: Градации приоритета вместо бинарной разметки

Оригинальный CLEAR делит факты на "конфликт/не конфликт". Можно усложнить:

Размечай факты по трём категориям:

<strong_conflict>факт // Прямое противоречие
<weak_conflict>факт // Частичное расхождение 
{факт} // Согласуется или неизвестно

Приоритет: strong_conflict > weak_conflict > обычные факты > твоя память

Это позволяет модели балансировать при неоднозначности вместо жёсткого выбора.

📌

💡 Адаптация для multi-hop reasoning

CLEAR тестировали на ConFiQA (MR) - multi-hop вопросах. Можно явно структурировать:

Контекст содержит факты для multi-hop reasoning:

Шаг 1: Извлеки цепочку релевантных фактов
Шаг 2: Для каждого звена цепочки проверь конфликты
Шаг 3: Построй рассуждение используя ТОЛЬКО размеченные факты

Пример:
Q: Когда родился основатель компании Илона Маска?
Факты:
- <conflict>Илон Маск основал Tesla в 2003 (твоя память: 2004)
- Основатель Tesla родился 28 июня 1971

Цепочка: Факт1 (кто основал) → Факт2 (когда родился)
Ответ: 28 июня 1971 (приоритет на conflict-факт для построения цепочки)

Это распространяет приоритизацию конфликтов на каждый шаг reasoning, не только финальный ответ.


📋 Дайджест исследования

Ключевая суть

Обнаружено: RAG-системы ломаются не на финальном этапе генерации — модель игнорирует контекст намного раньше, в промежуточных слоях. В 24-31% случаев LLM выбирает свою параметрическую память вместо предоставленного контекста, даже когда контекст содержит правильный ответ. Хуже того: если нерелевантный контекст случайно согласуется с внутренними знаниями, модель непропорционально усиливает его и выдаёт уверенный, но ошибочный ответ. CLEAR позволяет заставить модель приоритизировать внешний контекст над встроенной памятью при явных фактических конфликтах. Метод детектирует конфликты через паттерны в скрытых состояниях модели, маркирует их тегами и файнтюнит с attention loss, которая штрафует за недостаточное внимание к помеченным фактам. Результат: модель физически перераспределяет внимание в пользу контекста, даже если он противоречит её обучению.

Принцип работы

Модель интегрирует знания иерархически: токен → предложение → пассаж. Критический сбой происходит на уровне предложений в промежуточных слоях (20-30 из 32), где LLM строит и согласует фактические представления. При конфликте модель автоматически активирует параметрическую память, потому что она встроена в веса — контекст проигрывает по умолчанию. CLEAR переворачивает приоритет через три этапа: 1. Атомарная декомпозиция — разбивает контекст на конкретные утверждения (субъект-предикат-объект), убирает шум 2. Детекция через скрытые состояния — MLP-проба ловит паттерны конфликтов по hidden states (в t-SNE визуализации конфликтующие и согласованные знания образуют отдельные кластеры) 3. Файнтюн с attention loss — модель получает штраф за низкое внимание к токенам внутри ..., это переучивает веса напрямую

Почему работает

Скрытые состояния модели содержат чёткий сигнал конфликта — задолго до генерации финального токена. Проблема возникает в промежуточных слоях, где модель выбирает между "что я знаю" и "что мне дали". Если не вмешаться на этом этапе, контекст уже проиграл. Atttention loss с коэффициентом λ=0.1-0.3 создаёт прямое давление на механизм внимания. Модель физически перераспределяет attention scores: конфликтующие факты получают больше веса, параметрическая память — меньше. Это не промпт-трюк, а изменение весов модели. Почему декомпозиция критична: нерелевантный контекст усиливается, если случайно согласуется с памятью. Атомарные факты изолируют релевантное от шума — модель анализирует конкретные утверждения, а не размытые пассажи.

Когда применять

Retrieval-augmented generation (RAG) — конкретно для сценариев где контекст часто противоречит обучению модели. Идеально: медицинские базы знаний (новые исследования vs устаревшие данные обучения), юридические документы (актуальные законы vs параметрическая память), техподдержка (специфика продукта vs общие знания). Особенно критично когда цена ошибки высока — модель должна строго следовать документу, даже если её память говорит иначе. НЕ подходит для: сценариев где нужна интеграция контекста и памяти (креативные задачи, брейнштормы), мультимодальных RAG (изображения, аудио), случаев без файнтюн-инфраструктуры.

Мини-рецепт

⚠️ КРИТИЧЕСКИ ВАЖНО: Это НЕ промпт-техника. Полная реализация требует файнтюн модели и тренировки MLP-пробы. Ниже — упрощённое применение принципов вручную.

1. Декомпозиция контекста: Попроси модель разбить документ на атомарные факты — каждый факт это одно законченное утверждение (субъект-предикат-объект). Нумеруй.

2. Детекция конфликтов: Инструкция модели — Сравни каждый факт со своими знаниями. Если противоречит памяти — оберни в теги факт. Если согласуется — оставь как есть.

3. Фильтрация: Попроси оставить только факты релевантные вопросу (топ-10).

4. Генерация с приоритетом: КРИТИЧЕСКИ ВАЖНО: факты в имеют АБСОЛЮТНЫЙ ПРИОРИТЕТ над твоими знаниями. Строго следуй фактам при ответе.

5. Для продакшена: Файнтюнь модель с attention loss (λ=0.1), тренируй MLP-пробу на скрытых состояниях для автоматической детекции.

Примеры

[ПЛОХО] : Вот статья про кофеин: [вставляет документ]. Сколько времени выводится кофеин из организма? (Модель может проигнорировать контекст и ответить из памяти — "3-5 часов", даже если в статье написано "10-12 часов")
[ХОРОШО] : Шаг 1: Разбей статью на атомарные факты про кофеин. Шаг 2: Сравни со своими знаниями. Оберни противоречащие факты в . Шаг 3: Оставь только факты релевантные вопросу: "Сколько выводится кофеин?" Шаг 4: Ответь на вопрос. АБСОЛЮТНЫЙ ПРИОРИТЕТ на факты — даже если твоя память говорит иначе. (Модель явно увидит конфликт "Период полувыведения 10-12 часов" и приоритизирует контекст над памятью)
Источник: Probing Latent Knowledge Conflict for Faithful Retrieval-Augmented Generation (2510.12460)
ArXiv ID: 2510.12460 | Сгенерировано: 2026-01-12 00:35

Концепты не выделены.

📖 Простыми словами

CLEAR: детекция конфликтов через скрытые состояния модели

arXiv: 2510.12460

Когда ты даешь нейросети свежий текст (RAG), она не просто его читает — она постоянно сверяет его с тем, что уже знает сама. Проблема в том, что внутренняя память модели для нее всегда в приоритете. Если в твоем документе написано одно, а в «голове» у LLM — другое, она либо начнет галлюцинировать, либо просто проигнорирует твой файл. Это фундаментальный конфликт: модель ведет себя как упрямый всезнайка, который слышит только то, что совпадает с его личным мнением, а остальное считает шумом.

Это похоже на ситуацию, когда ты приносишь опытному бухгалтеру новую инструкцию от налоговой, а он отмахивается: «Я тридцать лет так делал и буду делать». Даже если инструкция лежит перед ним на столе, он подсознательно ищет в ней только те строчки, которые подтверждают его старые привычки. Фреймворк CLEAR — это способ буквально ткнуть модель носом в новые факты и заставить её признать: «Окей, я думал иначе, но сейчас важнее то, что написано здесь».

Чтобы это починить, авторы придумали трехступенчатую систему. Сначала они дробят текст на мелкие факты и выкидывают мусор, чтобы не отвлекать модель. Затем обучают специальный слой — MLP-пробу, которая работает как детектор лжи: она сканирует «мозги» нейросети и находит точки, где внешняя инфа идет вразрез с внутренними весами. И самое главное — через attention loss модель принудительно заставляют фокусировать внимание именно на этих конфликтных зонах. Если данные спорят с памятью, модель обязана смотреть на них в десять раз пристальнее.

Хотя метод тестировали на классических вопросах-ответах, принцип универсален для любой работы с документами. Это критически важно для юристов, врачей или программистов, где старые знания модели о библиотеке или законе могут быть смертельно устаревшими. Метод CLEAR превращает RAG из простой «подкладывалки текста» в систему, которая осознанно выбирает актуальный контекст, даже если он противоречит всему, чему модель учили раньше.

Главный вывод: просто закинуть текст в промпт — это лотерея, где внутренние предубеждения модели часто побеждают логику. Чтобы RAG реально работал, нужно не просто подавать инфу, а подсвечивать места, где модель ошибается. CLEAR доказывает, что верность контексту — это вопрос управления вниманием, а не просто объема памяти. Если не заставлять модель сомневаться в себе, она так и будет выдавать уверенную, но бесполезную отсебятину.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с