9.9 C
Madrid
martes, febrero 25, 2025

OpenSearch Vector Engine ahora está optimizado para el disco para una búsqueda vectorial precisa de bajo costo


OpenSearch Vector Engine ahora puede ejecutar la búsqueda vectorial en un tercio del costo en los dominios OpenSearch 2.17+. Ahora puede configurar los índices Okay-NN (Vector) para ejecutarse en el modo de disco, optimizarlo para entornos limitados por la memoria y habilitar la búsqueda vectorial de bajo costo y precisa que responde en bajos cientos de milisegundos. El modo de disco proporciona una alternativa económica al modo de memoria cuando no necesita cerca latencia de un solo dígito.

En esta publicación, aprenderá sobre los beneficios de esta nueva característica, la mecánica subyacente, las historias de éxito de los clientes y el comienzo.

Descripción normal de Vector Search y OpenSearch Vector Engine

La búsqueda vectorial es una técnica que mejora la calidad de la búsqueda al permitir la coincidencia de similitud en el contenido que ha sido codificado por los modelos de aprendizaje automático (ML) en vectores (codificaciones numéricas). Permite casos de uso como búsqueda semántica, lo que le permite considerar el contexto y la intención junto con las palabras clave para ofrecer búsquedas más relevantes.

OpenSearch Vector Engine permite búsquedas vectoriales en tiempo actual más allá de miles de millones de vectores mediante la creación de índices en contenido vectorizado. Luego puede ejecutar búsquedas de los documentos Okay tremendous el mismo modelo ML.

Ajustar el motor Vector OpenSearch

Las aplicaciones de búsqueda tienen diferentes requisitos en términos de velocidad, calidad y costo. Por ejemplo, los catálogos de comercio electrónico requieren los tiempos de respuesta más bajos posibles y la búsqueda de alta calidad para ofrecer una experiencia de compra positiva. Sin embargo, la optimización de la calidad de búsqueda y las ganancias de rendimiento generalmente incurre en el costo en forma de memoria adicional y cómputo.

El equilibrio correcto de velocidad, calidad y costo depende de sus casos de uso y expectativas del cliente. OpenSearch Vector Engine proporciona opciones de ajuste integrales para que pueda hacer compensaciones inteligentes para lograr resultados óptimos adaptados a sus requisitos únicos.

Puede usar los siguientes controles de ajuste:

  • Algoritmos y parámetros – Esto incluye lo siguiente:
    • Algoritmo jerárquico navegable pequeño (HNSW) y parámetros como ef_search, ef_constructy m
    • Algoritmo de índice de archivos invertido (FIV) y parámetros como nlist y nprobes
    • Vecinos de Okay-Nears más exitosos (Okay-NN), también conocido como algoritmo de Power Brute-Power Okay-NN (BFKNN)
  • Motores -Fb AI Simility Search (FAISS), Lucene y Biblioteca espacial no métrica (NMSLIB).
  • Técnicas de compresión – Escalar (como byte y media precisión), cuantificación de productos y productos
  • Métricas de similitud (distancia) – Producto interno, coseno, L1, L2 y Hamming
  • Tipos de incrustación vectorial – denso y escaso con dimensionalidad variable
  • Métodos de clasificación y puntuación -Vector, híbridos (combinación de vector y mejor coincidencia 25 (BM25) puntajes) y clasificación de etapas múltiples (como codificadores transversales y personalizadores)

Puede ajustar una combinación de controles de ajuste para lograr un equilibrio variable de velocidad, calidad y costo que esté optimizado para sus necesidades. El siguiente diagrama proporciona un perfil de rendimiento aproximado para configuraciones de muestra.

Ajuste para la optimización del disco

Con OpenSearch 2.17+, puede configurar sus índices Okay-NN para que se ejecuten en el modo de disco para una búsqueda vectorial de alta calidad y bajo costo al negociar un rendimiento en memoria por una mayor latencia. Si su caso de uso está satisfecho con la latencia del percentil 90 (P90) en el rango de 100–200 milisegundos, el modo de disco es una excelente opción para lograr un ahorro de costos mientras mantiene una alta calidad de búsqueda. El siguiente diagrama ilustra el perfil de rendimiento del modo de disco entre las configuraciones alternativas del motor.

