Advanced Vector Embeddings Vocabulary: Reranking, Matryoshka, and Beyond (англійською)

Master advanced English vocabulary for vector embeddings, reranking, and RAG pipeline discussions in AI/ML design reviews and architecture talks.

Оскільки RAG-конвейери і семантичний пошук стають стандартною інфраструктурою, словник навколо векторних вбудов значно збільшився. Такі терміни, як «переранкування», «бі-кодування» і «вбудовування матриці» регулярно з’являються в обговореннях архітектури, групах читання паперів і оглядах дизайну систем штучного інтелекту. Для не-рідних носіїв англійської мови, виклик полягає не тільки в розумінні того, що ці поняття означають технічно - це знати, як рідні носії використовують ці терміни в розмові, які фрази сигналізують про експертизу, і як чітко виразити компроміси. Цей пост дає вам цю мову.

Ключовий словник

** Переранкування ** — Крок оцінювання другого проходу, який бере початкові результати отримання і переупорядковує їх за допомогою більш дорогої, але більш точної моделі. Інженери кажуть “ми додали переранкер” або “крок переранкерування покращує точність”. Дієслово - “переранкувати”; агент, що це робить, - “переранкер”

«Наше початкове пошукове завдання отримує 50 найкращих кандидатів з векторного індексу, потім переранкер оцінює кожного з них за запитом і ми зберігаємо перші 5. Затримка влучання варте того для нашого випадку використання»

** Cross- encoder ** — архітектура моделі переранжування, яка приймає запит і документ- кандидат разом як єдиний вхід, що дає оцінку відповідності. Це точніше, ніж бі-кодер, але повільніше. Інженери кажуть «ми використовуємо крос-кодер для переранкінгу» або контраст «крос-кодер проти бі-кодера»

«Крос-кодер бачить повний запит-документ пару за раз, тому він розуміє контекст краще — але ви не можете попередньо обчислити ці вбудовування, тому він не масштабується до мільйонів документів.»

** Bi- encoder ** — архітектура вбудованої моделі, яка кодує запит і документ незалежно у вектори, а потім порівнює їх за допомогою косинусної подібності. Швидкий і масштабований, але менш точний, ніж перехресний кодер. Ви почуєте « Повернення двох кодерів » або « Ми вбудовуємо обидві сторони окремо. »

«Ми використовуємо бі-кодер для першого проходу пошуку — ви попередньо обчислюєте вбудування документів один раз і зберігаєте їх у векторній базі даних, а потім у час запиту вам потрібно тільки вбудувати запит.»

** Матриця навчання представлення (MRL) ** — Метод навчання, який створює вбудовування, де короткі префікси вектора самі по собі мають сенс. Названа на честь російських ляльок-гнізд. Інженери кажуть: «ми використовуємо вбудовування матрьошок» або «цю модель тренували з MRL»

«Хороша річ про вбудування Матрюшки в тому, що ви можете обрізати з 1536 розмірів до 256 і все ще отримати пристойну якість — дозволяє нам налаштувати компроміс затримки-якості в час обслуговування»

** Пізня взаємодія ** — архітектура отримання, де вбудовані символи запиту і документа взаємодіють у часі нарахування балів, а не стиснуті спочатку у окремі вектори. ColBERT є канонічним прикладом. Інженери кажуть «моделі пізньої взаємодії» або «це використовує підхід пізньої взаємодії»

«Пізня взаємодія дає вам більш виразне оцінювання, ніж стандартний бі-кодер, тому що токени запиту можуть відвідувати окремі токени документів — але ваш індекс набагато більший.»

** ColBERT ** — Специфічна модель отримання пізньої взаємодії (Contextualized Late Interaction over BERT), яка зберігає вбудовування по токену і використовує оцінку MaxSim. Використовується як іменник, так і прикметник: « ColBERT retrieval », « a ColBERT index. »

«Ми оцінили ColBERT для нашого пошуку юридичних документів, але розмір індексу був заборонений — кожен документ зберігає сотні токенних векторів замість одного»

** Розміри вбудовування ** — довжина вектора, створеного за допомогою вбудованої моделі. Інженери кажуть, що «модель виробляє 768-вимірні вбудовування» або обговорюють «зменшення розмірів» для ефективності. Фраза «високовимірний простір» описує абстрактний простір, який займають ці вектори.

«Ми використовували 1536-вимірну модель для бази знань, але обрізали до 512 для шляху в реальному часі — різниця в якості була менше 2% на нашому наборі оцінок»

** Комбінація вивантаження і точності ** — Під час пошуку, вивантаження вимірює кількість знайдених відповідних елементів; точність вимірює, яка частина отриманих елементів є відповідними. Інженери кажуть: «ми оптимізуємо для відновлення на стадії відновлення» або «переранкер покращує точність»

