¿Qué son los Embeddings Vectoriales y las Bases de Datos Vectoriales?
Por qué Rememberizer es más que una base de datos o un motor de búsqueda por palabras clave.
Last updated
Por qué Rememberizer es más que una base de datos o un motor de búsqueda por palabras clave.
Last updated
Rememberizer utiliza embeddings vectoriales en bases de datos vectoriales para habilitar búsquedas de similitud semántica dentro de las fuentes de conocimiento del usuario. Esta es una forma de recuperación de información fundamentalmente más avanzada y matizada que simplemente buscar palabras clave en el contenido a través de un motor de búsqueda o base de datos.
En su forma más avanzada (como la que utiliza Rememberizer), los embeddings vectoriales son creados por modelos de lenguaje con arquitecturas similares a los LLMs de IA (Modelos de Lenguaje Grande) que sustentan los modelos gpt de OpenAI y el servicio ChatGPT, así como modelos/servicios de Google (Gemini), Anthropic (Claude), Facebook (LLama 2) y otros. Por esta razón, es natural utilizar embeddings vectoriales para descubrir conocimiento relevante que incluir en el contexto de los prompts de modelos de IA. Las tecnologías son complementarias y algo equivalentes. Por esta razón, la mayoría de los proveedores de LLMs como servicio también producirán embeddings vectoriales como servicio (por ejemplo: un blog de Together AI o otro blog de OpenAI).
¿Cómo se ve un embedding vectorial? Considera una coordenada (x,y) en dos dimensiones. Si representa una línea desde el origen hasta este punto, podemos pensar en ella como una línea con una dirección, en otras palabras, un vector en dos dimensiones. En nuestro contexto, un embedding vectorial será una lista de algo como 768 números que representan un vector en un espacio de 768 dimensiones. En última instancia, esta lista de números puede representar pesos entre cero y uno en un modelo Transformer que definen el significado en una frase como "Un rayo de luz de la nada." Esta es fundamentalmente la misma representación subyacente del significado utilizada en GPT-4, por ejemplo. Como resultado, podemos esperar que un buen embedding vectorial permita la misma brillante comprensión aparente que vemos en los modernos modelos de lenguaje de IA.
Vale la pena señalar que los embeddings vectoriales pueden ser utilizados para representar más que solo texto, sino también otros tipos de datos como imágenes o sonido. Y con un modelo adecuadamente entrenado, se puede comparar a través de medios, de modo que un embedding vectorial en un bloque de texto puede ser comparado con una imagen, o viceversa. Hoy en día, Rememberizer permite búsquedas dentro solo del componente de texto de los documentos y conocimientos del usuario. Pero la búsqueda de texto a imagen y de imagen a texto están en la hoja de ruta. Google utiliza embeddings vectoriales para potenciar su búsqueda de texto (texto a texto) y también su búsqueda de imágenes (texto a imagen) (referencia). Facebook ha contemplado utilizar embeddings para su búsqueda en la red social (referencia). Snapchat utiliza embeddings vectoriales para entender el contexto con el fin de servir el anuncio correcto al usuario correcto en el momento adecuado (referencia).
Para entender profundamente cómo funcionan los embeddings vectoriales y las bases de datos vectoriales, comienza con la visión general de Hugging Face. Pinecone (una base de datos de embeddings vectoriales como servicio) también tiene una buena visión general .
Otra gran fuente para entender la búsqueda y el conocimiento en vectores es el documento y código de Meta/Facebook para la biblioteca FAISS. "FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors" por Johnson, Douze y Jégou (2017): FAISS proporciona una visión general completa de una biblioteca diseñada para la búsqueda de similitud eficiente y el agrupamiento de vectores densos. Discute métodos para optimizar los procesos de indexación y búsqueda en bases de datos vectoriales a gran escala, incluyendo aquellas basadas en la Cuantización de Producto. El mejor lugar para aprender más sobre esto es la documentación junto con el código en Github.
Asegúrate de considerar el documento de junio de 2017 que inició la revolución de la genAI (inteligencia artificial generativa), "La Atención es Todo lo que Necesitas." (referencia) que introduce la arquitectura Transformer detrás de los modelos GPT y todos los LLMs que siguen de OpenAI, Google, Meta (Facebook), Nvidia, Microsoft, IBM, Anthropic, Mistral, Salesforce, xAI (Elon Musk), Stability AI, Cohere y muchas otras fuentes abiertas. Considera también, "Vecinos Más Cercanos Aproximados: Hacia la Eliminación de la Maldición de la Dimensionalidad" (referencia 1998, referencia 2010). Estos documentos discuten la teoría detrás de la búsqueda de vecinos más cercanos aproximados (ANN) en espacios de alta dimensión, un concepto central en las bases de datos vectoriales para recuperar eficientemente elementos similares.
Una cosa emocionante sobre estos modelos basados en Transformers es que cuanto más datos usaron, más grandes (más parámetros) se volvieron, mejor fue su comprensión y capacidades. OpenAI notó esto por primera vez cuando entrenaron su modelo GPT-2. Al darse cuenta de este potencial, inmediatamente dejaron de ser una organización sin fines de lucro orientada al código abierto y se convirtieron en una empresa con fines de lucro y código cerrado enfocada en producir GPT-3, GPT-4 y su famoso front end, ChatGPT. Curiosamente, Google posee la patente sobre esta tecnología: fueron sus investigadores quienes desarrollaron Transformers y "La Atención es Todo lo que Necesitas" (referencia). ChatGPT tiene una ligera discrepancia sobre mi caracterización, escribiendo que "La narrativa en torno a la transición de OpenAI de una organización sin fines de lucro orientada al código abierto a una entidad con fines de lucro y código cerrado simplifica una evolución compleja. El cambio de OpenAI incluyó un enfoque en la seguridad y el desarrollo responsable de la IA junto con aspectos de comercialización. También vale la pena señalar que, aunque OpenAI ha priorizado el desarrollo de tecnología propietaria como GPT-3 y más allá, continúa interactuando con la comunidad de investigación a través de publicaciones y colaboraciones."
Los modelos de lenguaje BERT se basan en Transformers y a menudo se utilizan en motores avanzados de embeddings vectoriales. Esto se introdujo en el documento de 2018 "BERT: Pre-entrenamiento de Transformers Bidireccionales Profundos para la Comprensión del Lenguaje" (referencia). BERT (Representaciones de Codificadores Bidireccionales de Transformers) marcó un cambio significativo hacia modelos preentrenados que pueden ser ajustados para una amplia gama de tareas de PLN. Su uso innovador de entrenamiento bidireccional y arquitectura transformer estableció nuevos estándares para el rendimiento del modelo en numerosos benchmarks. Métodos innovadores anteriores para crear embeddings vectoriales fueron introducidos por GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe: Vectores Globales para la Representación de Palabras" (referencia): El documento de GloVe (Vectores Globales) propuso un nuevo modelo de regresión log-bilineal global para el aprendizaje no supervisado de representaciones de palabras, combinando los beneficios de los dos enfoques principales para la incrustación: la factorización de matrices global y los métodos de ventana de contexto local. "Estimación Eficiente de Representaciones de Palabras en el Espacio Vectorial" (referencia): Este documento introdujo Word2Vec, un enfoque innovador para generar embeddings de palabras. Los modelos Word2Vec, incluyendo los modelos de Bolsa de Palabras Continua (CBOW) y Skip-Gram, son fundamentales en la evolución de los embeddings de palabras.