1536 vs 3072 embeddings: порівняння для пошуку по документах та RAG

Оновлено:
1536 vs 3072 embeddings: порівняння для пошуку по документах та RAG
Коротко
  • Подвоєння розмірності (1536 → 3072) подвоює RAM, storage і latency, але дає лише ~3–5% приросту MTEB Retrieval score у OpenAI моделей.
  • На фінансових документах BM25 перевершує text-embedding-3-large за Precision@5. Lexical search все ще важливий.
  • Hybrid retrieval + reranker дає Recall@5 = 0.816 проти 0.587 для чистого dense retrieval — це +39% без зміни embedding-розмірності.
  • У 2026 році text-embedding-3-large вже не лідер: Qwen3-Embedding-8B (MTEB 75.22) і Gemini Embedding 2 (67.71 MTEB Retrieval) його перевершують.
  • Для більшості RAG-сценаріїв: спочатку hybrid retrieval + reranker, потім вимірювати — і лише тоді думати про зміну моделі.
Параметр 1536 (text-embedding-3-small) 3072 (text-embedding-3-large)
Розмір вектора ~6 KB ~12 KB
RAM на 1M чанків ~6.1 GB ~12.2 GB
Швидкість ANN-пошуку Швидше ~1.5–2× повільніше
Вартість embedding API $0.02 / 1M токенів $0.13 / 1M токенів (6.5×)
MTEB Retrieval (nDCG@10) 0.5108 0.5544 (+8.5%)
pgvector HNSW-індекс ✅ Підтримується ⚠️ Не підтримується в GCP
Підходить для більшості RAG ✅ Так ⚠️ Не завжди виправдано

Коли команда будує RAG-пайплайн і retrieval повертає нерелевантні результати — типова перша реакція: «треба взяти більшу embedding-модель». Логіка зрозуміла: більше вимірів → більше інформації → кращий пошук. Але дані кажуть інше.

Ця стаття — технічний розбір для розробників, які проектують RAG під конкретні обмеження по RAM, вартості і якості. Ми дивимось на цифри: MTEB-бенчмарки, вартість storage, latency, і порівнюємо альтернативи — зокрема reranking, який у більшості сценаріїв дає більший приріст retrieval якості за меншу ціну ніж перехід на 3072-вимірну модель.

Якщо ви ще на етапі вибору підходу до парсингу документів перед векторизацією — спочатку читайте попередні статті серії: «Як OCR впливає на якість RAG-систем» і «Vision RAG vs OCR: порівняння підходів». Погані вхідні дані nullify будь-яку перевагу від кращої embedding-моделі.

Що таке embedding-вектор і що означає його розмірність

Embedding-модель перетворює текст у числовий вектор — список чисел фіксованої довжини. Цей вектор є «координатою» тексту у n-вимірному семантичному просторі. Тексти зі схожим значенням мають близькі вектори (висока cosine similarity); тексти з різним значенням — далекі.

Розмірність вектора — це кількість чисел у цьому списку. text-embedding-3-small повертає 1536 чисел на вхідний текст. text-embedding-3-large — 3072.

Що вимірює розмірність

Розмірність Що теоретично дає Що це означає практично
Вища (3072+) Більший «алфавіт» для кодування семантичних відмінностей Потенційно кращий поділ між схожими, але різними концепціями
Нижча (768–1536) Менш деталізований простір Для більшості практичних запитів — достатньо; вдвічі дешевше зберігати і шукати
Дуже низька (256–512) Compressed representation Швидко і дешево; якість знижується на складних семантичних задачах

Важливо: розмірність — це властивість архітектури моделі і її тренування, а не просто «більше = краще». Дослідження production RAG-систем показує, що зниження з 1536 до 384 вимірів у деяких сценаріях не дає вимірюваного падіння retrieval accuracy — при цьому скорочуючи latency вдвічі і storage на 75%.

Ціна вибору розмірності: конкретні числа

100 000 чанків

  • 1536 вимірів → ~600 MB RAM
  • 3072 вимірів → ~1.2 GB RAM (+2×)

