¿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.

Rememberizer utiliza vector embeddings en bases de datos de vectores para permitir 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.

Un espacio multidimensional

En su forma más avanzada (como la utilizada por Rememberizer) los vector embeddings son creados por modelos de lenguaje con arquitecturas similares a los LLMs (Modelos de Lenguaje de Gran Tamaño) que sustentan los modelos gpt de OpenAI y el servicio ChatGPT, así como los modelos/servicios de Google (Gemini) , Anthropic (Claude), Facebook (LLama 2) y otros. Por esta razón, es natural usar vector embeddings para descubrir conocimientos relevantes para incluir en el contexto de los prompts del modelo de IA. Las tecnologías son complementarias y en cierto sentido equivalentes. Por esta razón, la mayoría de los proveedores de LLMs como servicio también producirán vector embeddings como servicio (por ejemplo: un blog de Together AI o otro blog de OpenAI).

¿Cómo se ve un vector embedding? Considere 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 vector embedding será una lista de algo así como 768 números representando un vector en un espacio de 768 dimensiones. Finalmente, esta lista de números puede representar pesos entre cero y uno en un modelo Transformador que define el significado en una frase como "Un rayo de luz salido 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 vector embedding permita la misma brillante aparente comprensión que observamos en los modernos modelos de lenguaje de inteligencia artificial.

Es importante destacar que los vector embeddings pueden utilizarse para representar más que solo texto, sino también otros tipos de datos como imágenes o sonidos. Y con un modelo debidamente entrenado, se puede comparar entre medios, de modo que un vector embedding en un bloque de texto puede compararse con una imagen, o viceversa. Hoy en día, Rememberizer permite búsquedas solo dentro 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á en el plan de desarrollo. Google utiliza vector embeddings para alimentar su búsqueda de texto (texto a texto) y también su búsqueda de imágenes (texto a imagen) (referencia). Facebook ha contemplado el uso de embeddings para su búsqueda en la red social (referencia). Snapchat utiliza vector embeddings para entender el contexto a fin de servir el anuncio correcto a la persona correcta en el momento correcto (referencia).

Para entender profundamente cómo funcionan los vector embedding y las bases de datos vectoriales, comienza con la visión general de Hugging Face. Pinecone (una base de datos de vector embedding como servicio) tiene también una buena visión general.

Otra gran fuente para entender la búsqueda y el conocimiento en vectores es el papel y el 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 una búsqueda de similitud eficiente y agrupación de vectores densos. Discute los métodos para optimizar los procesos de indexación y búsqueda en bases de datos vectoriales a gran escala, incluyendo aquellos basados en la Cuantización del 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 artículo de junio de 2017 que inició la revolución de la IA generativa (inteligencia artificial generativa), "Attention Is All You Need." (referencia) que introduce la arquitectura Transformadores 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. Conside también, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (referencia 1998, referencia 2010). Estos artículos discuten la teoría detrás de la búsqueda del vecino más cercano aproximado (ANN) en espacios de alta dimensión, un concepto central en las bases de datos de vectores para la recuperación eficiente de elementos similares.

Una cosa emocionante acerca de estos modelos basados en Transformers es que cuanto más datos utilizaron, más grandes (más parámetros) se volvieron, mejor fue su comprensión y capacidades. OpenAI se percató de esto primero cuando entrenaron su modelo GPT-2. Al darse cuenta de este potencial, inmediatamente dejaron de ser una entidad sin fines de lucro orientada al código abierto y se convirtieron en una empresa cerrada con fines de lucro centrada en la producción de GPT-3, GPT-4 y su famosa interfaz, ChatGPT. Curiosamente, Google es propietario de la patente de esta tecnología, fueron sus investigadores los que estuvieron detrás de Transformers y Attention Is All You Need (referencia). ChatGPT discrepa un poco acerca de mi caracterización, escribiendo que "La narrativa acerca de la transición de OpenAI de ser una entidad sin fines de lucro orientada al código abierto a una entidad con fines de lucro de código cerrado simplifica una evolución compleja. El cambio de OpenAI incluyó un enfoque en seguridad y desarrollo de IA responsable junto con aspectos de comercialización. También vale la pena señalar que mientras 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 se usan a menudo en motores avanzados de vector embedding. Esto se introdujo en el artículo de 2018 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (referencia). BERT (Bidirectional Encoder Representations from Transformers) marcó un cambio significativo hacia modelos preentrenados que pueden ser ajustados para una amplia gama de tareas de NLP. Su innovador uso de entrenamiento bidireccional y arquitectura transformadora estableció nuevos estándares de rendimiento del modelo en numerosas referencias. Métodos innovadores anteriores para crear vector embeddings fueron introducidos por GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe: Global Vectors for Word Representation" (referencia): El paper GloVe (Global Vectors) propuso un nuevo modelo global de regresión log-bilineal para el aprendizaje no supervisado de representaciones de palabras, combinando los beneficios de los dos enfoques principales para el embedding: factorización de matriz global y métodos de ventana de contexto local. "Efficient Estimation of Word Representations in Vector Space" (referencia): Este paper presentó Word2Vec, un enfoque revolucionario para generar embeddeds de palabras. Los modelos Word2Vec, incluyendo los modelos Continuous Bag of Words (CBOW) y Skip-Gram, son pivotales en la evolución de los embeddings de palabras.

Last updated