2 puntos por GN⁺ 2025-05-13 | 1 comentarios | Compartir por WhatsApp
  • Los embeddings ofrecen un potencial de avance revolucionario en el campo de la escritura técnica actual
  • Tienen la característica de devolver un arreglo numérico de dimensión fija sin importar el tamaño del texto de entrada
  • Este arreglo numérico permite hacer comparaciones matemáticas entre textos arbitrarios
  • Los embeddings calculan distancias según el significado del texto en un espacio multidimensional, y pueden usarse de muchas formas, como recomendaciones por relación, análisis semántico, etc.
  • En adelante, si los sitios de documentación técnica publican datos de embeddings, se espera que se amplíen los nuevos casos de uso de herramientas y de la comunidad

Panorama general de la tecnología de embeddings basada en aprendizaje automático

  • En la tecnología de aprendizaje automático, a diferencia de los modelos de generación de texto, los embeddings tienen el potencial de transformar de forma revolucionaria la escritura técnica
  • En los últimos años, el uso de embeddings se ha vuelto mucho más accesible
  • A través de embeddings, los redactores técnicos pueden realizar comparaciones y análisis semánticos entre distintos textos

Desarrollar intuición sobre los embeddings

  • Un embedding toma texto (palabras, oraciones, varios documentos, etc.) como entrada y devuelve un arreglo numérico de tamaño fijo
  • Sin importar la longitud del texto de entrada, siempre se genera un arreglo de datos del mismo tamaño
  • Gracias a esto, surge la posibilidad de comparar matemáticamente textos arbitrarios de diferentes longitudes

Cómo se generan los embeddings

  • Es posible generar embeddings con apenas unas cuantas líneas de código a través de los principales proveedores de servicios
  • Según el modelo utilizado, el tamaño del arreglo del embedding cambia; en Gemini se devuelven 768 valores numéricos y en Voyage AI, 1024
  • Como el significado de los embeddings cambia por completo según el proveedor o el modelo, no existe compatibilidad entre ellos

Costos e impacto ambiental

  • La generación de embeddings en sí no tiene un costo alto
  • Se estima que el proceso de generación consume menos recursos computacionales que los modelos de generación de texto, aunque para evaluar el impacto ambiental aún se necesita más información

Criterios para elegir un modelo de embeddings

  • El modelo más adecuado varía según la capacidad de admitir grandes volúmenes de datos de entrada
  • En 2024, voyage-3 de Voyage AI ofrece el límite de entrada más alto
  • Es importante elegir un modelo acorde con el propósito de uso y las necesidades

Concepto de espacio multidimensional

  • Cada valor del arreglo numérico del embedding corresponde a una coordenada en un espacio multidimensional, y las características del texto se expresan como una posición semántica dentro de ese espacio
  • Por ejemplo, operaciones como king - man + womanqueen muestran la posibilidad de representar relaciones semánticas
  • Las características de cada dimensión en el espacio de embeddings son en su mayoría difusas y abstractas
  • Mediante este proceso, se vuelve posible el aprendizaje del significado por parte de la máquina y la inferencia semántica del texto

Comparación y almacenamiento de embeddings

  • Los embeddings generados se almacenan para cada texto (por ejemplo, cada página) en una base de datos o similar
  • Al calcular la distancia matemática entre dos embeddings (usando álgebra lineal), es posible determinar la similitud semántica
  • Con bibliotecas como NumPy y scikit-learn, la carga de implementar fórmulas complejas es baja

Ejemplos de aplicación de los embeddings

  • En sitios de documentación técnica, los embeddings se usan eficazmente en funciones de recomendación de páginas relacionadas
  • Tras generar embeddings para cada página, es posible recomendar documentos semánticamente relacionados entre páginas con alta similitud numérica
  • Cada vez que cambia el contenido de una página, basta con actualizar su embedding, por lo que la eficiencia es sobresaliente
  • Los resultados de aplicarlo a la documentación de [Sphinx] confirmaron un desempeño positivo

Comunidad y posibilidades de datos abiertos

  • En el futuro, los sitios de documentación podrían ofrecer datos de embeddings a través de una REST API o well-known URIs
  • Esto permitiría a la comunidad desarrollar diversas herramientas y servicios de aplicación

