¿Qué son las integraciones en el aprendizaje automático?

Las integraciones representan objetos del mundo real, como palabras, imágenes o vídeos, de una manera que los ordenadores pueden procesar. Las integraciones permiten buscar similitudes y son fundamentales para la IA.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Definir vectores e integraciones
  • Explicar cómo los vectores permiten buscar similitudes
  • Describir cómo se crean las integraciones

Contenido relacionado


¿Quieres saber más?

Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar el enlace del artículo

¿Qué son las integraciones?

Las integraciones son representaciones de valores u objetos, como texto, imágenes y audio, diseñadas para ser consumidas por modelos de aprendizaje automático y algoritmos de búsqueda semántica. Traducen objetos como estos a una forma matemática, según los factores o rasgos que cada uno puede o no tener y las categorías a las que pertenecen.

Esencialmente, las integraciones permiten a los modelos de aprendizaje automático encontrar objetos similares. Dada una foto o un documento, un modelo de aprendizaje automático que utilice integraciones podría encontrar una foto o un documento similar. Dado que las integraciones hacen posible que los ordenadores comprendan las relaciones entre las palabras y otros objetos, son fundamentales para la inteligencia artificial (IA).

Por ejemplo, los documentos en la parte superior derecha de este espacio bidimensional pueden ser relevantes entre sí:

Integraciones: documentos agrupados en un espacio vectorial

Técnicamente, las integraciones son vectores creados por modelos de aprendizaje automático con el fin de captar datos significativos sobre cada objeto.

¿Qué es un vector en aprendizaje automático?

En matemáticas, un vector es una serie de números que definen un punto en un espacio dimensional. En términos más prácticos, un vector es una lista de números — como {1989, 22, 9, 180}. Cada número indica dónde se encuentra el objeto a lo largo de una dimensión determinada.

En el aprendizaje automático, el uso de los vectores permite buscar objetos similares. Un algoritmo de búsqueda de vectores simplemente tiene que encontrar dos vectores que estén próximos en una base de datos vectorial.

