Я нарешті зрозумів, чому реранкери такі потужні, як тільки зрозумів ключову різницю між бі- та крос-енкодерами. Крім того, я знайшов спосіб об'єднати їхні повноваження за допомогою єдиної архітектури. Дозвольте мені пояснити: RAG на 80% складається з пошуку та на 20% з генерації. Тому, якщо RAG не працює, швидше за все, це проблема з отриманням. Саме тому правильне розуміння архітектури пошуку має таке велике значення - і все починається з розуміння цих двох (насправді трьох) підходів до кодування. (див. візуалізацію нижче під час читання) 1️⃣ Бі-енкодери Бікодери (основа векторного пошуку) обробляють запити та документи окремо. - Вкладення документів попередньо обчислюються - Запит вбудовується під час пошуку Це робить бікодери ідеальними для початкового пошуку: - надзвичайно швидкий - працює в масштабі - пропускає важливу контекстну інформацію 2️⃣ Крос-енкодери Крос-кодери використовують зовсім інший підхід до повторного ранжування. Вони обробляють запит і кожен документ як єдине ціле. - Об'єднати запит з документом ([CLS], запит, [SEP], документ, [SEP]) - Пройдіться по моделі разом для повної перехресної уваги Це робить крос-енкодери ідеальними для другого етапу: - фіксує семантичні відносини для кращої точності - але набагато повільніше і ресурсно витрачається на великі колекції А що, якщо ми зможемо поєднати найкраще з обох світів! 3️⃣ Кольбер ColBERT поєднує в собі потужність крос-кодерів і масштабованість бі-енкодерів. - Роздільне кодування запитів і документів - Створення матриці взаємодії з оцінками подібності між усіма парами маркерів запит-документ - Отримуйте максимальну оцінку для кожного маркера запиту в усіх токенах документа - Сума максимальних балів для фінального матчу _____ Ось і все! Якщо ви вважаєте її корисною, надішліть запит у свою мережу. Знайди мене → @akshay_pachaar ✔️ Щоб отримати більше інформації та навчальних посібників про LLM, агентів штучного інтелекту та машинне навчання!
46,68K