7 puntos por GN⁺ 2024-11-02 | 3 comentarios | Compartir por WhatsApp
  • El aprendizaje automático (ML) tiene el potencial de impulsar el estado del arte en la redacción de documentación técnica
  • Los embeddings, y no los modelos de generación de texto como Claude, Gemini, LLaMa o GPT, podrían ser la tecnología de ML con mayor impacto en la redacción de documentación técnica
  • Los embeddings no son exactamente nuevos, pero en los últimos años se han vuelto mucho más accesibles
  • Los embeddings les dan a los redactores técnicos la capacidad de descubrir conexiones entre textos a una escala que antes era imposible

Construyendo intuición sobre los embeddings

Entrada y salida

  • Lo que se ingresa para crear un embedding es texto
  • No es necesario proporcionar siempre la misma cantidad de texto
    • A veces la entrada es un solo párrafo y otras veces pueden ser varias secciones, un documento completo o varios documentos
  • La salida es un arreglo de números
    • Si ingresas una sola palabra, la salida es un arreglo de números como [-0.02387, -0.0353, 0.0456]
    • Si ingresas un conjunto completo de documentos, la salida tiene una forma como [0.0451, -0.0154, 0.0020]
  • Sin importar el tamaño de la entrada, siempre obtienes la misma cantidad de números
    • Esto te da una forma de comparar matemáticamente entre sí cualesquiera dos textos
  • En embeddings reales, el arreglo contiene cientos o miles de números, no solo 3

Cómo crear embeddings

  • Los grandes proveedores de servicios facilitan la generación de embeddings
  • El modelo text-embedding-004 de Gemini devuelve un arreglo de 768 números, y el modelo voyage-3 de Voyage AI devuelve un arreglo de 1024 números
  • Los embeddings de distintos proveedores no son compatibles entre sí

¿Es costoso?

No.

¿Es malo para el medio ambiente?

  • Generar embeddings no requiere tanto cómputo como generar texto
  • Sin embargo, los modelos de embeddings parecen entrenarse de forma similar a los modelos de generación de texto, lo que implica uso de energía
  • Actualizaré esta sección cuando sepa más

¿Qué modelo es el mejor?

  • Idealmente, un modelo de embeddings debería poder aceptar una cantidad enorme de texto de entrada para generar embeddings de páginas completas
  • A octubre de 2024, voyage-3 parece ser el mejor en términos de tamaño de entrada
  • Los límites de entrada se basan en tokens y cada servicio calcula los tokens de forma distinta, así que no conviene dar demasiado peso a las cifras exactas

Un espacio multidimensional muy extraño

  • ¿Qué significan los números de un embedding?
  • Piensa en las coordenadas de un mapa
    • Un embedding es similar a un punto en un mapa
    • Cada número del arreglo de embeddings es una dimensión, similar a una coordenada X o Y
    • Si un modelo de embeddings devuelve un arreglo de 1000 números, te está indicando el punto en un espacio de 1000 dimensiones donde ese texto existe en relación semántica con todos los demás textos
    • Cuando comparas la distancia entre dos embeddings, lo que realmente haces es determinar qué tan cerca o lejos están semánticamente dos textos entre sí
  • El concepto de ubicar elementos en este espacio multidimensional donde los elementos relacionados se agrupan cerca entre sí se conoce como latent space
  • Ejemplo famoso del paper de Word2vec:
    • embedding("king") - embedding("man") + embedding("woman") ≈ embedding("queen")
    • Los embeddings pueden representar relaciones semánticas de una manera que resulta intuitiva para los humanos
  • Como los embeddings operan en cientos o miles de dimensiones, es imposible visualizar cómo se ve la “distancia” en 1000 dimensiones para un ser de 3 dimensiones
  • No se puede saber qué representa cada dimensión

Comparación de embeddings

  • Después de generar embeddings, necesitas algún tipo de “base de datos” para llevar el registro de qué texto está asociado con cada embedding
  • Aquí interviene bastante álgebra lineal, y bibliotecas matemáticas y de ML como NumPy y scikit-learn pueden encargarse del trabajo pesado

Aplicaciones

  • Vale la pena explorar directamente cómo los embeddings pueden impulsar el estado del arte en la redacción de documentación técnica

Que florezcan miles de embeddings

  • Como propietario de un sitio de documentación, surge la duda de si deberías ofrecer libremente embeddings de tu contenido a quien los quiera, mediante una API REST o un URI bien conocido
  • No se sabe qué cosas geniales podría construir la comunidad con este tipo adicional de datos de documentación

Conclusión

  • Si hace 3 años me hubieran preguntado qué es un espacio de 768 dimensiones, habría dicho que solo era un concepto abstracto que físicos y matemáticos necesitan por razones que yo no podía entender
  • Los embeddings dan una razón para pensar más a fondo en esta idea y aplicarla realmente al propio trabajo
  • Todavía podrían ser posibles mejoras de escala en la capacidad de mantenimiento de la documentación; ¡quizá hagan falta dimensiones de un orden todavía mayor!

Apéndice

Implementación

Resultados

  • Cómo interpretar los datos:
    • Target es la página que estás viendo actualmente
    • Neighbor sería la página recomendada
  • En la tabla de resultados se puede ver que las páginas relacionadas se están recomendando entre sí

