Un resumen de... inteligencia artificial
Me gusta seguir las noticias de ciencia y tecnología, y posiblemente el tema del que más me fascina leer es el de la inteligencia artificial (IA). Desde la primera demo de ChatGPT lanzada a finales de 2022, este ha sido un campo que no ha parado de impresionarme. Pero claro, no me bastaba con ver la magia; quería entender cómo funcionaba ese bot, en particular cómo razonaba (si es que lo hacía). Pasé mucho tiempo, quizá más del que debería, sumergido en un mar de consultas en internet, lectura de papers, programación en Python, e instalación de programas de dudosa procedencia, todo para saciar mi curiosidad. Es un viaje que lleva ya casi dos años y todavía continúo aprendiendo, pero estoy en condiciones de hacer un pequeño resumen de lo que aprendí, acaso solo para mi futuro yo 🙃
¿Qué es eso de ChatGPT?
Para quien no esté enterado, ChatGPT es un bot de inteligencia artificial al que puedes hacerle preguntas como a una persona y te responderá en lenguaje natural. Puedes visitar su sitio ahora y probarlo gratis.
La elocuencia de ChatGPT fue una verdadera revolución en su momento; hasta ese entonces, ninguna persona que no fuera experta en el ámbito del machine learning (aprendizaje automático) sabía que la IA estaba tan avanzada. Muchas compañías lanzaron productos similares a ChatGPT en los años siguientes, para competir en un mercado que prometía mucho. Meta (antes llamada Facebook) ahora integra su propio modelo de IA, internamente llamado LLaMa, en WhatsApp, accesible mediante su barra de búsqueda. ¡Es claro que resultó ser una herramienta muy útil para la gente! Y no es difícil entender el porqué; desde resumir textos hasta resolver dudas o contar chistes, estos bots son como una navaja suiza en cuanto a funcionalidad.
Ahora bien, como dije al principio, todo esto parece casi magia. Pero, ¿qué hay detrás? ¿Cómo funcionan estos modelos de IA?
La respuesta tiene tres letras: LLM
Tras una investigación muy breve, pude entender que llamar a estos bots «inteligencia artificial» a secas es un tanto inexacto. Hay muchos tipos de inteligencia artificial, así que decirles así no nos ayuda a explicar cómo funcionan. Lo correcto es usar el nombre técnico, pero más preciso: modelo extenso de lenguaje (LLM, por las siglas en inglés de Large Language Model). Todos los bots de este estilo, desde ChatGPT hasta LLaMa, son entonces modelos extensos de lenguaje. Ahora bien, ¿qué significa eso, con exactitud?
Un LLM básicamente es una red neuronal; así como un cerebro humano tiene neuronas, los LLMs también las tienen, solo que en su caso las neuronas son espacios en una memoria virtual, utilizados para almacenar números, y capaces de comunicarse entre sí. Esta red pasa por una etapa de entrenamiento, en la que se la «alimenta» con miles o incluso millones de textos escritos por humanos, como manuales o artículos de Wikipedia. La red convierte cada palabra en un número, y las neuronas «aprenden» las relaciones entre los números según aparecen en el material. Si se entrena la red por suficiente tiempo, logra una comprensión impresionante de lo que las palabras del lenguaje parecen significar. Por ejemplo, aprende que las palabras «mesa» y «silla» tienen algún tipo de relación, y que la palabra «mueble» se vincula con ambas. ¿Acabamos de crear una superinteligencia…?
Pues no. Los LLMs construyen un espacio multidimensional virtual con las relaciones entre cada palabra, lo cual es fascinante, pero únicamente pueden hacer una cosa: predecir palabras. Porque, en realidad, los LLMs fueron creados para tareas sencillas como mejorar la predicción de los teclados de los teléfonos y traducir frases cortas. Posteriormente, cuando los ingenieros que trabajaban en Google mejoraron la arquitectura (una evolución que sacudió el campo y fue publicada en este paper de 2017), se empezó a aplicarlos a muchas otras tareas. Pero el concepto general se mantiene. Un LLM es, en realidad, una red neuronal que predice palabras en base a un texto previo. Nada más.
Pero, entonces, ¿cómo funciona ChatGPT? Resulta que hay algo que no ves cuando lo usas. Cuando envías un mensaje, lo que recibe el LLM es algo como esto:
«Esta es una conversación entre un asistente virtual desarrollado por OpenAI y un usuario. El asistente virtual brinda respuestas precisas y exactas, y no puede generar contenido ilegal. La conversación se transcribe a continuación. USUARIO: [TU MENSAJE]. ASISTENTE:»
Y entonces empieza a autocompletar de acuerdo a las relaciones entre palabras que aprendió durante su entrenamiento, escribiendo lo que un asistente virtual escribiría en esa situación. El hecho de que esto funcione es sorprendente y fue descubierto por accidente, porque repito, ¡los LLMs no fueron diseñados para esto!
Oye, ¡eso es muy decepcionante!
¡A mí también me decepcionó un poco al principio! Pero cuando lo piensas, esto explica prácticamente todos los problemas que la gente experimenta con estos bots:
- No recuerdan cosas que les dijiste antes, porque solo autocompletan en base a los últimos mensajes.
- En ocasiones cometen errores o «alucinan» (ese es el término técnico) porque, por un lado, no tienen un entendimiento real de lo que escriben, y por el otro, los millones de textos con los que se entrenaron a menudo se contradicen entre sí.
- No pueden contar las letras en las palabras, pues antes de entrenarse, convierten las palabras en números. Tampoco pueden hacer cálculos complejos, porque de nuevo, desde el punto de vista del LLM, todo lo que le dices es un número.
Y la lista sigue. Pero, este es ante todo un blog que fomenta el optimismo, así que ahora diré lo más fascinante de la historia. Los científicos que desarrollaron los LLMs realmente no están muy seguros de por qué funcionan tan bien. Por ejemplo, pueden realizar algunos cálculos, incluso a pesar de que esos cálculos nunca aparecieron en los textos con los que fueron entrenados. Es como si hubieran aprendido matemáticas. Y, como recordarás, ¡se supone que los LLMs no podrían hacer eso! Están hechos para analizar texto, después de todo. Estas habilidades inexplicables se llaman habilidades emergentes y son objeto de constante estudio.
Actualmente, las grandes compañías están intentando crear LLMs con cada vez más neuronas, tantas que se necesitan verdaderas supercomputadoras para entrenarlas, y se vuelven en apariencia cada vez más inteligentes, y siguen mostrando habilidades emergentes que no parecen posibles. ¿Hay un límite para esto? Pues, estamos llegando al límite tecnológico, en el sentido que nuestras supercomputadoras no son tan potentes como para entrenar modelos mucho más grandes que los que tenemos ahora. Pero hay nuevos descubrimientos a diario, y hay buenas razones para creer que los LLMs serán cada vez más eficientes, permitiéndonos ir mucho más lejos. ¿Quién sabe lo que nos deparará el futuro?
Bonus: ¿una IA en casa?
Hay dos razones por las que los magos no revelan sus secretos. La primera es que le quita la magia (eso me recuerda algo). La segunda es que si sabes cómo hacer los trucos, ¡quizá puedas quitarle el trabajo al mago!
Actualmente, la IA es algo parecido. Compañías como OpenAI no se preocupan por explicar con precisión cómo funcionan sus bots, porque si lo hicieran, entonces la gente construiría sus propios bots en casa, y no usarían los servicios de esas compañías.
Quizá pienses, «¡Pero solo un usuario muy técnico con una supercomputadora podría hacer algo así!». En realidad, es bastante más sencillo de lo que parece. Muchas comunidades, e incluso algunas empresas, lanzan LLMs para que los usuarios las descarguen y ejecuten en sus computadoras, si así lo desean. Desde luego, un LLM que puedas ejecutar en tu computadora no tendrá tantas neuronas (y por tanto no será muy inteligente), pero puedes contarle todo, y funciona sin necesidad de conexión a internet. Y lo más importante, ¡es algo muy divertido de hacer!
Aquí dejo una imagen de un programa de consola de comandos con el que puedo interactuar con un LLM llamado Qwen en mi computadora:
Tú también puedes hacerlo de muchas maneras si tu computadora tiene suficiente memoria, pero no explicaré cómo aquí. ¡Descubrirlo por tu cuenta será una experiencia más entretenida! 🙃