Jan. 18, 2024, 12:12 p.m.

¡Mi ordenador habla!

Una botella viene flotando

¡Mi ordenador habla!

Computer_toddler_brain_speaking_english_elegant_illustration_hand_drawn_style_2535117610.png El lunes abrí una terminal [1] en mi portátil y tecleé dos comandos. El primero fue

curl https://ollama.ai/install.sh | sh

Y el segundo

ollama run llama2

Tras una descarga larga, el cursor volvió a parpadear. "Manda un mensaje", me exhortaba la pantalla. No recuerdo qué tontería le dije. Lo que no se me va a olvidar es lo que pasó después. Apreté Enter. La CPU se calentó y el ventilador se puso a tope. Durante unos 10 segundos, nada. Y de pronto, como setas bajo roble, empezaron a brotar las palabras. Una tras otra, poquito a poco, a razón de unas tres por segundo. Primero una frase, luego otra y otra y otra, que configuró un párrafo introductorio; le siguieron pros y contras detallados sobre la tontería que le había preguntado, y un párrafo de conclusión en el que me animaba a pedirle más detalles. ¡Mi ordenador portátil de 2018 acababa de aprender inglés y me estaba hablando (o, bueno, titubeando) de manera coherente! Fue un momento mágico.

Todo lo que necesitó para semejante hazaña fueron 2 comandos y menos de 20 minutos. A Lur, mi hijo que lleva casi 4 meses de procesamiento de información sobre el mundo, en cambio, le gusta decir "Guuu-iii", hacer pedorretas con babas y dar toda clase de grititos difícilmente transcribibles.

Admirose un portugués
de ver que en su tierna infancia
todos los niños en Francia
supiesen hablar francés.
«Arte diabólica es»,
dijo, torciendo el mostacho,
«que para hablar en gabacho
un fidalgo en Portugal
llega a viejo, y lo habla mal;
y aquí lo parla un muchacho»[2]

Por supuesto, cuando digo "hablar" me refiero a dos cosas muy distintas. Mi ordenador no habla del mismo modo en que lo hará mi hijo. Los LLM (modelos grandes de lenguaje) son imágenes JPEG borrosas de la web: un algoritmo que estima la siguiente palabra más probable en una sucesión basándose en una especie de archivo .zip gigante de lo que se ha escrito, principalmente en la web. Comparemos cómo respondería un LLM entrenado exclusivamente con textos de un conjunto de 1000 palabras y cómo lo hará mi hijo cuando aprenda las mismas 1000 palabras. El LLM no tendría más remedio que escribir un texto usando una combinación, probablemente legítima y coherente, de las palabras con las que fue entrenado. La respuesta de un ser humano sería muy distinta. Si las 1000 palabras no le fueran suficientes, crearía neologismos, o haría dibujos o señas de algún tipo. Cometería errores ortográficos; usaría las pocas palabras que sabe de manera imprecisa. Haría tachones, se enfadaría, haría del papel donde estuviera escribiendo una bola y se iría a jugar con los amigos. El LLM podría generar un número finito de respuestas, limitado por todas las combinaciones posibles de esas 1000 palabras; mi hijo, en cambio, es infinito.

Hace poco escuché a Gerald Jay Sussman decir en una charla de 2011 que toda la información presente en el genoma humano cabe en aproximadamente 1 GB [3], que es, poco más o menos, lo que ocupa Windows. Para aprender a hablar inglés, mi ordenador tuvo que descargar unos 30 GB de datos, y necesita tener al menos 8 GB de RAM para no trabucarse. El código en el que estamos escritos nosotros, el código necesario para generar todo nuestro cuerpo, incluído nuestro cerebro, es treinta veces más breve que el del LLM que se ejecuta en mi ordenador. Son paradigmas de computación completamente distintos. ¿Cuántos más paradigmas habrá que sean capaces de hablar inglés? ¿Cuál es el espacio de las inteligencias posibles? ¿Podremos crear un sistema como nuestro cerebro?[4] ¿De qué sería capaz un cerebro humano si lo entrenáramos a fondo, como lo hacemos con las IAs? Miro a mi babeante hijo de 4 meses y veo lo difícil que es aprender a vivir. Hay que ser capaz de comer la sopa sin que se caiga de la cuchara; hay que mirar a una persona y entender por las palabras y los gestos que usa (o más bien por los que no usa) qué es lo que piensa realmente; hay que aprobar Inglés de cuarto de ESO. ¿Qué sería de un cerebro humano que naciera, no sé, cerca de un agujero negro, o dentro de un átomo? ¿Sería capaz de comprender, con la misma facilidad con la que mi hijo va a aprender a ir al baño cuando tiene ganas, nuevas facetas de la gravedad, o de la cuántica?