1 000 000 чанків

  • 1536 вимірів → ~6.1 GB RAM
  • 3072 вимірів → ~12.2 GB RAM (+2×)

10 000 000 чанків

  • 1536 вимірів → ~61 GB RAM
  • 3072 вимірів → ~122 GB RAM — інший tier сервера, інший бюджет

Зростання лінійне: подвоїли розмірність — подвоїли всі витрати на зберігання і пошук. Формула проста: N чанків × розмірність × 4 байти (float32)

Matryoshka Representation Learning (MRL): використовуй large, зберігай менше

text-embedding-3-large і text-embedding-3-small підтримують MRL — підхід, при якому перші виміри вектора несуть найбільш загальний семантичний сигнал, а кожен наступний додає деталізацію. Це дозволяє «обрізати» вектор після генерації без повного перенавчання моделі.

Практично: генеруєш 3072-вимірний вектор через API, але зберігаєш лише перші 256, 512, 1024 або 1536 вимірів через параметр dimensions. Якість падає не пропорційно — нелінійно:

Збережена розмірність MTEB Retrieval (nDCG@10) Відносно повного 3072 RAM на 1M чанків
3072 (повний) 0.5544 100% ~12.2 GB
1536 0.5453 98.4% ~6.1 GB (−50%)
1024 0.5390 97.2% ~4.1 GB (−66%)
512 0.5233 94.4% ~2.0 GB (−83%)
256 0.4969 89.6% ~1.0 GB (−92%)

Скорочення з 3072 до 1536 вимірів дає −50% RAM при втраті лише 1.6% якості. До 1024 — −66% RAM при −2.8% якості. Це найпрактичніший компроміс для більшості сценаріїв.

Важливо: MRL працює тільки з моделями, які явно навчені з цією технікою (text-embedding-3-* від OpenAI, частина моделей Cohere і Nomic). Звичайне «обрізання» вектора довільної моделі дасть деградацію без гарантій.

Як розмірність впливає на якість семантичного пошуку

Теоретична перевага вищої розмірності реалізується не завжди і не рівномірно. Вплив залежить від трьох факторів: характеру документів, типу запитів і наявності інших компонентів пайплайну.

Де розмірність дійсно важлива

Сценарій Чому вища розмірність допомагає Практичний ефект
Тонкі семантичні відмінності «Розірвання договору» vs «припинення договору» — схожі слова, різний правовий сенс Менше false positives у retrieval на юридичних документах
Мультилінгвальний контент Більший простір для кодування міжмовних семантичних відносин Краще cross-lingual retrieval
Технічна документація з вузькою термінологією Технічні терміни часто OOV або рідкісні; більший простір дає кращу позицію Незначне покращення на спеціалізованих корпусах

Де розмірність майже не важлива

Сценарій Чому розмірність не вирішує
FAQ і короткі відповіді Запити і документи семантично прямолінійні; 768 вимірів більш ніж достатньо
Забруднені OCR-артефактами тексти Шум у тексті зміщує вектор незалежно від розмірності; проблема у вхідних даних
Точні числові запити «Сума 47 500 грн» — dense retrieval поступається BM25; розмірність тут не допоможе
Дуже малі колекції (< 10 000 чанків) При малій колекції різниця між моделями нівелюється — будь-яка знайде правильний чанк

text-embedding-3-small (1536) vs text-embedding-3-large (3072): реальні відмінності

MTEB-бенчмарк: цифри

MTEB (Massive Text Embedding Benchmark) — стандартний бенчмарк для порівняння embedding-моделей. Для RAG найрелевантніша метрика — MTEB Retrieval (nDCG@10).

Модель Розмірність MTEB Retrieval nDCG@10 Вартість (per 1M токенів)
text-embedding-3-small 1536 0.5108 $0.02
text-embedding-3-large 3072 0.5544 $0.13
Різниця +2× (розмір) +4.36 pp (~8.5%) 6.5× дорожче

Джерело: ICLERB Benchmark, MTEB Leaderboard листопад 2024.

