3,583 papers
arXiv:2512.12980 64 14 дек. 2025 г. FREE

Information Loss Funnel: почему векторный поиск подводит даже при 99% точности

КЛЮЧЕВАЯ СУТЬ
Information Loss Funnel — диагностическая модель из исследования Iceberg, объясняющая три источника потери качества в векторном поиске (технология под капотом RAG, памяти ChatGPT, загрузки файлов в Claude Projects). Модель показывает где именно ломается качество: на этапе кодирования (текст → вектор), выбора метрики (какую дистанцию считать "похожестью"), алгоритма поиска (как индекс работает с конкретным распределением данных).
Адаптировать под запрос

TL;DR

Information Loss Funnel — диагностическая модель из исследования Iceberg, объясняющая три источника потери качества в векторном поиске (технология под капотом RAG, памяти ChatGPT, загрузки файлов в Claude Projects). Модель показывает где именно ломается качество: на этапе кодирования (текст → вектор), выбора метрики (какую дистанцию считать "похожестью"), алгоритма поиска (как индекс работает с конкретным распределением данных).

Традиционные оценки векторного поиска меряют synthetic recall — сколько векторов из топ-100 совпадают с эталоном по дистанции. Исследование показало: synthetic recall 99% может означать task recall <1% на реальной задаче. Пример с лицами: метод NSG показывает 99% synthetic recall быстрее конкурента, но находит правильные лица только в 90% случаев и работает медленнее. В классификации изображений с метрикой Inner Product: synthetic recall 99.9%, но алгоритм возвращает картинки не тех классов — label recall <1%. Причина: неправильная метрика дистанции убивает качество сильнее чем выбор алгоритма.

Исследователи создали 8 датасетов с метриками конечных задач (узнавание лиц, классификация, text retrieval, рекомендации), протестировали 13 методов VSS и пересобрали рейтинг по task-centric метрикам. Рейтинг радикально отличается от traditional benchmarks. Построили decision tree для выбора метода на основе характеристик данных: clustering tightness (плотность кластеров), norm distribution (распределение длин векторов), angular separation (угловое расстояние между классами), distance contrast (разница между близкими и далёкими точками).

📌

Почему это важно

Векторный поиск — невидимая инфраструктура ваших AI-инструментов. Когда вы загружаете PDF в ChatGPT или создаёте knowledge base в Claude Projects, под капотом работает векторный поиск. Когда используете Memory или RAG — то же самое. Система превращает ваши документы в векторы (списки чисел), потом ищет "похожие" по дистанции.

Главный инсайт: метрика дистанции важнее алгоритма. Выбор между Euclidean, Cosine, Inner Product может дать разницу в 100х в качестве конечного результата. Один и тот же датасет с Inner Product выдаст 99.9% synthetic recall и <1% правильных ответов, с Euclidean — нормальную работу. Это как искать адреса по долготе/широте vs по Manhattan distance — формально обе метрики измеряют расстояние, но дают разные результаты.

Три слоя потери качества:

Layer 1. Embedding Loss (потеря при кодировании): Текст/картинка → вектор фиксированной длины. Неизбежно теряется часть информации. Если embedding модель плохо обучена на вашем домене, вектора не ловят важные различия. Два семантически разных текста могут получить похожие вектора — система не различит их.

Layer 2. Metric Misuse (неправильная метрика): Современные embedding модели обучаются со сложными loss functions (ArcFace, contrastive learning), не с простым "минимизируй Euclidean distance". Результат: вектора живут в геометрии не соответствующей метрике. Если модель обучена с Cosine Similarity, а вы ищете по Euclidean — результаты деградируют. Inner Product чувствителен к длине векторов (norm), Euclidean — нет. Неправильный выбор = система ищет "похожесть" не по тем признакам.

Layer 3. Distribution Sensitivity (алгоритм vs данные): Алгоритмы поиска (HNSW, NSG, ScaNN, etc) показывают разную эффективность на разных распределениях. Если данные имеют skewed density (плотные кластеры + outliers), один алгоритм деградирует, другой — нет. Если данные high-dimensional с малым intrinsic dimension, граф-методы рвут, partition-методы страдают. Выбор алгоритма без учёта распределения = лотерея.

⚠️

Ограничения применимости

⚠️ Инфраструктурная тема: Прямое применение требует доступа к настройкам векторной БД или RAG-системы. В ChatGPT/Claude Projects нет контроля над метрикой дистанции или выбором алгоритма.

⚠️ Диагностика, не решение: Модель объясняет ГДЕ проблема (embedding/metric/algorithm), но не КАК исправить без кода. Полезно для понимания "почему retrieval не работает", не для быстрого фикса.

⚠️ Продвинутый контекст: Ценно для тех кто работает с no-code RAG инструментами (Dante AI, CustomGPT.ai, Pinecone UI) или настраивает retrieval в AI-продуктах. Для базового использования ChatGPT — мало actionable advice.

📌

Что можно взять

Принцип 1: Проверяй на конечной задаче, не верь промежуточным метрикам

Если ваш RAG показывает "recall 95%", но реальные ответы плохие — проблема в layer misalignment. Synthetic recall мерит "сколько векторов совпало по дистанции", не "сколько правильных документов нашлось". Два разных показателя.

Действие: При настройке RAG-системы тестируй на реальных вопросах пользователей, не на benchmark метриках. Смотри не на "recall", а на "сколько раз нашёлся нужный документ" и "сколько раз ответ был правильным".

Принцип 2: Метрика дистанции критична (если есть доступ)

Если работаешь с векторной БД через UI (Pinecone, Weaviate, Qdrant) и видишь опции "Cosine / Euclidean / Dot Product":

  • Cosine Similarity — для normalized embeddings (большинство современных text/image моделей). Игнорирует длину вектора, смотрит только на направление.
  • Euclidean Distance — для embeddings где длина вектора не важна, но absolute position важно (редко в modern embeddings).
  • Inner Product (Dot Product) — для embeddings где длина вектора = важность (recommendation systems, некоторые LLM embeddings). Чувствителен к norm.

Действие: Посмотри документацию embedding модели — какая метрика рекомендуется. OpenAI embeddings → Cosine. CLIP → Cosine. Sentence Transformers → обычно Cosine. Если метрика не совпадает с тренировочной — качество падает.

Принцип 3: Мета-features для диагностики (если есть проблемы)

Если retrieval работает плохо, можно проверить характеристики данных:

  • Clustering tightness: Если данные образуют плотные кластеры с большими gap между ними → partition-based методы (ScaNN, IVFPQ) лучше.
  • Norm variation: Если вектора имеют сильно разную длину (некоторые 0.5, другие 2.0) → Inner Product метрика может быть проблемой, нормализуй вектора.
  • Angular separation: Если классы/темы имеют малое угловое расстояние (похожие направления векторов) → Cosine может не различать, попробуй Euclidean.

Действие: Это advanced диагностика, требует визуализации embeddings (t-SNE / UMAP) или статистики по векторам. Полезно для дебага проблемных RAG систем.

🔗

Ресурсы

Iceberg: A Holistic Benchmark for Vector Similarity Search — Tingyang Chen, Cong Fu, Jiahua Wu, Haotian Wu, Hua Fan, Xiangyu Ke, Yunjun Gao, Yabo Ni, Anxiang Zeng. SIGMOD'26. Zhejiang University, Shopee Pte. Ltd., Alibaba Cloud, Nanyang Technological University.

Исследование вводит Information Loss Funnel и создаёт первый task-centric benchmark для VSS с 8 датасетами, 13 методами, decision tree для выбора метода.


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

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

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