Cree aplicaciones RAG rentables con incrustaciones binarias en Amazon Titan Text Embeddings V2, Amazon OpenSearch Serverless y las bases de conocimiento de Amazon Bedrock

Hoy nos complace anunciar la disponibilidad de Binary Embeddings para Incrustaciones de texto de Amazon Titan V2 en Bases de conocimiento de Amazon Bedrock y Amazon OpenSearch sin servidor. Con soporte para incrustaciones binarias en Amazon Bedrock y un almacén de vectores binarios en OpenSearch Serverless, puede utilizar incrustaciones binarias y un almacén de vectores binarios para crear Recuperación Generación Aumentada (RAG) en las bases de conocimiento de Amazon Bedrock, lo que reduce el uso de memoria y los costos generales.

Roca Amazónica es un servicio totalmente administrado que proporciona una única API para acceder y utilizar varios modelos básicos (FM) de alto rendimiento de empresas líderes en inteligencia artificial. Amazon Bedrock también ofrece un amplio conjunto de capacidades para desarrollar IA generativa aplicaciones con seguridad, privacidad e IA responsable. Al utilizar las bases de conocimiento de Amazon Bedrock, los FM y los agentes pueden recuperar información contextual de las fuentes de datos privadas de su empresa para RAG. RAG ayuda a los FM a ofrecer respuestas más relevantes, precisas y personalizadas.

Los modelos de Amazon Titan Text Embeddings generan representaciones semánticas significativas de documentos, párrafos y oraciones. Amazon Titan Text Embeddings toma como entrada un cuerpo de texto y genera un vector de 1024 (predeterminado), 512 o 256 dimensiones. Las incrustaciones de texto de Amazon Titan se ofrecen a través de una invocación de punto final con latencia optimizada para una búsqueda más rápida (recomendada durante el paso de recuperación) y trabajos por lotes con rendimiento optimizado para una indexación más rápida. Con Binary Embeddings, Amazon Titan Text Embeddings V2 representará datos como vectores binarios con cada dimensión codificada como un solo dígito binario (0 o 1). Esta representación binaria convertirá datos de alta dimensión en un formato más eficiente para el almacenamiento y el cálculo.

Amazon OpenSearch Serverless es una opción de implementación sin servidor para Amazon OpenSearch Service, un servicio totalmente administrado que simplifica la realización de análisis de registros interactivos, monitoreo de aplicaciones en tiempo real, búsqueda de sitios web y búsqueda vectorial con su complemento k-vecino más cercano (kNN). Admite algoritmos de vecino más cercano exactos y aproximados y múltiples motores de almacenamiento y comparación. Le facilita la creación de experiencias de búsqueda aumentada de aprendizaje automático (ML), aplicaciones de IA generativa y cargas de trabajo de análisis modernas sin tener que administrar la infraestructura subyacente.

El complemento OpenSearch Serverless kNN ahora admite vectores binarios y de 16 bits (FP16), además de vectores de punto flotante de 32 bits (FP32). Puede almacenar las incrustaciones binarias generadas por Amazon Titan Text Embeddings V2 por costos más bajos configurando el tipo de campo vectorial kNN en binario. Los vectores se pueden almacenar y buscar en OpenSearch Serverless utilizando las API PUT y GET.

Esta publicación resume los beneficios de esta nueva compatibilidad con vectores binarios en Amazon Titan Text Embeddings, Amazon Bedrock Knowledge Bases y OpenSearch Serverless, y le brinda información sobre cómo comenzar. El siguiente diagrama es un diagrama de arquitectura aproximado con las bases de conocimiento de Amazon Bedrock y Amazon OpenSearch Serverless.

Puede reducir la latencia y reducir los costos de almacenamiento y los requisitos de memoria en OpenSearch Serverless y Amazon Bedrock Knowledge Bases con una reducción mínima en la calidad de recuperación.