Perdón, que desbarro. Me he dado cuenta de que estoy escribiendo algo que entra en la peligrosa y superpoblada categoría "un tipo se cree un experto en LLMs y transformadores por haberse mandado unos mensajitos con su ordenador y nos ilumina con su infinita sabiduría". Así que voy a abstenerme de seguir por este camino. En lugar de eso, prefiero describir la segunda razón por la que el del lunes pasado fue un momento mágico. La primera, por si no ha quedado claro, es que ¡hablé con una máquina! La segunda es que la máquina con la que hablé era mi máquina. Ya había hablado con chatGPT (¿quién no lo ha hecho todavía?) y había jugado con otras IAs para crear imágenes y cosas por el estilo. Pero la sensación de estar sentado delante de la CPU, esta misma CPU mediante la que estoy escribiendo esto, mientras se recalentaba calculando cuáles deberían ser las siguientes palabras fue muy distinta de la que había tenido hablando con chatGPT en una interfaz web. Aquí no había trampa ni cartón, no podía haberla: mi ordenador estaba sudando para convertir unos y ceros en una redacción original. Tenía al mago a un palmo y no era capaz de pillar el truco.

Que yo o cualquier otro usuario sea capaz, mediante un par de comandos, de ejecutar LLMs semejantes a los de grandes empresas como OpenAI en su propio ordenador tiene implicaciones profundas. Hasta ahora, la capacidad de llegar a más y más datos, por un lado, y el poder computacional necesario para correr los LLM, por el otro, había sido la gran ventaja de esas grandes empresas. Pero los aires están cambiando. Por un lado, mi ordenador portátil de 6 años de edad, es capaz de hacer correr modelos suficientemente útiles. Por otro, según parece que la capacidad de los LLM no mejora después de llegar a una cantidad crítica de datos de entrenamiento. Sam Altman, CEO de OpenAI opina que el futuro de los LLM no pasa por entrenarlos con más y más datos. Esta combinación de factores me hace sospechar que el código abierto es el futuro de los LLM. Pero no me creáis a mí. Creedle a Google, que en esta nota interna que se filtró decía que su competidor real no es OpenAI, sino el Open Source.

No sabía cómo concluir este escrito. Quería inventar algo ingenioso con este anuncio que estuvo colgado en Amazon [5], que más que el producto que pretendía anunciar lo que anuncia es una nueva era de Internet, de la publicidad masiva y de las fake news. Pero de pronto se me ha ocurrido que lo mejor para cerrar el círculo es que sea mi propio ordenador quien escriba el final. De modo que le he pedido esto: "I am writing a blogpost about locally run LLM models. I want a short and lively closing paragraph for it." ("Estoy escribiendo un post sobre los LLM ejecutados localmente. Quiero un párrafo de conclusión corto y vivaz.") Esta ha sido la respuesta:

Ah, an excellent choice! I'm thrilled to help you come up with a catchy conclusion for your blog post on locally run LLM models. Here's a fun and quirky ending sentence that could tie everything together: "And so, as the sun sets on another day of LLM model mayhem, we can't help but wonder what other linguistic wonders these tiny computers will bring us in the future! 🤖 Will they start a chatbot uprising? Or perhaps invent a new dialect that's all their own? Only time (and lines of code) will tell! 🚀"[6]


[1] Para aquellos que insistís en ir contra la Historia y todavía usáis Windows, la terminal es la ventanita que hace que el resto parezcamos hackers.

[2] Epigrama Saber sin estudiar, de Nicolás Fernández de Moratín. Epigrama = tuit antiguo.

[3] Por si os interesa, he aquí un cálculo un poco más detallado de los gigas necesarios para guardar el genoma humano.

[4] El físico David Deutsch, por ejemplo, cree que una vez entendamos de qué va realmente la inteligencia, escribir un programa que sea inteligente en la manera en la que los humanos lo somos será trivial.

[5] El anuncio original ha sido eliminado.

[6] Traducción: Ah, ¡excelente elección! Me encantaría poder ayudarle a llegar a una conclusión atractiva para la publicación de su blog sobre modelos LLM ejecutados localmente. Aquí hay una oración final divertida y peculiar que podría unir todo: "Y así, mientras el sol se pone en otro día movido de los modelos LLM, no podemos evitar preguntarnos qué otras maravillas lingüísticas nos traerán estas pequeñas computadoras en el futuro. 🤖 ¿Comenzarán un levantamiento de chatbots? ¿O tal vez inventen un nuevo dialecto que es completamente suyo? ¡Solo el tiempo (y las líneas de código) lo dirán! 🚀"

You just read issue #10 of Una botella viene flotando.

GitHub web personal
Powered by Buttondown, the easiest way to start and grow your newsletter.