Conclusión

  • Resulta interesante tener la oportunidad de relacionar el concepto de un espacio de cientos de dimensiones con el trabajo cotidiano
  • Con la adopción de embeddings, puede esperarse un potencial de avance transformador en áreas como el mantenimiento de documentación y la ampliación de funcionalidades

1 comentarios

 
GN⁺ 2025-05-13
Opiniones de Hacker News
  • Hola, quiero agradecer que hayan escrito este artículo
    Quería señalar que hubo una discusión similar hace 6 meses
    La frase “los embeddings están subestimados” buscaba enfatizar que son una herramienta útil para escritores técnicos más que para quienes trabajan en machine learning
    Soy consciente de que en este texto faltan detalles sobre cómo exactamente se usan los embeddings en la redacción técnica
    Estoy preparando proyectos y publicaciones de blog sobre el uso de embeddings
    Los embeddings son importantes porque pueden ayudar a resolver tres problemas difíciles en la redacción técnica

    • Para que se pueda experimentar públicamente cómo los embeddings ayudan con el problema de no encontrar fácilmente la información que uno quiere, probé aplicar una capa de UX con “semantic scrolling”
      Más que una búsqueda, permite recorrer clústeres en una estructura de árbol con <details>/<summary>
      [1] es el punto de inicio y [2] es la colección completa (libros, películas, música, anime, etc.)
      También comparto los enlaces

    • Sería bueno estructurar el contenido para que resulte más atractivo para escritores técnicos que para especialistas en machine learning
      Por ejemplo, convendría explicar con más detalle la parte de “descubrir conexiones entre textos a una escala antes imposible”
      Si se pusieran ejemplos de aplicación más al principio, el mensaje llegaría mejor a los lectores

    • Como ejemplo de aplicación directa de los embeddings a la redacción técnica, recomiendo un paper relacionado
      Comparto el enlace

    • Después de leer esto, me da curiosidad saber cómo fue la calidad del resultado
      Sin llegar a las evaluaciones formales (evals) que gustan en machine learning, quisiera saber si en términos generales el resultado parece razonable

    • Leí el texto, pero no encontré una explicación de qué es un “embedding”
      En el tercer párrafo se habla de cómo usarlo, pero falta una definición del embedding mismo al inicio

    • Para alguien principiante, se siente como un texto demasiado básico
      Después de leerlo no obtuve información ni ideas nuevas
      Si al menos hubiera mostrado una pequeña prueba de un caso clave de uso de embeddings, me habría dejado con más expectativa por el siguiente artículo
      De todos modos, gracias por compartirlo

  • Otra ventaja de los embeddings y la búsqueda por embeddings es que se pueden implementar del lado del cliente con poca carga
    Los modelos ONNX pueden cargarse y ejecutarse con transformer.js
    También se puede crear un índice como hnsw y alojarlo de forma estática
    Incluso hice un demo open source
    Basta con representar el índice como archivos Parquet consultables y hacer consultas con duckdb
    Con Github Pages se puede hacer gratis o casi gratis

    • Es un descubrimiento nuevo para mí que se puedan hacer embeddings del lado del cliente con JS
      Me entusiasma porque parece abrir nuevas aplicaciones para sitios de documentación
      Empecé a prestar atención a Parquet y Polars por un artículo que había leído antes

    • Tenía curiosidad sobre una implementación así
      He dudado en adoptarla porque me preocupa la latencia de la búsqueda basada en embeddings
      Si el modelo se ejecuta localmente, me pregunto cómo queda la calidad frente a OpenAI/Google
      Lo gratis y la inmediatez son ventajas

    • Estaría bien que explicaran con más detalle qué está pasando en el demo
      No termino de entender bien el resultado

  • Me gustaría que se explicara con más claridad la parte de que “los embeddings siempre devuelven un arreglo de números del mismo tamaño sin importar el tamaño del texto de entrada, así que se puede comparar matemáticamente cualquier texto entre sí”
    Una función hash también produce un resultado del mismo tamaño sin importar el tamaño de la entrada, pero esa comparación matemática y la de los embeddings tienen significados completamente distintos
    Hay que enfatizar que la calidad de un embedding depende del proceso de entrenamiento
    No existe un “embedding universal” que permita comparaciones significativas para texto arbitrario

    • Gracias por el feedback; estoy leyendo papers relacionados como Gecko, NV-Embed y Gemini Embedding, así que voy a corregir el texto para que sea más preciso
      También comparto los enlaces
  • Los embeddings, igual que los hashes, comprimen y representan entradas grandes, pero a diferencia de los hashes, los embeddings tienen significado intrínseco
    Entonces me pregunto si existe investigación sobre “cracking” para generar a la inversa texto con significado parecido a partir de embeddings
    También parece posible incluir en la evaluación del siguiente token de la salida de un LLM cambios en la similitud o en la dirección respecto del embedding
    Al igual que las operaciones entre vectores de embedding que mencionó el autor, imagino si se podría aplicar una “álgebra del significado” también a textos grandes como párrafos completos o libros
    Me pregunto si sería posible vectorizar un concepto clave como la “afinidad” y sumarlo a un texto existente

    • “Generar a la inversa texto de significado parecido a partir de embeddings” se llama embedding inversion o Universal Zero-shot Embedding Inversion
      Hay papers relacionados, y también se relaciona con diffusion en imágenes usando embeddings de CLIP

    • En términos muy generales, los embeddings cumplen una función parecida a los fuzzy hashes

    • No soy especialista en este campo, pero también hay investigación sobre inference-time intervention que podría estar relacionada
      Adjunto un enlace al paper

  • La frase “se puede lograr un avance de primer nivel en redacción técnica usando embeddings” no es concreta y como lector no me resulta útil
    En general, al leer o escribir documentación técnica, nunca he sentido que necesitara un widget de “páginas similares”

    • La tesis está en el segundo párrafo
      Los embeddings permiten que los escritores técnicos encuentren conexiones entre textos de formas que antes no podían descubrir
      Admito que el post no logra mostrar esta tesis con ejemplos prácticos
      Creo que los embeddings pueden resolver varios problemas difíciles de la redacción técnica, y pienso tratar ejemplos directos más adelante

    • Más allá de los documentos relacionados, la documentación técnica se beneficia muchísimo de una gran búsqueda
      Los embeddings son especialmente útiles para el “fuzzy matching” y permiten encontrar la función que el usuario realmente busca aunque no recuerde las palabras exactas
      Un enfoque híbrido que combine búsqueda por palabras clave y búsqueda por similitud vectorial es eficiente
      Me gustaría encontrar más ejemplos concretos de uso

  • La analogía del mapa en 2D es un buen punto de partida para entenderlo, pero los embeddings operan en cientos o miles de dimensiones
    Tampoco está claro qué significado tiene cada dimensión, y el ejemplo de 'king - man + woman = queen' no se debe a que exista una “dimensión de género”, sino a que existe una “dirección” específica
    En n dimensiones existen exponencialmente muchas direcciones casi ortogonales
    Esa es la razón por la que se pueden contener miles de millones de conceptos en un espacio de 1000 dimensiones

    • En papers reales de arXiv, si metes 1000 palabras masculinas en embeddings, no pasa que encuentres con precisión 950 palabras femeninas
      Unas 20 sí se agrupan de forma visible, pero como hay muchas dimensiones, al proyectar casi cualquier cosa puede parecer “correcta”
      Cuando N crece, el resultado tiende a volverse ambiguo
      Los embeddings basados en transformers consideran el contexto, así que son muy superiores a los antiguos word vectors
      Incluso en búsqueda de texto completo, los embeddings con conciencia de contexto resuelven eficazmente problemas del área de recuperación de información que se vienen intentando abordar desde hace 50 años, como el manejo de sinónimos

    • Gracias por la crítica detallada; reconozco que fue un error conceptual explicar como si una dimensión individual se mapeara uno a uno con un concepto
      Voy a pulir el concepto junto con el funcionamiento de la similitud coseno y corregir el post
      Siento que gracias a este comentario mejoró la calidad de mi manera de pensar

    • Quiero enfatizar que la expresión correcta no es “dimensiones casi ortogonales”, sino “direcciones casi ortogonales”

    • Tengo curiosidad sobre la conservación de dimensiones y la precisión con que se preservan las distancias en embeddings, junto con información sobre el Johnson-Lindenstrauss lemma
      Para preservar distancias con un error del 10%, se necesitarían unas 18 mil dimensiones
      También comparto un enlace a Wikipedia

    • Para ser aún más precisos, no son “dimensiones casi ortogonales”, sino “direcciones casi ortogonales”

    • Si una dimensión individual coincidiera con un concepto significativo, por ejemplo si hubiera una dimensión de género, entonces sería fácil detectar que la diferencia entre “king” y “queen” existe solo en una dimensión
      Si hubiera una dimensión para cada concepto, se podrían seguir intuitivamente esos conceptos a partir de esa diferencia

    • Comparto un buen artículo sobre el concepto de vectores casi ortogonales
      Comparto el enlace

    • Me pregunto si el principio es tratar cada dimensión como un bit para codificar 2^n direcciones, o si lo estoy entendiendo mal

    • Si el género se representara con dos dimensiones, ¿no sería imposible distinguir entre “el género es diferente” y “cada dimensión tiene componentes diferentes”?

    • Aunque no se pueda visualizar, sí se puede calcular la distancia euclidiana
      También se puede reducir la dimensionalidad con herramientas como UMAP

    • Respecto al ejemplo king-man+woman=queen, la operación de suma vectorial no siempre funciona como uno quisiera
      El significado puede estar limitado solo por la dirección y magnitud de un vector individual, y como la red aprende comportamientos no lineales, el significado puede cambiar según el punto de partida
      Sin evidencia experimental, hay límites para generalizar a partir de operaciones vectoriales simples

  • Los embeddings son un nuevo salto hacia la universalidad, como el alfabeto o los números
    Comparto un enlace

  • Una pregunta para especialistas
    Si los embeddings capturan el contenido, es decir, el significado mismo, en vectores, ¿existe también un vector separado solo para el “estilo”?
    Pienso que sería un gran avance si los embeddings pudieran usarse fácilmente también en investigaciones que analizan estilo y forma de escritura

    • Si existe un dataset con estilos similares, se puede entrenar y crear un embedding dedicado solo al estilo
  • Estoy totalmente de acuerdo con el uso de embeddings
    Al desarrollar algo llamado Recallify, logré volver a encontrar rápidamente incluso información poco común que había leído en línea
    Incluso usando solo 1024 dimensiones, conecta el contenido de forma efectiva por similitud semántica y no por palabras clave
    Es una herramienta revolucionaria para convertir conceptos ambiguos en insights accionables
    También estoy buscando beta testers para una app de iOS

  • No sé si en el artículo aparecía algún caso de uso directo para escritores técnicos
    Los embeddings son muy importantes en LLM, búsqueda semántica, etc., pero falta una explicación del beneficio directo que el autor está insinuando

    • No apareció ningún ejemplo de aplicación directa
      Quería tratar varios usos de embeddings en un post de seguimiento y en proyectos, pero se me retrasó recientemente por la crianza de mi bebé de 3 meses
      Estoy preparando proyectos y textos relacionados para más adelante, y los embeddings ayudan a resolver tres problemas importantes en la redacción técnica

    • Los usos prácticos de los embeddings son búsqueda semántica, clasificación y clustering
      En el área de búsqueda hay un gran avance aproximadamente cada 10 años
      Si generas embeddings y los metes en algoritmos clásicos de ML, puedes clasificar de forma efectiva
      El enfoque Bag-of-Words ya da resultados flojos; con embeddings más algoritmos simples se pueden obtener buenos clústeres
      Para encontrar vectores cercanos, más que álgebra lineal compleja, suele bastar con algo como el producto punto

    • Sería muy útil buscar papers y literatura de forma semántica usando embeddings
      Pero los embeddings en sí no incluyen información de procedencia, así que en búsquedas RAG solo pueden llevar a la página fuente
      Los problemas de citas y verificación siguen ahí
      Modelos de citas basados en grafos como GraphRAG son un avance más prometedor

    • Hice un clasificador de feeds RSS con búsqueda semántica basada en embeddings
      También permite clasificación basada en categorías arbitrarias
      Actualmente el servicio está fuera de línea porque dejé AWS