Skip to main content

Introducción

El conjunto de datos LAION 5b contiene 5,85 mil millones de embeddings de imagen y texto, además de los metadatos de imagen asociados. Los embeddings se generaron con el modelo Open AI CLIP ViT-L/14. La dimensión de cada vector de embedding es 768. Este conjunto de datos puede utilizarse para modelar aspectos de diseño, dimensionamiento y rendimiento de una aplicación real de búsqueda vectorial a gran escala. El conjunto de datos puede utilizarse tanto para la búsqueda de texto a imagen como para la búsqueda de imagen a imagen.

Detalles del conjunto de datos

El conjunto de datos completo puede descargarse con opendatalab/laion5b-downloader. ClickHouse ha puesto a disposición un subconjunto de 100 millones de vectores en un bucket de S3. El bucket de S3 contiene 10 archivos Parquet; cada archivo Parquet contiene 10 millones de filas. Recomendamos a los usuarios que primero realicen un ejercicio de dimensionamiento para estimar los requisitos de almacenamiento y memoria de este conjunto de datos, consultando la documentación.

Pasos

1

Crear tabla

Cree la tabla laion_5b_100m para almacenar los embeddings y sus atributos asociados:
El id es simplemente un entero incremental. Los atributos adicionales pueden usarse en predicados para entender la búsqueda por similitud vectorial combinada con el posfiltrado/prefiltrado, como se explica en la documentación
2

Cargar datos

Para cargar el conjunto de datos de todos los archivos Parquet, ejecute la siguiente instrucción SQL:
La carga de 100 millones de filas en la tabla tardará unos minutos.Como alternativa, se pueden ejecutar sentencias SQL individuales para cargar un número determinado de archivos / filas.
4

Crear un índice de similitud vectorial

Ejecute el siguiente SQL para definir y crear un índice de similitud vectorial sobre la columna vector de la tabla laion_5b_100m:
Los parámetros y las consideraciones de rendimiento para la creación de índices y la búsqueda se describen en la documentación. La sentencia anterior utiliza los valores 64 y 512, respectivamente, para los hiperparámetros HNSW M y ef_construction. Debe seleccionar cuidadosamente los valores óptimos de estos parámetros evaluando el tiempo de construcción del índice y la calidad de los resultados de búsqueda correspondientes a los valores seleccionados.La creación y el guardado del índice podrían tardar incluso varias horas para el conjunto de datos completo de 100 millones, según la cantidad de núcleos de CPU disponibles y el ancho de banda del almacenamiento.
6

Generar embeddings para la consulta de búsqueda

Los vectores de embeddings del conjunto de datos LAION 5b se generaron con el modelo OpenAI CLIP ViT-L/14.A continuación, se proporciona un script de ejemplo en Python para mostrar cómo generar mediante programación vectores de embeddings con las API de CLIP. El vector de embeddings de búsqueda se pasa después como argumento a la función cosineDistance() en la consulta SELECT.Para instalar el paquete clip, consulta el repositorio de GitHub de OpenAI.
El resultado de la búsqueda anterior se muestra a continuación:
Última modificación el 23 de julio de 2026