8.5% приріст nDCG@10 — це реальна різниця, але важливо розуміти контекст: це бенчмарк на загальному наборі задач. На вашому конкретному корпусі різниця може бути більшою або меншою. І за 6.5× вищу вартість ембедингу плюс 2× вищу вартість storage.

Контекст ринку: OpenAI вже не лідер

text-embedding-3-large не оновлювалась з січня 2024 року. За даними MTEB Leaderboard квітень 2026, ландшафт суттєво змінився:

Модель Розмірність MTEB (Eng v2) MTEB Retrieval Ліцензія
text-embedding-3-large 3072 66.43 55.44 Proprietary
Gemini Embedding 2 3072 67.71 Proprietary
Qwen3-Embedding-8B 4096 75.22 Apache 2.0 (self-hosted)
Qwen3-Embedding-4B 2560 74.60 Apache 2.0 (self-hosted)
Qwen3-Embedding-0.6B 1024 70.70 Apache 2.0 (self-hosted)

Qwen3-Embedding-0.6B з 1024 вимірами (70.70 MTEB) перевершує text-embedding-3-large з 3072 вимірами (66.43 MTEB) — при меншій розмірності і повній self-hosted доступності. Це нагадує головний меседж статті: розмірність ≠ якість.

Практична різниця на реальних задачах

Задача small (1536) large (3072) Різниця на практиці
Прямі запити до FAQ ("яка ціна X?") Добре Добре Незначна
Семантичні запити на юридичних текстах Задовільно Краще Помітна, але поступається BM25 на точних термінах
Технічна документація, вузька термінологія Задовільно Помітно краще Реальна різниця при deep technical retrieval
Точні числові запити Погано Погано Обидві поступаються BM25; розмірність не вирішує
Мультилінгвальний контент (uk/en мікс) Задовільно Краще Помітна для cross-lingual запитів
1536 vs 3072 embeddings: порівняння для пошуку по документах та RAG

Вплив на RAM, дисковий простір і швидкість пошуку

Вартість зберігання векторів — лінійна від розмірності. Кожен float32 займає 4 байти. 1536 вимірів × 4 = 6 144 байт (~6 KB) на вектор. 3072 вимірів — рівно вдвічі більше.

Конкретні числа для типових колекцій

Розмір колекції 1536 вимірів (RAM) 3072 вимірів (RAM) Різниця
100 000 чанків ~0.6 GB ~1.2 GB +0.6 GB
1 000 000 чанків ~6.1 GB ~12.2 GB +6.1 GB
10 000 000 чанків ~61 GB ~122 GB +61 GB — різний tier сервера

Джерело: Qdrant documentation; arXiv 2505.00105 — Optimization of embeddings storage for RAG.

Вартість managed vector DB при масштабі

За аналізом Vector DB Costs 2026, одна embedding call до text-embedding-3-large генерує 3072-вимірний вектор — 10M документів дають 120 GB сирих векторних даних до індексування. Управлінські витрати на Pinecone для 10M векторів з 3072 вимірів — ~$70–120+/місяць проти $35–65 для 1536 вимірів.

При self-hosted Qdrant: 1M векторів 1536 вимірів потребують мінімум 4GB RAM tier (~$36/місяць на Qdrant Cloud). 3072 вимірів при тому ж обсязі — 8GB RAM tier, ~$72/місяць.

Швидкість пошуку (ANN latency)

Метрика 1536 вимірів 3072 вимірів Деталь
Cosine similarity computation Базова +100% операцій Dot product 3072 float32 вдвічі дорожчий
HNSW index build time Базова ~1.5–2× довше Більший граф; більше пам'яті під час побудови
Query latency (p95, 1M векторів) ~5–15 мс ~10–30 мс Приблизні оцінки; залежить від hardware і index params
Embedding generation (API call) Базова ~1.2–1.5× довше Більша відповідь API; більший payload

Практична порада: pgvector і 3072 вимірів