Ejecutamos el conjunto de datos de recuperación Massive Text Embedding Benchmark (MTEB) con incrustaciones binarias. En este conjunto de datos, redujimos el almacenamiento y observamos una mejora de 25 veces en la latencia. Las incorporaciones binarias mantuvieron el 98,5% de la precisión de recuperación con reclasificación y el 97% sin reclasificación. Compare estos resultados con los resultados que obtuvimos usando incrustaciones de precisión total (float32). En comparaciones de referencia RAG de extremo a extremo con incrustaciones de precisión total, las incrustaciones binarias con Amazon Titan Text Embeddings V2 conservan el 99,1 % de la exactitud de las respuestas de precisión total (98,6 % sin reclasificación). Alentamos a los clientes a realizar sus propias evaluaciones comparativas utilizando Amazon OpenSearch Serverless y Binary Embeddings para Amazon Titan Text Embeddings V2.

Las pruebas comparativas de OpenSearch Serverless que utilizan el algoritmo Hierarchical Navigable Small Worlds (HNSW) con vectores binarios han revelado una reducción del 50% en las unidades de computación OpenSearch (OCU) de búsqueda, lo que se traduce en ahorros de costos para los usuarios. El uso de índices binarios ha dado como resultado tiempos de recuperación significativamente más rápidos. Los métodos de búsqueda tradicionales a menudo se basan en cálculos computacionales intensivos, como L2 y distancias de cosenos, que pueden consumir muchos recursos. Por el contrario, los índices binarios en Amazon OpenSearch Serverless operan en distancias de Hamming, un enfoque más eficiente que acelera las consultas de búsqueda.

En las siguientes secciones discutiremos los procedimientos para incrustaciones binarias. con incrustaciones de texto de Amazon Titanbinario vectores (y FP16) para motor de vectorese incrustación binaria opción para Bases de conocimiento de Amazon Bedrock Para obtener más información sobre las bases de conocimientos de Amazon Bedrock, visite Knowledge Bases ahora ofrece una experiencia RAG totalmente administrada en Amazon Bedrock.

Genere incrustaciones binarias con Amazon Titan Text Embeddings V2

Amazon Titan Text Embeddings V2 ahora admite incrustaciones binarias y está optimizado para el rendimiento y la precisión de la recuperación en diferentes tamaños de dimensión (1024, 512, 256) con soporte de texto para más de 100 idiomas. De forma predeterminada, los modelos de Amazon Titan Text Embeddings producen incrustaciones con una precisión de coma flotante de 32 bits (FP32). Aunque el uso de un vector de 1024 dimensiones de incorporaciones FP32 ayuda a lograr una mayor precisión, también genera grandes requisitos de almacenamiento y costos relacionados en los casos de uso de recuperación.

Para generar incrustaciones binarias en el código, agregue el derecho embeddingTypes parámetro en su invoke_model Solicitud de API para Incrustaciones de texto de Amazon Titan V2:

import json
import boto3
import numpy as np
rt_client = boto3.client("bedrock-runtime")

response = rt_client.invoke_model(modelId="amazon.titan-embed-text-v2:0", 
          body=json.dumps(
               {
                   "inputText":"What is Amazon Bedrock?",
                   "embeddingTypes": ["binary","float"]
               }))['body'].read()

embedding = np.array(json.loads(response)["embeddingsByType"]["binary"], dtype=np.int8)

Como en la solicitud anterior, podemos solicitar la incrustación binaria sola o ambas incrustaciones binaria y flotante. lo anterior embedding arriba hay un vector binario de 1024 longitudes similar a:

array([0, 1, 1, ..., 0, 0, 0], dtype=int8)

Para obtener más información y código de muestra, consulte Texto de incrustaciones de Amazon Titan.

Configure las bases de conocimiento de Amazon Bedrock con incrustaciones de vectores binarios

