Pilotann: un sistema Hybrid CPU-GPU para ANN basado en gráficos

La búsqueda aproximada del vecino más cercano (ANNS) es una técnica de búsqueda vectorial fundamental que identifica de manera eficiente elementos similares en espacios vectoriales de alta dimensión. Tradicionalmente, Anns ha servido como columna vertebral para los motores de recuperación y los sistemas de recomendación, sin embargo, lucha por mantener el ritmo de las arquitecturas de transformadores modernas que emplean incrustaciones de dimensiones más altas y conjuntos de datos más grandes. A diferencia de aprendizaje profundo Sistemas que se pueden escalar horizontalmente debido a su naturaleza sin estado, Anns permanece centralizado, creando un cuello de botella de rendimiento único severo. Las pruebas empíricas con conjuntos de datos a escala de 100 millones de escala revelan que incluso las implementaciones de CPU de última generación del algoritmo jerárquico navegable pequeño (HNSW) no pueden mantener el rendimiento adecuado a medida que aumentan las dimensiones vectoriales.

Investigaciones previas sobre ANN a gran escala han explorado dos rutas de optimización: mejoras de estructura de índice y aceleración de hardware. La partición espacial mejorada de múltiples éndex invertido a través de la cuantización de múltiples códigos, mientras que PQFastScan mejoró el rendimiento con optimizaciones SIMD y ADACE de caché. Diskann y Spann introdujeron la indexación basada en disco para conjuntos de datos a escala de miles de millones, abordando los desafíos de la jerarquía de memoria a través de diferentes enfoques. La canción y el cagra lograron velocidades impresionantes a través de la paralelización de GPU, pero permanecen limitados por la capacidad de memoria de GPU. Bang manejó los conjuntos de datos a escala de miles de millones a través del procesamiento híbrido de CPU-GPU, pero carecía de comparaciones críticas de la línea de base de CPU. Estos métodos frecuentemente sacrifican la compatibilidad, la precisión o requieren hardware especializado.

Investigadores de la Universidad China de Hong Kong, Centro de Inteligencia Perceptual e Interactiva, y Teoría del Laboratorio de Tecnologías Huawei han propuesto Pilotann, un sistema Hybrid CPU-GPU diseñado para superar las limitaciones de las implementaciones de ANNS existentes. Pilotann aborda el desafío: las implementaciones de CPU solo luchan con las demandas computacionales, mientras que las soluciones de GPU están limitadas por una capacidad de memoria limitada. Resuelve este problema utilizando tanto la abundante RAM de las CPU y las capacidades de procesamiento paralelas de las GPU. Además, emplea un proceso transversal de gráficos de tres etapas, un subgrafio acelerado por GPU transversal utilizando vectores reducidos dimensionalmente, refinamiento de CPU y búsqueda precisa con vectores completos.

Pilotann reinventa fundamentalmente el proceso de búsqueda de vectores a través de un paradigma de “procesamiento de datos preparados para datos”. Minimiza el movimiento de datos en las etapas de procesamiento en lugar de adherirse a los modelos tradicionales de “mover datos para la cálculo”. También consta de tres etapas: pilotaje de GPU con subgrafio y vectores reducidos dimensionalmente, refinamiento residual utilizando subgraph con vectores completos y transversal final empleando gráficos completos y vectores completos. El diseño muestra rentabilidad con una sola GPU de productos básicos mientras se escala de manera efectiva a través de las dimensiones vectoriales y la complejidad de los gráficos. La sobrecarga de transferencia de datos se minimiza solo el movimiento del vector de consulta inicial a GPU y un pequeño conjunto de candidatos que regresa a CPU después de la pilotaje de GPU.

Los resultados experimentales muestran las ventajas de rendimiento de Pilotann en diversos conjuntos de datos a gran escala. Pilotann logra una aceleración de rendimiento 3.9 veces en el conjunto de datos profundo 96-dimensional en comparación con la línea de base HNSW-CPU, con ganancias aún más impresionantes de 5.1-5.4 veces en conjuntos de datos dimensionales más altos. Pilotann ofrece velocidades significativas incluso en el conjunto de datos T2I notoriamente desafiante a pesar de que no hay optimizaciones específicas para este punto de referencia. Además, muestra una notable rentabilidad a pesar de utilizar hardware más caro. Mientras que la plataforma basada en GPU cuesta 2.81 USD/hora en comparación con la solución de solo CPU a 1.69 USD/hora, Pilotann logra 2,3 veces la rentabilidad de la efectividad para los conjuntos de datos de T2I, Wiki y Laion cuando se mide el rendimiento por dólar.

En conclusión, los investigadores introdujeron Pilotann, un avance en ANN basados ​​en gráficos que utiliza efectivamente los recursos de CPU y GPU para las cargas de trabajo emergentes. Muestra un gran rendimiento sobre los enfoques existentes de CPU solo a través de la descomposición inteligente de la búsqueda de Top-K en una tubería de CPU-GPU de varias etapas e implementación de una selección de entrada eficiente. Democratiza la búsqueda de vecinos más cercanos de alto rendimiento al lograr resultados competitivos con una única GPU de productos básicos, haciendo que las capacidades de búsqueda avanzadas sean accesibles para investigadores y organizaciones con recursos informáticos limitados. A diferencia de las soluciones alternativas que requieren costosas GPU de alta gama, Pilotann permite una implementación de ANN eficiente en configuraciones de hardware comunes mientras se mantiene la precisión de búsqueda.


Verificar el Papel y Página de Github. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, siéntete libre de seguirnos Gorjeo Y no olvides unirte a nuestro 85k+ ml de subreddit.


Sajjad Ansari es un pregrado de último año de IIT Kharagpur. Como entusiasta de la tecnología, profundiza en las aplicaciones prácticas de la IA con un enfoque en comprender el impacto de las tecnologías de IA y sus implicaciones del mundo real. Su objetivo es articular conceptos complejos de IA de manera clara y accesible.