Якщо ви використовуєте pgvector — зверніть увагу на важливе обмеження: GCP PostgreSQL не дозволяє створювати HNSW-індекси для векторів >2000 вимірів. text-embedding-3-large з 3072 вимірами на pgvector у GCP означає brute-force пошук без індексу — катастрофічна деградація latency на колекціях 100 000+ чанків. Або скорочуйте до 1536 через dimensions параметр API, або переходьте на Qdrant/Weaviate.

Порівняння на типових RAG-сценаріях: юридичні документи, технічна документація, FAQ

Сценарій 1: юридичні документи

Юридичні тексти — складний випадок для dense retrieval. Там є і точні числові значення (суми, дати, статті), і тонкі семантичні відмінності (відповідальність vs зобов'язання).

Тип запиту Оптимальний підхід Чому
«Яка сума штрафу за затримку?» BM25 або hybrid Точні терміни і числа; BM25 перевершує dense retrieval на фінансових документах за Precision@5
«Які наслідки порушення умов договору?» Dense (1536 або 3072) + reranker Семантичний запит; dense краще розуміє синоніми і перефразування
«Відповідальність замовника у будівельному контракті» Hybrid (BM25 + dense) + reranker Комбінація точних термінів і семантики; hybrid дає найкращий Recall

Ключовий висновок для юридичних документів: різниця між 1536 і 3072 у dense-компоненті мінімальна порівняно з ефектом від додавання BM25 в hybrid pipeline. Дослідження на фінансових документах T2-RAGBench (2026) показує, що hybrid + reranker дає Recall@5 = 0.816 проти 0.587 для чистого dense retrieval з text-embedding-3-large — приріст +39% без зміни embedding-моделі.

Сценарій 2: технічна документація

Технічна документація (API-довідники, специфікації, RFC) містить вузькоспеціалізовану термінологію. Тут 3072-вимірна модель дає більш помітний ефект — вузькі терміни кодуються точніше у більшому просторі.

Але і тут важливий нюанс: якщо документація містить точні назви (функцій, параметрів, версій), BM25 або hybrid залишається кращим варіантом для точних запитів. Dense-компонент допомагає для «як зробити X» запитів.

Сценарій 3: FAQ і helpdesk

FAQ — найпростіший сценарій для embedding-моделей. Запити і відповіді семантично прямолінійні. Для FAQ і helpdesk систем навіть 384-вимірна модель дає прийнятну якість — різниця між 1536 і 3072 на цих даних мінімальна.

Для FAQ оптимальна стратегія — почати з text-embedding-3-small або навіть BGE-small (384 вимірів), виміряти Recall@5 на тестовому наборі питань, і тільки якщо є вимірюваний дефіцит — переходити до більшої моделі.

Загальна таблиця по сценаріях

Сценарій Рекомендована модель Необхідний reranker? BM25 важливий?
FAQ / helpdesk (< 50K чанків) text-embedding-3-small або BGE-small (384) Опційно Ні
Загальні корпоративні документи text-embedding-3-small (1536) Так, рекомендовано Так, hybrid
Юридичні документи text-embedding-3-small + hybrid + reranker Обов'язково Так, обов'язково
Технічна документація (вузька термінологія) text-embedding-3-large (3072) або Qwen3-8B Так Так для точних запитів
Мультилінгвальний архів (uk + en) text-embedding-3-large або Qwen3-Embedding (multilingual) Так Так
Великий архів (> 5M чанків), бюджет обмежений Qwen3-Embedding-0.6B (1024 вимірів, self-hosted) Так Так

Чому якість моделі важливіша за кількість вимірів

Порівняння text-embedding-3-small (1536) і text-embedding-3-large (3072) — це порівняння двох продуктів одного вендора. Але реальна картина ширша: є моделі з меншою розмірністю і вищою якістю.

Вже згадана Qwen3-Embedding-0.6B (1024 вимірів, MTEB 70.70) перевершує text-embedding-3-large (3072 вимірів, MTEB 66.43) за загальним MTEB-бенчмарком при меншій розмірності. Apache 2.0, повний self-hosting.

Фактори, що визначають якість embedding понад розмірність

Фактор Вплив Що робити
Якість тренувальних даних моделі Критичний — визначає де «живуть» вектори у просторі Перевіряти чи тренувалась модель на доменних даних (юридичних, медичних тощо)
Якість вхідного тексту Критичний — OCR-артефакти зміщують вектор незалежно від розмірності Постпроцесинг тексту перед embedding — вищий пріоритет ніж вибір моделі
Довжина чанку і chunking-стратегія Суттєвий — занадто великий чанк розбавляє сигнал; занадто малий втрачає контекст Тестувати 256, 512, 1024 токенів з overlap на своїх даних
Наявність hybrid retrieval (BM25 + dense) Суттєвий — hybrid + reranker дає >30% приросту Recall порівняно з pure dense Впровадити hybrid до переходу на більшу модель
Reranker Суттєвий — cross-encoder значно точніший за bi-encoder при однаковому масштабі Додати reranker перед тим як змінювати embedding-модель

«FAISS Hybrid Paradox»: коли більша модель гірша

Дослідження «Rethinking Hybrid Retrieval» (2025) виявило контрінтуїтивний результат: MiniLM-v6 (компактна модель) стабільно перевершує BGE-Large при інтеграції з LLM-based reranking у tri-modal hybrid retrieval. Різниця: до 23.1% кращий nDCG@10 і 36.5% кращий nDCG@1 у фінансовому домені — при 93% менших параметрах і 63% менших embeddings.

Причина — «FAISS Hybrid Paradox»: embedding-простір великих моделей може не збігатись з критеріями релевантності LLM-reranker. Більша модель дає більш «розтягнутий» простір, який LLM-reranker переранжовує гірше ніж компактний.

Висновок: якщо у вашому пайплайні є reranker — не факт що більша embedding-модель покращить результат. Тестуйте на своїх даних.

Reranking як альтернатива збільшенню розмірності

Reranker (або cross-encoder) — другий етап retrieval. На першому етапі embedding-модель знаходить top-k кандидатів за cosine similarity (швидко, але неточно). На другому — reranker переранжовує цих кандидатів, оцінюючи кожну пару (запит, документ) разом (повільно, але набагато точніше).

Чому reranker точніший за embedding

Bi-encoder (embedding-модель) кодує запит і документ незалежно. Це дозволяє швидкий ANN-пошук, але означає що модель не «бачить» запит і документ одночасно під час кодування.

Cross-encoder (reranker) кодує пару (запит + документ) разом. Self-attention «бачить» обидва тексти одночасно і може оцінити тонкі семантичні взаємодії. Це набагато дорожче обчислювально — але і набагато точніше.

Реальні числа: що дає reranker

Конфігурація Recall@5 MRR@3 Джерело
Dense retrieval (text-embedding-3-large) 0.587 T2-RAGBench (2026), фінансові документи
BM25 0.644
Hybrid RRF (BM25 + dense) 0.695 0.433
Hybrid RRF + Cohere Rerank v4 0.816 0.605

Hybrid + reranker дає Recall@5 = 0.816 проти 0.587 для чистого dense — +39% без зміни embedding-моделі. Для порівняння: перехід з text-embedding-3-small на large дає ~8.5% за MTEB Retrieval.

Популярні reranker-рішення

Reranker Тип Особливість Підходить для
Cohere Rerank v4 Cloud API Production-ready, висока якість на документних задачах; Hit Rate 0.932 + JinaAI в LlamaIndex benchmark Cloud-based системи з API-доступом
bge-reranker-large Open-source, self-hosted Сильний cross-encoder; інтегрується з LangChain, LlamaIndex Self-hosted, GDPR
Qwen3-Reranker-4B Open-source, self-hosted +2.6% recall порівняно з 0.6B варіантом; Apache 2.0 Self-hosted з GPU
Voyage AI Rerank Cloud API Competitive з Cohere; різні варіанти за вартістю Cloud-based системи

Коли reranker не достатньо

Reranker переранжовує тільки те, що потрапило у top-k від першого етапу. Якщо релевантний чанк взагалі не потрапив у top-50 кандидатів — reranker не допоможе. У цьому випадку потрібна краща embedding-модель або hybrid retrieval з більшим k.

Також важливо: reranker додає latency (~100–500 мс на 50 кандидатів). Для real-time систем з вимогами <500 мс end-to-end — це може бути обмеженням.

Матрична логіка вибору: розмір колекції × точність × бюджет

Розмір колекції Вимоги до точності Бюджет Рекомендація
< 50K чанків Базова Будь-який text-embedding-3-small (1536) або BGE-small (384). При малій колекції різниця між моделями мінімальна.
< 50K чанків Висока Будь-який text-embedding-3-small + Cohere Rerank або bge-reranker-large. Reranker дасть більше ніж перехід на 3072.
50K – 1M чанків Базова Обмежений text-embedding-3-small (1536) + hybrid (BM25 + dense). Дешевше і ефективніше ніж large.
50K – 1M чанків Висока, технічний домен Середній text-embedding-3-large (3072) або Qwen3-Embedding-4B (self-hosted) + reranker + hybrid.
> 1M чанків Будь-яка Обмежений Self-hosted: Qwen3-Embedding-0.6B (1024) або BGE-M3 (1024). Вартість storage для 3072 вимірів при такому масштабі критична.
> 1M чанків Максимальна, GDPR Достатній (GPU) Qwen3-Embedding-8B (4096, Apache 2.0, self-hosted) + bge-reranker-large + hybrid. Кращий MTEB при повному self-hosting.
Будь-який розмір Висока, мультилінгвальний контент (uk+en) Будь-який text-embedding-3-large або Qwen3-Embedding (multilingual-сильні). Для мультилінгвальності розмірність менш важлива ніж multilingual тренування.

Алгоритм прийняття рішення

Питання Так → дія Ні → наступне питання
Є вимірюваний дефіцит Recall (нижче цільового)? Продовжуй далі Нічого не міняй; поточна модель достатня
Впроваджений hybrid retrieval (BM25 + dense)? Наступне питання Спочатку додай BM25; виміряй ефект
Впроваджений reranker? Наступне питання Додай reranker; зазвичай дає більше ніж перехід на 3072
Дефіцит залишається після hybrid + reranker? Наступне питання Проблема не в embedding-моделі; перевір якість тексту і chunking
Колекція > 1M чанків? Розглянь self-hosted Qwen3-Embedding (краще MTEB, нижча вартість) Перехід на text-embedding-3-large або Qwen3-Embedding; тестуй на реальних даних
GDPR / self-hosting обов'язковий? Qwen3-Embedding-0.6B / 4B / 8B (Apache 2.0) text-embedding-3-large або Gemini Embedding 2

FAQ: часті питання про розмірність embeddings

Чи варто переходити з 1536 на 3072?

З мого досвіду — в більшості випадків ні, принаймні не як перший крок. Перехід small → large дає ~8.5% приросту MTEB Retrieval, але коштує 6.5× дорожче за API і вдвічі більше за storage. Перш ніж міняти модель, я завжди спочатку перевіряю: чи впроваджений hybrid retrieval (BM25 + dense), чи є reranker. Ці два компоненти разом дають +39% Recall@5 — без зміни розмірності взагалі. Якщо після цього дефіцит якості залишається — тоді так, перехід на 3072 або на кращу модель виправданий.

Наскільки зростає споживання RAM?

Рівно вдвічі — залежність лінійна. 1M чанків на 1536 вимірах займають ~6.1 GB RAM, на 3072 — ~12.2 GB. На 10M чанків це вже різниця між 61 GB і 122 GB — фактично різний tier сервера і різний бюджет на інфраструктуру. Для невеликих колекцій (до 100K чанків) різниця некритична: 600 MB проти 1.2 GB вміщуються в будь-який сучасний інстанс. Але при масштабуванні це стає першим обмеженням.

Чи впливає розмірність на швидкість pgvector?

Впливає, і є важлива практична пастка. По-перше, вищі виміри означають більше операцій при обчисленні cosine similarity — query latency зростає. По-друге, і це критично: GCP PostgreSQL не підтримує створення HNSW-індексів для векторів більше 2000 вимірів. Якщо використовуєш text-embedding-3-large (3072) з pgvector на GCP — отримуєш brute-force пошук без індексу, що на колекціях 100K+ чанків дає катастрофічну деградацію latency. Рішення: або скорочуй до 1536 через параметр dimensions в API, або переходь на Qdrant чи Weaviate.

Чи потрібні 3072 виміри для невеликого RAG?

Ні. При колекції до 50K чанків різниця між 1536 і 3072 практично невідчутна — будь-яка модель знайде правильний чанк у невеликому індексі. Я рекомендую починати з text-embedding-3-small або навіть BGE-small (384 вимірів), виміряти Recall@5 на тестовому наборі питань і лише тоді приймати рішення. Більшість команд, з якими я працював, виявляли що проблема не в розмірності, а в якості вхідного тексту або відсутності reranker.

Що важливіше: модель чи розмірність?

Модель — завжди важливіша. Найкращий приклад: Qwen3-Embedding-0.6B з 1024 вимірами набирає 70.70 MTEB, тоді як text-embedding-3-large з 3072 вимірами — 66.43. Менша розмірність, кращий результат. З мого досвіду, пріоритетний порядок оптимізації RAG виглядає так: спочатку якість вхідного тексту, потім chunking-стратегія, потім hybrid retrieval і reranker — і тільки після цього вибір або зміна embedding-моделі. Розмірність — це остання змінна, яку варто крутити.

Висновки

Вибір між 1536 і 3072 вимірами — не головне рішення при проектуванні RAG-пайплайну. Воно стоїть набагато нижче в пріоритетах ніж якість вхідних даних, chunking-стратегія і наявність hybrid retrieval з reranker.

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

Теза Деталь
Більша розмірність ≠ кращий retrieval Qwen3-Embedding-0.6B (1024 вимірів, MTEB 70.70) перевершує text-embedding-3-large (3072 вимірів, MTEB 66.43). Якість архітектури і тренувань вирішує більше ніж кількість вимірів.
Hybrid + reranker > зміна моделі Hybrid RRF + Cohere Rerank: Recall@5 = 0.816 vs 0.587 для чистого dense (+39%). Це більший ефект ніж small → large перехід (~8.5% MTEB).
3072 вимірів коштує у 2× дорожче у storage і latency 1M чанків: 6 GB RAM (1536) vs 12 GB (3072). Managed vector DB: ~2× вищий tier. При масштабі > 1M чанків це вирішальний фактор.
text-embedding-3-large вже не лідер у 2026 Модель не оновлювалась з січня 2024. Gemini Embedding 2 (67.71 MTEB Retrieval), Qwen3-Embedding (Apache 2.0, self-hosted) — кращі альтернативи.
Пріоритетний порядок оптимізації RAG 1. Якість вхідного тексту → 2. Chunking → 3. Hybrid retrieval → 4. Reranker → 5. Вибір/зміна embedding-моделі.

Як ці принципи реалізовані в продукті

В AskYourDocs ми застосовуємо гібридний підхід: hybrid retrieval (BM25 + dense), постпроцесинг OCR-тексту перед індексацією, і маршрутизацію складних документів на Vision OCR. Вибір embedding-моделі і розмірності підбирається під конкретний тип архіву — не як фіксована константа, а як параметр, що вимірюється на реальних даних клієнта.

→ Дізнатись більше про AskYourDocs

Серія статей про OCR, RAG і документний пошук:
  1. OCR у сучасних AI-системах: від сканованих документів до RAG — загальний огляд для нетехнічної аудиторії
  2. Як OCR впливає на якість RAG-систем: технічний розбір — де ламається пайплайн і як виправити
  3. Vision RAG vs OCR: порівняння підходів до обробки документів — GPT-4o, Qwen2.5-VL, olmOCR, Docling

Останні статті

Читайте більше цікавих матеріалів