Hub documentation

Atlas de incrustaciones

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Atlas de incrustaciones

Embedding Atlas es una herramienta de visualización interactiva para explorar grandes espacios de embeddings. Te permite visualizar, filtrar de forma cruzada y buscar embeddings junto con los metadatos asociados, lo que te ayuda a comprender los patrones y las relaciones en datos de alta dimensionalidad. Todo el cálculo se realiza en tu equipo, lo que garantiza que tus datos permanezcan privados y seguros.

Aquí hay un ejemplo de atlas para el conjunto de datos MegaScience alojado como un Static Space:

Características principales

  • Exploración interactiva: Navega por millones de embeddings con una visualización fluida y receptiva
  • Cálculo basado en el navegador: Calcule embeddings y proyecciones localmente sin enviar datos a servidores externos
  • Filtrado cruzado: vincular y filtrar datos entre varias columnas de metadatos
  • Funciones de búsqueda: encontrar puntos de datos similares a una consulta o elemento existente
  • Varias opciones de integración: úsalo mediante línea de comandos, widgets de Jupyter o interfaz web

Prerrequisitos

Primero, instala Embedding Atlas:

pip install embedding-atlas

Si planeas cargar conjuntos de datos privados desde el Hugging Face Hub, también necesitarás iniciar sesión con tu cuenta de Hugging Face:

hf auth login

Carga de conjuntos de datos desde el Hub

Embedding Atlas ofrece una integración fluida con Hugging Face Hub, lo que te permite visualizar directamente los embeddings de cualquier conjunto de datos.

Uso de la línea de comandos

La forma más sencilla de visualizar un conjunto de datos de Hugging Face es a través de la interfaz de línea de comandos. Pruébalo con el conjunto de datos 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

Para tus propios conjuntos de datos, usa el mismo patrón:

# 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"

Usando Python y Jupyter

También puedes usar Embedding Atlas en cuadernos de Jupyter para una exploración interactiva:

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

Para tus propios conjuntos de datos:

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

Trabajar con incrustaciones precalculadas

Si tienes conjuntos de datos con incrustaciones precalculadas, puedes cargarlos directamente:

# 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"

Personalización de embeddings

Embedding Atlas usa SentenceTransformers de forma predeterminada, pero admite modelos de embedding personalizados:

# 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

Parámetros de proyección UMAP

Ajusta la reducción de dimensionalidad para tu caso de uso específico:

embedding-atlas stanfordnlp/imdb \
    --text "text" \
    --umap-n-neighbors 30 \
    --umap-min-dist 0.1 \
    --umap-metric "cosine"

Casos de uso

Explorar conjuntos de datos de texto

Visualice y explore corpus de texto para identificar clusters, valores atípicos y patrones:

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

Recursos adicionales

Update on GitHub