Один из интересных вопросов, которые нам задают: «Как вы, ребята, проверяете свои 向量模型 (Embeddings) на соответствие требованиям?» Конечно, для серьезной и количественной оценки на публичных бенчмарках есть MTEB, но что делать с открытыми доменами или новыми проблемами? Сегодня мы хотим поделиться небольшим внутренним инструментом, который мы используем для отладки и визуализации. Вы можете назвать это нашим набором инструментов для проверки атмосферы. Мы называем его Correlations
, и он имеет открытый исходный код на GitHub.
tagДизайн
Correlations генерирует интерактивные тепловые карты, где каждая ячейка показывает косинусное сходство между двумя фрагментами — будь то фрагменты из одной или разных коллекций документов, модальности, гиперпараметры или модели. Он поддерживает несколько взаимодействий:
- Проверка при наведении: исходный текст/изображение и оценки сходства для отдельных пар ячеек
- Выбор региона: интерактивный выбор области для сфокусированного анализа закономерностей сходства
- Пороговая фильтрация: фильтры оценки сходства и длины текста для уменьшения шума
Инструмент работает через двухэтапный конвейер:
npm run embed
: использование Jina Embeddings API с настраиваемыми стратегиями разделения на части (новая строка, пунктуация, на основе символов или шаблоны regex)npm run corr
: браузерный пользовательский интерфейс, обслуживающий тепловые карты корреляции с интерактивностью в реальном времени
Чтобы начать:
npm install
export JINA_API_KEY=your_jina_key_here
npm run embed -- https://jina.ai/news/jina-embeddings-v3-a-frontier-multilingual-embedding-model -o v3-blog.jsonl -t retrieval.query
npm run embed -- https://arxiv.org/pdf/2409.10173 -o v3-arxiv.jsonl -t retrieval.passage
npm run corr -- v3-blog.jsonl v3-arxiv.jsonl
JINA_API_KEY
используется для 向量模型 (Embedding) и чтения контента из URL-адреса при необходимости, чтение из локального текстового файла, конечно, поддерживается. Вы также можете принести свои собственные 向量模型 (Embeddings) и выполнить npm run corr
только для визуализации, в этом случае вам не нужен JINA_API_KEY
. Инструмент поддерживает как анализ самокорреляции (внутри одной коллекции), так и анализ перекрестной корреляции (между двумя коллекциями).
tagВарианты использования
tagАнализ дедупликации и выравнивания контента
Мы демонстрируем полезность инструмента посредством анализа наших публикаций jina-embeddings-v3. Сравнивая научную статью с заметкой о выпуске, визуализация выявила отчетливые диагональные закономерности на тепловой карте корреляции, указывающие на сильное выравнивание фрагментов между документами. Подробное изучение показало систематическое повторное использование контента, особенно в технических разделах, описывающих типы задач LoRA.
tagПроверка цитирования и ссылок
Инструмент оказывается полезным для проверки точности цитирования в системах генерации, дополненных извлечением, где становится критически важным проверять, действительно ли извлеченные фрагменты поддерживают сгенерированные утверждения. Анализ на основе сходства — это мощный и интуитивно понятный инструмент для изучения больших наборов данных, например, для выявления закономерностей путем группировки элементов по сходству.
tagИсследование стратегии разделения на чанки (Chunking Strategy Exploration)
Позднее разделение на чанки и другие стратегии сегментации могут быть оценены путем изучения того, как различные подходы влияют на семантическую согласованность внутри и между текстовыми сегментами. Визуализация помогает определить эффект позднего разделения на чанки и оптимальные границы чанков, выявляя закономерности сходства, которые соответствуют семантической структуре.
tagКросс-модальный анализ (Cross-Modal Analysis)
Инструмент выходит за рамки текста и поддерживает векторные модели (Embeddings) изображений через jina-clip-v2, что позволяет анализировать закономерности корреляции текста и изображений для мультимодальных приложений.
tagСвязанные работы по визуализации векторных моделей (Embeddings)
Проблема интерпретируемости особенно остро стоит при работе с многомерными векторными моделями (Embeddings). Область методов визуализации векторных моделей (Embeddings) значительно эволюционировала, и различные подходы можно разделить на:
- На основе снижения размерности (Dimensionality Reduction-Based): Традиционные подходы с использованием PCA, t-SNE, UMAP, которые проецируют многомерные пространства в 2D/3D
- На основе интерактивного исследования (Interactive Exploration-Based): Инструменты, такие как Parallax и TextEssence, которые позволяют напрямую манипулировать и исследовать данные
- Доменно-специфические решения (Domain-Specific Solutions): Специализированные инструменты, такие как Clustergrammer для биологических данных
- Прямая визуализация сходства (Direct Similarity Visualization): Наш подход и аналогичные методы на основе тепловых карт, которые сохраняют полную реляционную информацию
Метод | Подход | Варианты использования |
---|---|---|
Correlations | Прямые тепловые карты попарного сходства | Отладка сходства текста, анализ выравнивания |
Embedding Projector | PCA, t-SNE и пользовательские линейные проекции | Интерактивная визуализация и интерпретация |
Parallax | Алгебраические формулы для семантического исследования | Понимание семантических отношений |
TextEssence | Сравнительный анализ корпуса | Диахронический анализ, сравнение корпусов |
Nomic Atlas | Облачная масштабируемая визуализация | Крупномасштабные наборы данных, совместная работа |
Clustergrammer | Интерактивная тепловая карта с кластеризацией | Многомерные биологические данные |
t-SNE | Нелинейная визуализация кластеров | Отладка модели, выявление ошибок |
UMAP | Сохранение локальной и глобальной структуры | Средние и большие наборы данных, общий анализ |
PCA | Линейное снижение размерности | Первичное исследование, базовое сравнение |
tagОграничения поточечных подходов (Limitations of Point-Wise Approaches)
Существующие инструменты визуализации в основном фокусируются на поточечных представлениях в 2D-пространствах, которые могут терять важную информацию о парных отношениях. Более того, большинство инструментов предназначены для анализа единичного пространства векторных моделей (Embeddings), а не для сравнительной оценки между различными источниками, модальностями или стратегиями векторных моделей (Embedding) (например, позднее разделение на чанки вкл. или выкл.).
Например, недавно мы столкнулись с двумя вариантами использования в Jina. Первый включает перекрестную проверку цитат в DeepSearch, где нам нужно сопоставить сгенерированный отчет с исходными выдержками из справочного материала. Второй - это мультимодальный поиск, где нам нужно проверить выравнивание изображений и текста, а также изображений и изображений на новых немаркированных данных. В обоих случаях нам необходимо изучить взаимосвязи между двумя коллекциями векторных моделей (Embeddings). Поэтому мы используем Correlations
, чтобы понять, насколько хорошо выровнены соответствия, и проверить, соответствуют ли самые высокие корреляции правильным соответствиям.
tagЗаключение
Помимо проверки атмосферы, correlations
может предоставить более глубокое понимание семантических отношений. В качестве отправной точки из корреляционной матрицы можно извлечь несколько ключевых статистических данных:
- Плотность матрицы (Matrix Density): Доля корреляций выше указанных порогов, указывающая на общую семантическую связность
- Распределение собственных значений (Eigenvalue Distribution): Анализ главных компонент выявляет доминирующие закономерности в структуре сходства
- Ранг матрицы (Matrix Rank): Указывает на эффективную размерность отношений сходства
- Число обусловленности (Condition Number): Измеряет числовую устойчивость и потенциальные проблемы мультиколлинеарности
Расширенный анализ может также включать извлечение значимых подматриц, представляющих согласованные семантические регионы. Извлечение k-порядковой максимальной суммы главной подматрицы из n-порядковой вещественной матрицы - это типичная задача комбинаторной оптимизации, которая может идентифицировать наиболее сильно коррелированные сегменты.