Puede utilizar Amazon Bedrock Knowledge Bases, para aprovechar las incrustaciones binarias con Amazon Titan Text Embeddings V2 y los vectores binarios y coma flotante de 16 bits (FP16) para motor vectorial en Amazon OpenSearch Serverless, sin escribir una sola línea de código. Siga estos pasos:

  1. en el Consola Amazon Bedrockcrear una base de conocimientos. Proporcione los detalles de la base de conocimientos, incluidos el nombre y la descripción, y cree un rol de servicio nuevo o utilice uno existente con la información relevante. Gestión de acceso e identidad de AWS (IAM) permisos. Para obtener información sobre la creación de roles de servicio, consulte Roles de servicio. Bajo Elija la fuente de datoselegir amazon s3como se muestra en la siguiente captura de pantalla. Elegir Próximo.
  2. Configure la fuente de datos. Introduzca un nombre y una descripción. Definir el fuente S3 URI. Bajo Configuraciones de fragmentación y análisiselegir Por defecto. Elegir Próximo para continuar.
  3. Complete la configuración de la base de conocimientos seleccionando un modelo de incorporación. Para este tutorial, seleccione Incrustación de texto Titan v2. Bajo Tipo de incrustacioneselegir Incrustaciones de vectores binarios. Bajo Dimensiones vectorialeselegir 1024. Elegir Creación rápida de una nueva tienda de vectores. Esta opción configurará una nueva tienda Amazon Open Search Serverless que admita el tipo de datos binarios.

Puede consultar los detalles de la base de conocimientos después de la creación para monitorear el estado de sincronización de la fuente de datos. Una vez completada la sincronización, puede probar la base de conocimientos y comprobar las respuestas del FM.

Conclusión

Como hemos explorado a lo largo de esta publicación, las incrustaciones binarias son una opción en los modelos Amazon Titan Text Embeddings V2 disponibles en Amazon Bedrock y el almacén de vectores binarios en OpenSearch Serverless. Estas características reducen significativamente las necesidades de memoria y disco en Amazon Bedrock y OpenSearch Serverless, lo que genera menos OCU para la solución RAG. También experimentará un mejor rendimiento y una mejora en la latencia, pero habrá cierto impacto en la precisión de los resultados en comparación con el uso del tipo de datos flotante completo (FP32). Aunque la caída en la precisión es mínima, usted debe decidir si se adapta a su aplicación. Los beneficios específicos variarán según factores como el volumen de datos, el tráfico de búsqueda y los requisitos de almacenamiento, pero los ejemplos analizados en esta publicación ilustran el valor potencial.

La compatibilidad con Binary Embeddings en Amazon Open Search Serverless, Amazon Bedrock Knowledge Bases y Amazon Titan Text Embeddings v2 están disponibles hoy en todos Regiones de AWS donde los servicios ya están disponibles. Compruebe el Lista de regiones para más detalles y futuras actualizaciones. Para obtener más información sobre las bases de conocimientos de Amazon, visite el Bases de conocimiento de Amazon Bedrock página del producto. Para obtener más información sobre las incrustaciones de texto de Amazon Titan, visite Titán amazónico en lecho de roca amazónica. Para obtener más información sobre Amazon OpenSearch Serverless, visite el Amazon OpenSearch sin servidor página del producto. Para obtener detalles sobre los precios, revise la Precios de Amazon Bedrock página.

Pruebe la nueva característica en el Consola Amazon Bedrock hoy. Enviar comentarios a AWS re: Publicación para Amazon Bedrock o a través de sus contactos habituales de AWS e interactúe con la comunidad de creadores de IA generativa en comunidad.aws.


Acerca de los autores

Shreyas Subramanian es un científico de datos principal y ayuda a los clientes mediante el uso de IA generativa y aprendizaje profundo para resolver sus desafíos comerciales mediante los servicios de AWS. Shreyas tiene experiencia en optimización a gran escala y ML y en el uso de ML y aprendizaje por refuerzo para acelerar las tareas de optimización.

Ron Widha es gerente senior de desarrollo de software en Amazon Bedrock Knowledge Bases y ayuda a los clientes a crear fácilmente aplicaciones RAG escalables.

satish nandi es gerente senior de productos en Amazon OpenSearch Service. Está centrado en OpenSearch Serverless y tiene años de experiencia en redes, seguridad e IA/ML. Tiene una licenciatura en informática y un MBA en emprendimiento. En su tiempo libre, le gusta pilotar aviones, planear y andar en motocicleta.

Vamshi Vijay Nakkirtha es un gerente senior de desarrollo de software que trabaja en el proyecto OpenSearch y el servicio Amazon OpenSearch. Sus principales intereses incluyen los sistemas distribuidos.