La inteligencia artificial generativa
La inteligencia artificial generativa es un tipo de tecnología que crea contenido nuevo a partir de los modelos de aprendizaje profundo que están entrenados con conjuntos grandes de datos. Los modelos de IA generativa se utilizan para generar datos nuevos, lo cual los diferencia de los modelos de IA discriminativa, que se usan para clasificar datos en función de las diferencias. En la actualidad, las aplicaciones con esta tecnología se utilizan para generar textos, imágenes, código y mucho más. Los casos prácticos más comunes son los chatbots, la creación y la edición de imágenes, la asistencia para la creación de código de software y la investigación científica.
También se utiliza en los entornos profesionales para visualizar las ideas creativas con rapidez y ejecutar de forma más eficiente las tareas tediosas y que llevan mucho tiempo. En los sectores donde su aplicación es muy reciente, como la investigación clínica y el diseño de productos, se espera que sea una ayuda para el trabajo de los profesionales y una mejora considerable en la vida de las personas. Sin embargo, también presenta riesgos nuevos que los usuarios deben comprender y eliminar.
Algunas de las aplicaciones de IA generativa más conocidas que surgieron en los últimos años son ChatGPT y DALL-E de OpenAI, GitHub CoPilot, Bing Chat de Microsoft, Bard de Google, Midjourney, Stable Diffusion y Adobe Firefly. IBM y Red Hat trabajaron juntos para crear Red Hat® Ansible® Lightspeed with IBM watsonx Code Assistant, un servicio de IA generativa que permite a los desarrolladores generar contenido de Ansible con mayor eficiencia. Muchas otras empresas están experimentando con sus propios sistemas de inteligencia artificial generativa para automatizar las tareas de rutina y mejorar la eficiencia.
¿Cómo funciona la inteligencia artificial generativa?
Si se asombró por la coherencia de las conversaciones con ChatGPT o si alguna vez le proporcionó una descripción a Midjourney para que creara una imagen realista, ya sabe que la IA generativa parece magia. Pero ¿cuál es el truco para lograrlo?
Las aplicaciones de inteligencia artificial se basan en modelos de aprendizaje profundo que recrean los patrones obtenidos de una gran cantidad de datos de entrenamiento y que luego trabajan con los conocimientos adquiridos dentro de los parámetros establecidos por quienes los entrenaron para crear algo nuevo.
Los modelos de aprendizaje profundo no almacenan una copia de los datos de entrenamiento, sino una versión codificada de ellos, en la que están organizados por cercanía según su similitud. Esta representación puede decodificarse para generar datos nuevos y originales, pero con características similares.
El diseño de una aplicación de IA generativa personalizada implica el uso de un modelo y de ajustes, como el perfeccionamiento supervisado o una capa de datos específica para cada caso práctico.
En la actualidad, la mayoría de estas aplicaciones conocidas responden a las indicaciones de los usuarios: solo deben describir lo que desean en lenguaje natural, y obtendrán lo que solicitaron como por arte de magia.
Ejemplos de la inteligencia artificial generativa
Los avances de la IA generativa en la escritura y las imágenes acapararon los titulares de las noticias y la imaginación de la gente. A continuación, presentamos algunos de los primeros casos prácticos de esta tecnología que avanza rápidamente.
Escritura: incluso antes de que ChatGPT apareciera en todos los titulares (y comenzara a escribirlos por su cuenta), la inteligencia artificial generativa imitaba la escritura humana con gran eficiencia. Entre los primeros casos prácticos de este modelo se encuentran los programas de traducción de idiomas. Las herramientas actuales de inteligencia artificial generativa pueden responder a indicaciones que impliquen crear contenido de alta calidad sobre prácticamente cualquier tema y adaptarse a los distintos estilos y extensiones de escritura.
Generación de imágenes: las herramientas de imagen que utilizan esta tecnología pueden responder a las indicaciones con imágenes de alta calidad sobre incontables temas y en diversos estilos. Algunas de ellas, como el relleno generativo en Adobe Photoshop, permiten agregar elementos nuevos a trabajos actuales.
Generación de música y discurso: las herramientas de voz que utilizan inteligencia artificial pueden crear narraciones o cantos que simulen la voz humana a partir de grabaciones y textos escritos. Algunas también pueden generar música artificial a partir de indicaciones y muestras.
Generación de video: las técnicas de inteligencia artificial generativa se están probando en servicios nuevos para crear animaciones gráficas. Por ejemplo, algunos son capaces de hacer coincidir fragmentos de audio con imágenes estáticas de personas y generar expresiones faciales y movimientos de la boca para que parezca que están hablando.
Generación de código: algunas herramientas de inteligencia artificial generativa pueden generar código informático a partir de indicaciones escritas para ayudar a los desarrolladores de software que lo soliciten.
Aumento de datos: la IA generativa puede crear una gran cantidad de datos sintéticos cuando no se pueden utilizar datos reales o se prefiere no hacerlo. Por ejemplo, cuando se busca entrenar un modelo que comprenda los datos de salud sin incluir información personal. También sirven para convertir un grupo pequeño o incompleto de datos en un conjunto de datos sintéticos más amplio con fines de entrenamiento o prueba.
Deep learning
El deep learning o aprendizaje profundo es la técnica de aprendizaje automático que posibilita la IA generativa y se utiliza para analizar e interpretar grandes cantidades de datos. Este proceso, también conocido como aprendizaje neuronal profundo o redes neuronales profundas, consiste en que las computadoras adquieran el aprendizaje a través de la observación, de manera similar a las personas. Es fundamental en el uso de las computadoras para la difícil tarea de comprender el lenguaje humano, o el procesamiento del lenguaje natural (NLP).
Piense en el deep learning (aprendizaje profundo) como si fuera una especie de diagrama de flujo que comienza con una capa de entrada y termina con una de salida. Entre las dos, se encuentran las "capas ocultas" en las que se procesa la información en distintos niveles, y se ajusta y adapta el comportamiento a medida que se reciben datos nuevos de forma permanente. Los modelos de deep learning (aprendizaje profundo) pueden tener cientos de capas ocultas, y cada una de ellas cumple una función en el descubrimiento de las relaciones y los patrones dentro del conjunto de datos.
La capa de entrada está compuesta por varios nodos: los datos se incorporan al modelo y se categorizan según corresponda antes de continuar con el proceso. La ruta de los datos a través de las capas se basa en los cálculos de cada nodo. Los datos atraviesan cada una de las capas, y se recopilan conclusiones durante el proceso, las cuales acabarán por convertirse en la capa de salida o el análisis final.
La unidad de procesamiento de gráficos (GPU) es una de las tecnologías que agilizó el avance del deep learning (aprendizaje profundo). Si bien su intención original era acelerar la renderización de los gráficos de los videojuegos, es ideal para las cargas de trabajo de deep learning (aprendizaje profundo) por su eficiencia a la hora de realizar cálculos en paralelo.
Los avances en el tamaño y la velocidad de los modelos del deep learning (aprendizaje profundo) desencadenaron la ola actual de innovaciones en las aplicaciones de inteligencia artificial generativa.
La red neuronal
La red neuronal es una forma de procesar la información que simula las conexiones neuronales biológicas del cerebro. Esta es la manera en que la inteligencia artificial puede establecer conexiones entre conjuntos de datos que no parecieran estar relacionados, y está estrechamente relacionada con el deep learning (aprendizaje profundo).
Para comprender la forma en que el deep learning (aprendizaje profundo) aplica el concepto de la red neuronal para conectar los datos, tan solo tiene que pensar en el funcionamiento del cerebro humano. Son muchas neuronas interconectadas que actúan como mensajeras cuando se procesan los datos que se reciben. Las neuronas utilizan impulsos eléctricos y señales químicas para comunicarse entre sí y transmitir la información entre las distintas áreas del cerebro.
Las redes neuronales artificiales (ANN) se basan en este fenómeno biológico, pero se forman con neuronas artificiales que se crean a partir de módulos de software denominados nodos. Los nodos utilizan cálculos matemáticos, a diferencia de las señales químicas que se usan en el cerebro, para comunicar y transmitir la información. Esta red neuronal simulada (SNN) procesa los datos agrupándolos en clústeres y realizando predicciones.
Hay diferentes técnicas de red neuronal según el tipo de datos. El modelo de red neuronal recurrente (RNN) utiliza datos secuenciales, como el aprendizaje de palabras en orden para procesar el lenguaje.
Los transformadores parten de la idea de la RNN y son un tipo de arquitectura neuronal específica que puede procesar el lenguaje más rápido. Estos aprenden sobre las relaciones que guardan las palabras en una oración. Es un proceso más eficiente en comparación con la RNN, que incorpora cada palabra en orden secuencial.
Dentro del deep learning (aprendizaje profundo), también se encuentra el modelo de lenguaje de gran tamaño (LLM), el cual se entrena utilizando los transformadores con una gran cantidad de datos generalizados. Muchas de las herramientas conocidas de chat y texto de inteligencia artificial se basan en este modelo.
El modelo de difusión, otra técnica que resultó ser útil para la generación de imágenes, aprende a convertir una imagen natural en un elemento visual difuminado con ruido. Luego, las herramientas generativas de imágenes revierten el proceso: toman un patrón con ruido aleatorio y lo perfeccionan hasta que parezca una imagen real.
Podemos utilizar parámetros para describir los modelos de deep learning (aprendizaje profundo). Si un modelo sencillo de predicción de crédito se entrena con 10 entradas de un formulario de solicitud de préstamo, el modelo tendrá 10 parámetros. En cambio, un modelo LLM puede tener miles de millones de parámetros, como es el caso del transformador generativo preentrenado 4 (GPT-4) de OpenAI, uno de los modelos base que utiliza ChatGPT, el cual posee un billón de parámetros, según este informe.
El modelo base
Se trata de un modelo de deep learning (aprendizaje profundo) que se entrena con una enorme cantidad de datos genéricos y luego se perfecciona para los casos prácticos específicos. Tal como indica su nombre, puede constituir la base de muchas aplicaciones diferentes.
En la actualidad, la creación de un modelo base nuevo sería un proyecto de gran envergadura. Para el proceso, se necesita una cantidad impresionante de datos de entrenamiento que se obtienen de Internet, las bibliotecas digitales de libros, las bases de datos de artículos académicos, los conjuntos de imágenes genéricas y otros grupos grandes de datos, mediante la extracción de datos en la Web. Para entrenar un modelo con tantos datos, es necesario disponer de una infraestructura inmensa y diseñar o alquilar una nube de GPU. Según lo que conocemos, el diseño de los modelos base actuales costó cientos de millones de dólares.
Dado que el entrenamiento de un modelo base desde cero implica un gran esfuerzo, se suele aprovechar alguno ya entrenado, y luego personalizarlo. Existen muchas técnicas para la personalización, como el perfeccionamiento, el ajuste de indicaciones y la incorporación de datos específicos sobre el cliente o el área de especialización.
La técnica del perfeccionamiento
El perfeccionamiento es el proceso de mejora de un modelo base para crear uno nuevo que se adapte mejor a una tarea o un área específica. La empresa puede agregar datos de entrenamiento puntuales para el caso práctico que necesita, en vez de depender de un modelo multipropósito.
El perfeccionamiento suele ser más rápido y requerir muchísimos menos datos que el entrenamiento inicial: podría llevar un par de horas, a diferencia del modelo base, que tomaría semanas o meses.
Tal vez se pregunte cuáles son los beneficios de este método. Si utiliza un modelo multipropósito, puede que deba ingresar ejemplos e indicaciones específicos cada vez que desee que la aplicación de la inteligencia artificial le muestre el resultado que está buscando. Sin embargo, el perfeccionamiento permite que el sistema ya sepa qué tipo de resultado espera. Puede dar indicaciones más simples y ahorrar tiempo y recursos.
¿Qué es la generación aumentada por recuperación?
La generación aumentada por recuperación (RAG) es un método mediante el cual se vincula un modelo de lenguaje de gran tamaño (LLM) a un recurso externo para obtener mejores respuestas de una aplicación de inteligencia artificial generativa.
La implementación de la arquitectura RAG en un sistema de búsqueda de respuestas basado en un LLM (como un chatbot) establece una vía de comunicación entre un LLM y las fuentes de información adicionales que usted elija. Esto permite que el LLM puede realizar referencias cruzadas y complementar su conocimiento interno para que el usuario que formula una consulta obtenga resultados más fidedignos y precisos.
Riesgos de la inteligencia artificial generativa
El gran avance que tuvo la tecnología de inteligencia artificia generativa en tan poco tiempo suscitó abundantes reacciones, tanto positivas como negativas. Aún estamos en el proceso de conocer sus beneficios y desventajas. Aquí resumimos algunas de las preocupaciones más notables sobre esta tecnología.
Puede utilizarse con fines perjudiciales: existen riesgos inmediatos y lógicos asociados al uso de las herramientas de inteligencia artificia generativa con fines maliciosos, como las grandes campañas de desinformación en las redes sociales o las imágenes completamente falsas y generadas sin consentimiento que apuntan a dañar la imagen de personas reales.
Puede reforzar los prejuicios de la sociedad: las herramientas de inteligencia artificia generativa demostraron que pueden sacar a relucir los prejuicios presentes en los datos de entrenamiento, tales como los estereotipos negativos y los discursos de odio.
Puede generar información incorrecta: las herramientas de inteligencia artificia generativa pueden elaborar información y panoramas inventados y totalmente erróneos, que suelen denominarse "alucinaciones". A veces, el contenido erróneo es inofensivo, como una respuesta sin sentido en el chat o la imagen de una mano con dedos de más. Pero ha habido casos de mayor gravedad, como cuando un chatbot dio recomendaciones peligrosas a algunas personas que hicieron consultas sobre trastornos alimentarios.
Puede causar riesgos legales y de seguridad: los sistemas de inteligencia artificial generativa pueden traer aparejados riesgos de seguridad, como cuando los usuarios ingresan información confidencial en aplicaciones sin protección. Las respuestas de estas herramientas también pueden causar riesgos legales cuando reproducen contenido protegido por derechos de autor o se apropian de la voz o la identidad de una persona real sin su consentimiento. Además, algunas de ellas tienen restricción de uso.
Red Hat puede ayudarlo
Red Hat ofrece una base común para que sus equipos diseñen e implementen las aplicaciones de inteligencia artificial y los modelos de aprendizaje automático de forma transparente y regulada.
Red Hat® OpenShift® AI es una plataforma que puede entrenar los modelos de inteligencia artificial con sus propios datos, distribuirlos y aplicar en ellos las técnicas de ajuste de indicaciones y perfeccionamiento para sus casos prácticos específicos.
Para las implementaciones de inteligencia artificial de gran tamaño, Red Hat OpenShift ofrece una plataforma de aplicaciones adaptable que es adecuada para las cargas de trabajo de inteligencia artificial, con acceso a los aceleradores de hardware conocidos.
Red Hat también utiliza sus propias herramientas de Red Hat OpenShift AI para mejorar la utilidad de otros sistemas de software open source, como Red Hat Ansible® Lightspeed with IBM watsonx Code Assistant. Gracias a este servicio, los equipos de automatización pueden aprender el contenido de Ansible, crearlo y mantenerlo de manera más eficiente. Acepta indicaciones que escriben los usuarios y, luego, interactúa con los modelos base watsonx de IBM para generar recomendaciones de código, que después se utilizarán para crear playbooks de Ansible.
Además, las integraciones de los partners de Red Hat abren paso a un ecosistema de herramientas confiables de inteligencia artificia diseñadas para funcionar en las plataformas open source.