Переранжування (Cross-Encoder Reranking)(Моделі крос-енкодерного переранжування)
Двоетапна методологія пошуку в RAG-системах: швидкий первинний відбір кандидатів (Bi-Encoder / BM25) із подальшим точним ранжуванням через повнозв'язну крос-енкодерну модель (Cross-Encoder / Cohere Rerank / BGE-Reranker).
1. Огляд концепції та системна проблема
У класичних RAG-пайплайнах первинний векторний пошук страждає від проблеми низької селективності (High Recall, Low Precision):
- Векторний шум: Векторний індекс повертає 20 документів, які здаються схожими за загальною темою, але лише 2 з них містять точну відповідь на технічне питання.
- Засмічення генератора: Якщо передати всі 20 знайдених чанків у контекстне вікно генеративної моделі, виникає ефект Context Rot: модель витрачає токени на перечитування шуму і часто втрачає правильний факт (Lost-in-the-Middle).
- Обчислювальний глухий кут: Використовувати важкі високоточні нейромережі для прямого сканування всієї бази знань з мільйона статей неможливо — запит виконувався б кілька хвилин.
Переранжування (Cross-Encoder Reranking) вирішує цю суперечність за допомогою класичного інженерного патерну двоетапного конвеєра (Two-Stage Retrieval): дешевий і швидкий пошук вибирає 50 потенційних кандидатів, а важкий реранкер миттєво відсіює все зайве, залишаючи топ-3 еталонні фрагменти.
2. Архітектурна таксономія та ментальна модель
Двоетапний конвеєр ретривелу розділяється на дві фази з різними цілями та алгоритмами:
- 1. Етап 1: Первинний відбір (Candidate Retrieval - Focus on Recall):
- Завдання: гарантувати, що правильний документ потрапив у вибірку, навіть якщо його позиція не ідеальна.
- Інструменти: гібридний пошук (HNSW-вектори + BM25).
- Обсяг вибірки: від 30 до 100 чанків за кілька мілісекунд.
- 2. Етап 2: Крос-енкодерне переранжування (Scoring - Focus on Precision):
- Завдання: ідеально впорядкувати кандидатів за шкалою релевантності.
- Інструменти: Cross-Encoder моделі, навчені класифікувати пару «Запит + Текст» за ймовірністю прямої відповіді.
- Обсяг виходу: топ-3 або топ-5 найбільш точних документів.
- 3. Поріг відсікання (Score Thresholding): Реранкери повертають абсолютний бал релевантності (Relevance Score від 0.0 до 1.0). Це дозволяє встановити суворий фільтр: якщо найкращий документ має бал нижче 0.4, система одразу знає, що відповіді в базі знань немає, запобігаючи галюцинаціям генератора.
3. Технічний пайплайн та внутрішня механіка
Життєвий цикл роботи реранкера:
- Candidate Ingestion (Прийом пулу кандидатів): Реранкер отримує вхідний запит користувача $Q$ та масив із $N$ кандидатів $[D_1, D_2, \dots, D_n]$, знайдених на першому етапі.
- Pairwise Sequence Assembly (Збирання пар токенів):
Для кожного документа формується єдиний конкатенований рядок зі спеціальними розділювачами:
[CLS] Query: Що таке mutex? [SEP] Document: М'ютекс це примітив синхронізації... [SEP]. - Full Cross-Attention Computation (Розрахунок взаємної уваги): Трансформер обчислює матриці уваги, де кожен токен запиту безпосередньо взаємодіє з кожним токеном документа, аналізуючи заперечення, логічні інверсії та точний контекст.
- Logit Scoring & Truncation (Сортування та відсікання): Класифікаційна голова моделі виводить оцінку $P(\text{relevant} \mid Q, D)$. Кандидати сортуються за спаданням балу. Документи з низьким скором відкидаються, а топ-$K$ передаються у фінальний промпт.
4. Практичні інженерні сценарії в продакшені
01. Радикальне скорочення витрат на токени генератора
Замість надсилання 15 000 токенів сирої видачі у дорогу флагманську модель (Claude 3.7 Sonnet / GPT-4o), реранкер стискає вибірку до 3 найточніших чанків (1 500 токенів). Витрати на генерацію падають у 5–10 разів при одночасному зростанні якості відповіді.
02. Обробка складних запитів із запереченнями
Запит: «Покажи сервіси, де НЕ використовується Docker». Звичайний векторний пошук знайде всі статті зі словом Docker. Реранкер, аналізуючи частку «НЕ» через Cross-Attention, опустить документи з Docker на дно рейтингу і підніме альтернативні інфраструктурні рішення.
03. Вибір точної версії фреймворку
Серед знайдених 50 файлів документації реранкер безпомилково ставить на перше місце гайд для версії Next.js 15, відсікаючи застарілі гайди Next.js 12, навіть якщо ключові слова збігаються.
5. Підводні камені, типові помилки та безпека
- Ліміт контексту моделі реранкера: Більшість компактних крос-енкодерів мають ліміт входу 512 або 1024 токени. Якщо ваш чанк довший, реранкер просто обріже його кінець, де могла міститися ключова відповідь. Тримайте розмір чанків узгодженим із параметром
max_lengthреранкера. - Накладні витрати на затримку (Latency Tax): Повний прогін 100 кандидатів через важкий реранкер на CPU може зайняти до 1 секунди. Обмежуйте пул кандидатів для реранкінгу до 30–50 штук або використовуйте легкі оптимізовані моделі (FlashRank/ONNX).
- Сміття з першого етапу: Якщо алгоритми першого етапу (Hybrid Search) взагалі не знайшли правильний документ і не включили його у початковий топ-50, жоден реранкер не зможе його врятувати (Garbage In, Nothing Out).
FAQ: Переранжування (Cross-Encoder Reranking)
Пов'язані терміни
Гібридний пошук (Dense + Sparse Search)
Архітектура ретривелу в сучасних RAG-системах, що поєднує семантичний векторний пошук (Dense Embeddings) із класичним повнотекстовим індексуванням за ключовими словами (Sparse / BM25) через алгоритми злиття рангів (RRF).
RAG (Retrieval-Augmented Generation)
Архітектурний патерн корпоративного AI, що динамічно збагачує контекстне вікно моделі релевантними верифікованими знаннями із зовнішніх сховищ (векторних баз, графів, повнотекстових індексів) перед генерацією фінальної відповіді.
Векторні бази даних (Vector DBs & ANN Search)
Спеціалізовані СУБД та розширення (Qdrant, pgvector, Milvus, Chroma, Turso), оптимізовані для зберігання мільйонів багатовимірних векторів та надшвидкого наближеного пошуку найближчих сусідів (Approximate Nearest Neighbors).
Деградація контексту (Context Rot & Attention Decay)
Системне зниження точності, слідування інструкціям та логічної узгодженості LLM у міру накопичення в робочому вікні діалогового шуму, застарілих чернеток коду та виводів компілятора.