El modo de disco fue diseñado para salir fuera de la caja, reduciendo sus requisitos de memoria por 97% en comparación con el modo de memoria al tiempo que proporciona una alta calidad de búsqueda. Sin embargo, puede ajustar las tasas de compresión y muestreo para ajustar la velocidad, la calidad y el costo.

La siguiente tabla presenta puntos de referencia de rendimiento para la configuración predeterminada del modo de disco. OpenSearch Benchmark (OSB) se usó para ejecutar las tres primeras pruebas, y Vectordbbench (VDBB) se usó para los dos últimos. Ajuste de rendimiento Se aplicaron las mejores prácticas para lograr resultados óptimos. Las pruebas de baja escala (TASB-1M y Marco-1M) se ejecutaron en un solo nodo de datos R7GD.Massive con una réplica. Las otras pruebas se ejecutaron en dos nodos de datos R7GD.2XLarge con una réplica. La métrica de reducción de costos porcentual se calcula comparando una implementación equivalente en memoria de tamaño derecho con la configuración predeterminada.

Estas pruebas están diseñadas para demostrar que el modo de disco puede ofrecer una alta calidad de búsqueda con 32 veces compresión en una variedad de conjuntos de datos y modelos mientras mantiene nuestra latencia objetivo (bajo P90 200 milisegundos). Estos puntos de referencia no están diseñados para evaluar modelos ML. El impacto de un modelo en la calidad de búsqueda varía con múltiples factores, incluido el conjunto de datos.

Optimizaciones del modo de disco debajo del capó

Cuando configure un índice Okay-NN para ejecutarse en modo de discoOpenSearch aplica automáticamente una técnica de cuantización, comprimiendo vectores a medida que se cargan para construir un índice comprimido. Por defecto, el modo de disco convierte cada vector de precisión completa, una secuencia de cientos a much de dimensiones, cada uno almacenado como números de 32 bits, en vectores binarios, que representan cada dimensión como un bit de un solo bit. Esta conversión da como resultado una tasa de compresión 32 veces, lo que permite al motor construir un índice que sea 97% más pequeño que uno compuesto por vectores de precisión completa. Un clúster de tamaño derecho mantendrá este índice comprimido en la memoria.

La compresión scale back el costo al reducir la memoria requerida por el motor vectorial, pero sacrifica la precisión a cambio. El modo de disco recupera la precisión y, por lo tanto, la calidad de búsqueda, utilizando un proceso de búsqueda de dos pasos. La primera fase de la ejecución de la consulta comienza atravesando eficientemente el índice comprimido en la memoria para las coincidencias candidatas. La segunda fase utiliza a estos candidatos para sobremuestrar vectores de precisión completa correspondientes. Estos vectores de precisión completa se almacenan en el disco en un formato diseñado para reducir la E/S y optimizar la velocidad y la eficiencia de recuperación del disco. La muestra de vectores de precisión completa se usa para aumentar y volver a clasificar las coincidencias de la fase uno (usando exacta k-nn), recuperando así la pérdida de calidad de búsqueda atribuida a la compresión. La latencia más alta del modo de disco en relación con el modo de memoria se atribuye a este proceso de re-obtención, que requiere acceso al disco y cálculo adicional.

Éxitos de los clientes tempranos

Los clientes ya están ejecutando el motor Vector en modo disco. En esta sección, compartimos testimonios de los primeros usuarios.

Asana está mejorando la calidad de búsqueda de los clientes en su plataforma de gestión de trabajo mediante la falta de fases en capacidades de búsqueda semántica a través del motor Vector de OpenSearch. Inicialmente optimizaron la implementación utilizando cuantificación de productos comprimir índices por 16 veces. Al cambiar a las configuraciones optimizadas por el disco, pudieron reducir potencialmente el costo en otro 33% mientras mantenían sus objetivos de calidad y latencia. Estas economía hacen que sea viable que Asana escala a much de millones de vectores y democratice la búsqueda semántica en toda su plataforma.

