¿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 debidamente 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 usar 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, incluidos aquellos basados en la Cuantización de Productos. 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), "Attention Is All You Need." (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, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (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 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 de 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 Attention Is All You Need (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 de 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-training of Deep Bidirectional Transformers for Language Understanding" (referencia). BERT (Representaciones de Codificador Bidireccional 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: Global Vectors for Word Representation" (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 globales y los métodos de ventana de contexto local. "Estimación Eficiente de Representaciones de Palabras en Espacio Vectorial" (referencia): Este documento introdujo Word2Vec, un enfoque innovador para generar embeddings de palabras. Los modelos Word2Vec, incluidos los modelos Continuous Bag of Words (CBOW) y Skip-Gram, son fundamentales en la evolución de los embeddings de palabras.