«У час пошуку ви хочете високу пам’ять — отримати все, що може бути актуальним. Перестановка - це те, де ти збільшуєш точність. Якщо ви оптимізуєте точність занадто рано, ви пропустите щось»

** Вбудовування, не залежне від обрізання ** — Вбудовування (подібні до тих, що тренуються за допомогою MRL), де обрізання до коротшого вектора зберігає відносний порядок подібності. Інженери кажуть, що модель «підтримує обрізання» або «вбудовування є обрізанням-інвариантними»

«Стандартні моделі ламаються, коли ви обрізаєте виміри — осі не впорядковані за важливістю. Моделі MRL спеціально тренуються для цього, тому обрізання безпечно»

** Оцінка семантичної схожості** — Числова оцінка (зазвичай косинус подібності між 0 і 1), яка вимірює, наскільки семантично близькі два тексти. Інженери кажуть «оцінка подібності», «оцінка косинусу», або «модель повертає подібність 0,87»

«Одна річ, на яку варто звернути увагу: подібність 0,85 не означає «дуже відповідний» в абсолютних цифрах — вам потрібно калібрувати пороги проти вашого фактичного набору оцінок»

Фрази в контексті

** Пропозиція зміни рівня в перегляді архітектури: **

“Я б запропонував додати крок перекодування крос-кодера після векторного пошуку. В данный момент мы получаем хороший отклик, но наша точность на позиции 1 ниже, чем мы хотели бы. Крос-кодер може бачити всю пару запит-документ і повинен це очистити — ми запустимо його тільки на 20 найкращих кандидатах, тому вплив затримки повинен бути керованим»

** Пояснення компромісів MRL в обговоренні проекту: **

«Якщо ми підемо з моделлю, тренованою Matryoshka, ми отримаємо гнучкість для обслуговування різних розмірів розмірів залежно від бюджету затримки кінцевої точки. Компроміс полягає в тому, що моделі MRL іноді відстають від найкращих повнорозмірних моделей на еталонах, тому ми повинні запустити наші власні оцінки перед затвердженням»

** Обговорення можливості пізнього взаємодії: **

«Пошук ColBERT дійсно переконливий для якості, але вимоги до зберігання є блокуючим фактором для нас зараз — ми говоримо про 50x розмір індексу стандартної установки бі-енкодерів. Варто переглянути, якщо ми перейдемо до окремого кластера пошуку»

Відображення рішення про відкликання проти рішення про точність після смерті:

«Глядачи на випадки невдачі, проблема була в тому, що ми переоптимізували для точності на стадії пошуку. Мы только получали пять лучших документов, что означало, что у переранкера не было достаточно кандидатов, чтобы работать с ними. Ми повинні збільшити вікно пошуку і дозволити реранкеру зробити більше роботи з фільтрування»

Ключові слова

  • ** запустити переранжування на ** результатах (не « застосувати переранжування до »)
  • ** вбудувати запит ** / ** вбудувати документи ** (не « векторизувати » у більшості сучасних застосувань)
  • ** top- k retrieval ** — отримання k найсхожіших елементів: « збільшити top- k з 20 до 50 »
  • ** розмір індексу ** — розмір місця на диску для вашого векторного індексу
  • ** eval set ** / ** evaluation set ** — ваш еталонний набір даних для вимірювання якості
  • ** компроміс між якістю і затримкою ** (не « компроміс між якістю і швидкістю » у технічному письмі)
  • ** зменшення розмірів ** / ** обрізання розмірів ** (контекст МЗП)
  • ** оцінити кандидата ** — запустити переоцінку одного документа: « перехресний кодер оцінює кожного кандидата »

Practice

Знайдіть публічне обговорення проектування системи RAG — обговорення LlamaIndex або LangChain GitHub, або гілки на форумі Hugging Face — де інженери обговорюють якість пошуку. Прочитайте коментарі і визначте принаймні п’ ять слів з цього повідомлення, які використовуються у природному порядку. Потім напишіть коротке повідомлення у стилі Slack (від чотирьох до шести речень), у якому поясните співробітнику команди, чому ви бажаєте або не бажаєте додати крок зміни рангу до гіпотетичного конвеєра RAG для вашого домену. Будь конкретним щодо компромісу між затримкою і якістю. Це таке пояснення, яке вам слід буде дати під час обговорення справжньої архітектури.

Поширені запитання

Про що ця стаття "Advanced Vector Embeddings Vocabulary: Reranking, Matryoshka, and Beyond (англійською)"?

Master advanced English vocabulary for vector embeddings, reranking, and RAG pipeline discussions in AI/ML design reviews and architecture talks.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Advanced Vector Embeddings Vocabulary: Reranking, Matryoshka, and Beyond (англійською)"?

Приблизно 8 min.