Devreve une la brecha basic en las compañías de software program al conectar directamente los equipos orientados al cliente con los desarrolladores. Como plataforma centrada en la IA, crea vías directas desde la retroalimentación de los clientes hasta el desarrollo de productos, lo que ayuda a más de 1,000 empresas a acelerar el crecimiento con búsqueda precisa, análisis rápido y flujos de trabajo personalizables. Construidos en modelos de idiomas grandes (LLM) y flujos de generación aumentada de recuperación (RAG) que se ejecutan en el motor Vector de OpenSearch, DevRev permite experiencias de conversación inteligentes.

“Con el motor vectorial optimizado por disco de OpenSearch, logramos nuestros objetivos de calidad y latencia de búsqueda con compresión de 16x. OpenSearch ofrece economía escalable para nuestro viaje de búsqueda de vectores multimillonas «.

– Anshu Avinash, jefe de IA y búsqueda en Devrev.

Comience con el modo de disco en el motor OpenSearch Vector

Primero, debe determinar los recursos necesarios para alojar su índice. Comience estimando la memoria requerida para admitir su índice Okay-NN optimizado por disco (con la tasa de compresión predeterminada 32 veces) utilizando la siguiente fórmula:

Required reminiscence (bytes) = 1.1 x ((vector dimension rely)/8 + 8 x m) x (vector rely)

Por ejemplo, si usa los valores predeterminados para Texto de Amazon Titan V2su recuento de dimensiones vectoriales es 1024. El modo de disco utiliza el algoritmo HNSW para construir índices, por lo que «M» es uno de los parámetros de algoritmo, y es predeterminado a 16. Si crea un índice para un corpus vectorial de 1 mil millones codificado por Amazon Texto de Titan, sus requisitos de memoria son 282 GB.

Si tiene una carga de trabajo con el rendimiento, debe asegurarse de que su dominio tenga suficientes IOP y CPU también. Si sigue las mejores prácticas de la implementación, puede usar tipos de instancias optimizadas de rendimiento de instancias y almacenamiento, que generalmente le proporcionarán suficientes IOP. Siempre debe realizar pruebas de carga para cargas de trabajo de alto rendimiento y ajustar las estimaciones originales para acomodar para mayores IOPS y requisitos de CPU.

Ahora puede implementar un dominio OpenSearch 2.17+ que ha tenido el tamaño de sus necesidades. Crea tu índice Okay-NN con el modo parámetro establecido en en_disky luego Ingesta tus datos. Si ya tiene un índice Okay-NN ejecutándose en el valor predeterminado in_memory modo, puede convertirlo cambiando el modo a on_disk seguido de un reindex tarea. Después de reconstruir el índice, puede reducir su dominio en consecuencia.

Conclusión

En esta publicación, discutimos cómo puede beneficiarse al ejecutar el motor Vector OpenSearch en el modo de disco, las historias de éxito de los clientes compartidos y le proporcionó consejos para comenzar. Ahora está listo para ejecutar el motor Vector OpenSearch tan bajo como un tercio del costo.

Para obtener más información, consulte el documentación.


Sobre los autores

Dylan tong es gerente de productos senior en Amazon Internet Companies. Dirige las iniciativas de productos para AI y Machine Studying (ML) en OpenSearch, incluidas las capacidades de la base de datos Vector de OpenSearch. Dylan tiene décadas de experiencia trabajando directamente con los clientes y creando productos y soluciones en la base de datos, análisis y dominio AI/ML. Dylan tiene un título de BSC y Meng en informática de la Universidad de Cornell.

Vamshi Vijay Nakkirtha es un gerente de ingeniería de software program que trabaja en el proyecto OpenSearch y Amazon OpenSearch Service. Sus intereses principales incluyen sistemas distribuidos.

Related Articles

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Stay Connected

0SeguidoresSeguir
0SuscriptoresSuscribirte
- Advertisement -spot_img

Latest Articles