Hub documentation
Embedding Atlas
Embedding Atlas
Embedding Atlas — это интерактивный инструмент визуализации для исследования больших пространств эмбеддингов. Он позволяет визуализировать, перекрёстно фильтровать и искать эмбеддинги вместе с соответствующими метаданными, что помогает выявлять закономерности и связи в многомерных данных. Все вычисления выполняются на вашем компьютере, что гарантирует конфиденциальность и безопасность ваших данных.
Вот пример атласа для набора данных MegaScience, размещённого в виде Static Space:
Ключевые возможности
- Интерактивное исследование: навигация по миллионам эмбеддингов с плавной и отзывчивой визуализацией
- Вычисления в браузере: вычисление эмбеддингов и проекций локально без отправки данных на внешние серверы
- Перекрёстная фильтрация: связывание и фильтрация данных по нескольким столбцам метаданных
- Возможности поиска: поиск похожих точек данных по заданному запросу или существующему элементу
- Несколько вариантов интеграции: использование через командную строку, виджеты Jupyter или веб-интерфейс
Предварительные требования
Сначала установите Embedding Atlas:
pip install embedding-atlas
Если вы планируете загружать частные наборы данных из Hugging Face Hub, вам также потребуется войти в свой аккаунт Hugging Face:
hf auth login
Загрузка наборов данных из Hub
Embedding Atlas обеспечивает бесшовную интеграцию с Hugging Face Hub, позволяя напрямую визуализировать эмбеддинги из любого набора данных.
Использование командной строки
Самый простой способ визуализировать набор данных Hugging Face — через интерфейс командной строки. Попробуйте это на наборе данных IMDB:
# Load the IMDB dataset from the Hub
embedding-atlas stanfordnlp/imdb
# Specify the text column for embedding computation
embedding-atlas stanfordnlp/imdb --text "text"
# Load only a sample for faster exploration
embedding-atlas stanfordnlp/imdb --text "text" --sample 5000Для собственных наборов данных используйте тот же шаблон:
# Load your dataset from the Hub
embedding-atlas username/dataset-name
# Load multiple splits
embedding-atlas username/dataset-name --split train --split test
# Specify custom text column
embedding-atlas username/dataset-name --text "content"Использование Python и Jupyter
Вы также можете использовать Embedding Atlas в Jupyter-ноутбуках для интерактивного исследования:
from embedding_atlas.widget import EmbeddingAtlasWidget
from datasets import load_dataset
import pandas as pd
# Load the IMDB dataset from Hugging Face Hub
dataset = load_dataset("stanfordnlp/imdb", split="train[:5000]")
# Convert to pandas DataFrame
df = dataset.to_pandas()
# Create interactive widget
widget = EmbeddingAtlasWidget(df)
widgetДля собственных наборов данных:
from embedding_atlas.widget import EmbeddingAtlasWidget
from datasets import load_dataset
import pandas as pd
# Load your dataset from the Hub
dataset = load_dataset("username/dataset-name", split="train")
df = dataset.to_pandas()
# Create interactive widget
widget = EmbeddingAtlasWidget(df)
widgetРабота с предварительно вычисленными эмбеддингами
Если у вас есть наборы данных с заранее вычисленными эмбеддингами, вы можете загрузить их напрямую:
# Load dataset with pre-computed coordinates
embedding-atlas username/dataset-name \
--x "embedding_x" \
--y "embedding_y"
# Load with pre-computed nearest neighbors
embedding-atlas username/dataset-name \
--neighbors "neighbors_column"Настройка эмбеддингов
Embedding Atlas по умолчанию использует SentenceTransformers, но поддерживает пользовательские модели эмбеддингов:
# Use a specific embedding model
embedding-atlas stanfordnlp/imdb \
--text "text" \
--model "sentence-transformers/all-MiniLM-L6-v2"
# For models requiring remote code execution
embedding-atlas username/dataset-name \
--model "custom/model" \
--trust-remote-codeПараметры проекции UMAP
Настройте снижение размерности под вашу конкретную задачу:
embedding-atlas stanfordnlp/imdb \
--text "text" \
--umap-n-neighbors 30 \
--umap-min-dist 0.1 \
--umap-metric "cosine"Сценарии использования
Исследование текстовых наборов данных
Визуализируйте и исследуйте текстовые корпуса, чтобы выявлять кластеры, выбросы и закономерности:
from embedding_atlas.widget import EmbeddingAtlasWidget
from datasets import load_dataset
import pandas as pd
# Load a text classification dataset
dataset = load_dataset("stanfordnlp/imdb", split="train[:5000]")
df = dataset.to_pandas()
# Visualize with metadata
widget = EmbeddingAtlasWidget(df)
widgetДополнительные ресурсы
- Репозиторий Embedding Atlas на GitHub
- Официальная документация
- Интерактивная демонстрация
- Справочник по командной строке