Para entenderlo mejor, piensa en la latitud y longitud. Estas dos dimensiones —norte-sur y este-oeste, respectivamente— pueden indicar la ubicación de cualquier lugar de la Tierra. La ciudad de Vancouver, Columbia Británica, Canadá, se puede representar como las coordenadas de latitud y longitud {49°15'40"N, 123°06'50"O}. Esta lista de dos valores es un vector simple.

Ahora, imagina que intentas encontrar una ciudad que se encuentre muy cerca de Vancouver. Una persona se limitaría a mirar un mapa, mientras que un modelo de aprendizaje automático podría, en cambio, ver la latitud y la longitud (o vector) y encontrar un lugar con una latitud y longitud similares. La ciudad de Burnaby está a {49°16'N, 122°58'O} — muy cerca de {49°15'40"N, 123°06'50"O}. Por lo tanto, el modelo puede concluir, correctamente, que Burnaby se encuentra cerca de Vancouver.

Añadir más dimensiones a los vectores

Ahora, imagina que intentas encontrar una ciudad que no solo esté cerca de Vancouver, sino que tenga un tamaño similar. A este modelo de ubicaciones, añadamos una tercera "dimensión" a la latitud y la longitud: el tamaño de la población. La población se puede añadir al vector de cada ciudad y el tamaño de la población puede tratarse como un eje Z, con la latitud y la longitud como ejes Y y X.

El vector de Vancouver es ahora {49°15'40"N, 123°06'50"O, 662.248*}. Con esta tercera dimensión añadida, Burnaby ya no está especialmente cerca de Vancouver, pues su población es de solo 249.125 habitantes*. En cambio, el modelo podría encontrar la ciudad de Seattle, Washington, EE. UU., que tiene un vector de {47°36'35"N 122°19'59"O, 749.256**}.

*A partir del 2021.
**A partir del 2022.

Este es un ejemplo bastante sencillo de cómo funcionan los vectores y la búsqueda de similitudes. Sin embargo, para ser útiles, los modelos de aprendizaje automático pueden querer generar más de tres dimensiones, lo que da lugar a vectores mucho más complejos.

Vectores aún más multidimensionales

Por ejemplo, ¿cómo puede saber un modelo qué programas de televisión son similares entre sí y, por lo tanto, es probable que los vean las mismas personas? Hay un sinfín de factores a tomar en cuenta: duración de los episodios, número de episodios, clasificación por géneros, número de espectadores en común, actores de cada programa, año de estreno de cada programa, etc. Todos estos pueden ser "dimensiones" y cada espectáculo representado como un punto a lo largo de cada una de estas dimensiones.

Los vectores multidimensionales pueden ayudarnos a determinar si la comedia Seinfeld es similar al programa de terror Wednesday. Seinfeld debutó en 1989, el Wednesday en 2022. Los dos programas tienen duraciones de episodio diferentes: Seinfeld dura entre 22 y 24 minutos, y Wednesday entre 46 y 57 minutos — y así sucesivamente. Observando sus vectores, podemos ver que estos programas probablemente ocupan puntos muy diferentes en una representación dimensional de los programas de TV.

Programa de televisión Género Año de estreno Duración del episodio Temporadas (hasta 2023) Episodios (hasta 2023)
Seinfeld Comedia 1989 22-24 9 180
Wednesday Horror 2022 46-57 1 8

Podemos expresarlos como vectores, al igual que lo hicimos con la latitud y la longitud, pero con más valores:

Vector Seinfeld: {[Sitcom], 1989, 22-24, 9, 180}
Vector Wednesday: {[Terror], 2022, 46-57, 1, 8}

Un modelo de aprendizaje automático podría identificar la comedia Cheers como mucho más parecida a Seinfeld. Es del mismo género, se estrenó en 1982, tiene una duración de 21-25 minutos, tiene 11 temporadas y 275 episodios.

Vector Seinfeld: {[Sitcom], 1989, 22-24, 9, 180}
Vector Cheers: {[Sitcom], 1982, 21-25, 11, 275}

En nuestros ejemplos anteriores, una ciudad era un punto a lo largo de las dos dimensiones de latitud y longitud; luego, añadimos una tercera dimensión de población. También analizamos la ubicación de estos programas de televisión según cinco dimensiones.

En lugar de dos, tres o cinco dimensiones, un programa de televisión dentro de un modelo de aprendizaje automático es un punto a lo largo de quizá cien o mil dimensiones— las que quiera incluir el modelo.

¿Cómo funcionan las integraciones?

La integración es el proceso de creación de vectores mediante el aprendizaje profundo. Una "integración" es el resultado de este proceso — es decir, el vector que crea un modelo de aprendizaje profundo para que ese modelo busque similitudes.

Integraciones: documento de la izquierda convertido en vector con tres dimensiones a la derecha, mediante la API de integraciones

Las integraciones que están próximas entre sí —del mismo modo que Seattle y Vancouver tienen valores de latitud y longitud próximos entre sí y poblaciones comparables— pueden considerarse similares. Con integraciones, un algoritmo puede sugerir un programa de televisión relevante, encontrar lugares similares o identificar qué palabras es probable que se utilicen juntas o sean similares entre sí, como en los modelos lingüísticos.

Cómo crean integraciones las redes neuronales

Las redes neuronales son modelos de aprendizaje profundo que imitan la estructura del cerebro humano. Al igual que el cerebro está compuesto por neuronas que estimulan impulsos eléctricos entre sí, las redes neuronales están compuestas por nodos virtuales que se comunican entre sí cuando sus entradas superan un umbral determinado.

Las redes neuronales están formadas por varias capas: una capa de entrada, una capa de salida y cualquier cantidad de capas "ocultas" intermedias. Las capas ocultas pueden transformar las entradas de varias formas, sin importar cuál sea la definición del modelo.

La creación de integraciones es una capa oculta. Suele ocurrir antes de que las capas adicionales procesen la entrada. Así, por ejemplo, un humano no necesitaría definir dónde se sitúa cada programa de televisión a lo largo de cien dimensiones diferentes. En cambio, una capa oculta de la red neuronal lo haría de manera automática. Luego, las demás capas ocultas podrían seguir analizando el programa de televisión al utilizar esta integración para encontrar programas de televisión similares. En última instancia, la capa de salida puede producir sugerencias de otros programas que los espectadores quieran ver.

Crear esta capa de integración requiere cierto esfuerzo manual al principio. Un programador puede dar a la red neuronal ejemplos de cómo crear una integración, qué dimensiones incluir, etc. Con el tiempo, la capa de integración puede funcionar por sí sola — aunque el programador puede seguir perfeccionando el modelo para producir mejores recomendaciones.

¿Cómo se utilizan las integraciones en los modelos lingüísticos de gran tamaño (LLM)?

Para los modelos lingüísticos de gran tamaño (LLM), como los modelos utilizados para herramientas de IA como ChatGPT, la integración se lleva un paso más allá. El contexto de cada palabra se convierte en una integración, además de la propia palabra. Se pueden buscar y analizar los significados de frases, párrafos y artículos completos. Aunque esto requiere bastante potencia de cálculo, el contexto de las consultas puede almacenarse como integraciones, lo que ahorra tiempo y potencia informática para futuras consultas.

¿Cómo facilita Cloudflare el uso de incrustaciones?

Para los desarrolladores que quieran crear aplicaciones basadas en IA con Cloudflare Workers, Cloudflare ofrece Workers AI. De forma conjunta, Cloudflare también ofrece Vectorize, una base de datos vectorial distribuida globalmente. Juntos, estos servicios hacen que sea más rápido, fácil y asequible generar y consultar incrustaciones. Esto permite a los desarrolladores crear aplicaciones de IA sin necesidad de una infraestructura de backend. Más información sobre Vectorize y Workers AI.