Opinión de GN⁺

  • La tecnología de embeddings parece ser de gran ayuda en el campo de la documentación técnica para identificar relaciones entre contenidos y descubrir conexiones entre documentos. En especial, sería aún más útil en proyectos de documentación a gran escala que deben manejar enormes volúmenes de documentos
  • Sin embargo, los modelos de embeddings siguen teniendo un consumo energético considerable y también existen preocupaciones éticas, por lo que su adopción parece requerir una evaluación cuidadosa. Deberían acompañarse esfuerzos para minimizar el impacto ambiental de la generación de embeddings, además de asegurar recursos de cómputo suficientes
  • Ofrecer embeddings desde un sitio de documentación vía API podría ser una buena manera de fomentar usos creativos por parte de la comunidad de desarrolladores. Pero primero habría que preparar medidas frente a temas de seguridad de datos y privacidad
  • En startups o iniciativas del ámbito de la documentación técnica, valdría la pena adoptar activamente la tecnología de embeddings. Podría ofrecer funciones diferenciadas frente a las soluciones tradicionales de gestión documental y brindar una experiencia más amigable para las personas en búsqueda, recomendación y otros usos
  • También vale la pena esperar investigaciones sobre el uso de embeddings para resumen de documentos, traducción y clasificación de temas. Si se combinan las técnicas más recientes de procesamiento de lenguaje natural con embeddings, podrían aportar innovación a la redacción y gestión de documentación técnica

3 comentarios

 
yangeok 2024-11-08

Escritor técnico, jaja

 
cosine20 2024-11-04

Al ver las incrustaciones de texto y el proceso de entrenamiento que se usan en el área del procesamiento de lenguaje natural, me dio la impresión de que son realmente muy similares al proceso por el que los humanos adquieren y usan el lenguaje cuando casi no conocen la gramática.
Como dice el texto, creo que tiene muchísimo potencial.

 
GN⁺ 2024-11-02
Opiniones de Hacker News
  • En la IA moderna, los embeddings resultan interesantes como el único elemento que le da más poder a las personas. Son como la "bicicleta para nuestra mente" de la que hablaba Steve Jobs, es decir, una amplificación de la inteligencia. El mayor avance en la usabilidad de las computadoras fue la introducción de la búsqueda local rápida y universal. Uso con frecuencia la función "Buscar en la página" de Firefox, y uso búsqueda y grep todos los días. Los embeddings podrían resolver la mayor debilidad de la búsqueda al ofrecer una búsqueda difusa realmente útil

  • Como propietario de un sitio de documentación, me pregunto si debería considerar ofrecer embeddings libremente mediante una API REST o un URI bien conocido. Habría que dejar claro qué modelo de embeddings se usó, y existe la duda de si hay algún modelo de embeddings adecuado para documentación técnica

  • Aunque hay preocupaciones ambientales, creo que la opinión popular de que reducir el uso de la IA puede resolver el problema climático es equivocada. Por ejemplo, si se prohibiera Google Maps, la gente elegiría rutas incorrectas y consumiría más combustible. Lo mismo pasa con la generación de documentación usando embeddings: usar recursos de cómputo es más eficiente

  • Comparte una experiencia interesante sobre cómo usar embeddings en una web app. Explica mediante documentación cómo utilizar embeddings en producción

  • Parece que los embeddings representan todo de la cadena de entrada, así que da la impresión de que no tienen un objetivo específico. Surge la pregunta de cómo reducir la dimensionalidad de embeddings para una aplicación concreta. Por ejemplo, al construir un sistema para encontrar conversaciones de soporte técnico, hay curiosidad por saber cómo derivar embeddings que representen solo el contenido de la conversación

  • Los embeddings vectoriales son un resumen único de un documento, parecido a un hash. Sería bueno que existiera un estándar universal para generar embeddings, pero como varían según el modelo de IA, no pueden tener una "permanencia" como la de un hash. Parece haber muchas formas de aprovechar algoritmos como la similitud de coseno en bases de datos y apps de procesamiento de información

  • Creo que los embeddings están subestimados. El campo de búsqueda/descubrimiento de información sigue usando descubrimiento basado en palabras clave y no adopta herramientas modernas de descubrimiento semántico. Ahorro tiempo convirtiendo oraciones en embeddings vectoriales, aplicando clustering con k-means y luego resumiendo con ChatGPT

  • Se sugiere que los redactores técnicos están subestimando la utilidad de los embeddings. Los profesionales de machine learning no los subestiman

  • Hay una pregunta sobre si el modelo de embeddings de OpenAI admite 8191/8192 tokens. Declarar un ganador por tamaño de tokens es engañoso; hay factores más importantes, como el soporte multilingüe y la precisión

  • Creo que los embeddings están sobrevalorados y no son la solución mágica que mucha gente esperaba. No reemplazan por completo métodos simples como BM25 y solo ofrecen una comprensión semántica limitada. Las expectativas altas llevan a creer que los embeddings encontrarán exactamente lo que uno quiere buscar, pero si no se revisan los resultados con cuidado, es difícil notar las discrepancias