Esta es una sección de la carta semestral que enviamos a los accionistas de nuestro fondo y que compartimos aquí por si alguien la encuentra interesante:
En esta carta nos gustaría hablar un poco sobre la inteligencia artificial, un tema que está muy de moda debido a los últimos avances de compañías como OpenAI, que ha puesto al alcance de todos herramientas como ChatGPT. Esta aplicación ha revolucionado, y en algunos casos deslumbrado, al público en general.
Dado que la carta está dirigida al mayor público posible, vamos a hablar desde lo más básico sobre estos programas, y trataremos de adentrarnos un poco en las tripas de lo que hoy en día conocemos como inteligencia artificial, intentando ser lo menos técnicos posible.
ChatGPT es una herramienta a la que podemos hacer preguntas o dar órdenes (en inglés lo llaman “Prompts”) y ChatGPT nos responde con la respuesta o cumpliendo lo que le hemos pedido. Por ejemplo, podemos entrar en la página de OpenAI dedicada a ChatGPT (ChatGPT | OpenAI) y escribir:
“Por favor escribe una carta de presentación para aplicar al trabajo de diseñador gráfico, especificando que tengo experiencia en varios proyectos, estudios en la Universidad de Diseño Gráfico y diferentes posgrados”
He puesto este mismo “Prompt” en la página web de ChatGPT y me ha producido una carta de 462 palabras, muy bien redactada y que podría pasar por la carta de presentación escrita por cualquier persona, diría incluso que mejor que la de la mayoría.
El anterior es sólo un pequeño ejemplo de la cantidad de cosas en las que ChatGPT puede ayudar a los usuarios: puede sugerir actividades para un viaje, corregir un escrito, ayudar a escribir código de programación, responder preguntas sobre personas, lugares, cosas, y una infinidad de otras tareas.
Ante su flexibilidad y la cantidad de conocimiento que tiene, se podría pensar que hemos encontrado la panacea: una inteligencia artificial que nos puede ayudar en cualquier tarea, y que; de hecho, podría empezar a sustituir a trabajadores en casi cualquier área. Hemos visto titulares sobre empresas que han sustituido a su Director General por una inteligencia artificial u otras que han reemplazado un importante porcentaje de su plantilla por Inteligencia artificial.
Aunque la inteligencia artificial que la mayoría conoce, o la “más famosa”, basada en Grandes Modelos de Lenguaje (Large Language Models o LLM’s) tiene el potencial de sustituir a un porcentaje de trabajos, no se puede generalizar. Lo comprenderemos mejor cuando entendamos lo que es ChatGPT y sus variantes.
El “GPT” en ChatGPT significa “Generative Pre-Trained Transformer” o en mi traducción libre “Transformador Generativo Pre-entrenado” y forma parte de los modelos conocidos como Large Language Models (o LLM’s). Y ¿qué significa esto? De manera muy simplificada, se trata de un programa basado en redes neuronales artificiales (transformer) que ha sido “entrenado” para generar texto. La base de lo que el programa hace es, a partir de un texto que hemos introducido (input), tratar de “adivinar” el texto que vendría después (output). Este texto que el modelo “adivina” es lo que sería estadísticamente la mejor opción, según los datos con los que ha sido entrenado.
Lo que las primeras versiones de estos programas hacían era simplemente leer frases como “voy a casa de mi ________” y rellenar la palabra faltante con algo que tuviera sentido. Y ¿cómo sabe el programa qué palabra tiene sentido? Aquí es donde entra el “entrenamiento”. Al programa se le ha alimentado con una gran cantidad de texto escrito por humanos para hacerse una idea de cuál sería la palabra que, con mayor probabilidad, vendría a continuación de “voy a casa de mi…”. Dentro de la gran cantidad de texto con el que se ha alimentado el modelo, habrá encontrado infinidad de frases como “voy a casa de mi padre”, o “voy a casa de mi novia”, etc, etc. Usando como base toda la información con la que ha sido entrenado, el programa es capaz de reconocer el patrón y completar la frase con lo que el programa “piensa” es la palabra que con mayor probabilidad iría en ese lugar.
El salto de “completar” a contestar
Lo que ha sorprendido prácticamente a todos los desarrolladores, es la capacidad que ha tenido el programa para hacer predicciones de la siguiente “palabra” de una forma cada vez más elaborada y compleja (aunque en realidad no es exactamente así, ya que el programa lo que realmente predice es una unidad más pequeña llamada “token”. En este escrito, siempre que hablemos de predecir la siguiente palabra, en realidad queremos decir predecir el siguiente “token”).
A medida que el programa ha sido alimentando con cada vez más información, junto con pequeños ajustes que se le han hecho, su capacidad de generar “tokens” o generar texto se ha expandido mucho más allá de simplemente rellenar lo que tendría sentido en una frase.
Al hacerle una pregunta, el programa es capaz de “razonar” que lo que se espera es una respuesta. Es tanta la información con la que se alimentan estos programas, que hay una alta probabilidad de que el texto que genere al hacerle la pregunta sea la respuesta correcta. Pero, y aquí viene una de sus limitaciones, el programa está diseñado para “generar texto que tenga sentido”, no “texto que sea veraz”. De modo que, si la respuesta a la pregunta que le hemos hecho no está contenida en los textos con los que el programa ha sido entrenado, el programa no te va a responder “no sé”, en su lugar, generará una respuesta con un texto que tiene mucho sentido, pero cuyo contenido será completamente erróneo. Esto es lo que se conoce como “alucinaciones” del programa.
Aquellos que hayan usado ChatGPT en alguna ocasión, les recomiendo que hagan la siguiente prueba: pídanle que escriba una pequeña biografía de ustedes mismos, es decir, escriban en la página o aplicación “escribe una pequeña biografía de (nombre apellido1 apellido2)”. Si la biografía del que pregunta existe en internet, el programa la generará sin problema. Ahora, si no existe ninguna información de uno en internet, el programa se inventará la totalidad de la respuesta. Hice esta pequeña prueba con mi nombre y mis apellidos y el programa fue capaz de acertar mi lugar de nacimiento y el hecho de que ahora vivo en España, pero prácticamente el resto de la información de la respuesta que me dio era errónea (carrera, experiencia, premios, reconocimientos, etc, etc). De mí existe “algo” de información en internet, de modo que supongo que de ahí ha sido capaz de sacar mi lugar de nacimiento (que sería demasiada casualidad que lo haya adivinado) y el hecho de que ahora vivo en España. Sin embargo, prácticamente el resto se lo ha inventado. Fue bastante divertido saber que soy un famoso biólogo conocido por mis avances en el tratamiento de las enfermedades genéticas.
Es cierto que esta es una limitación muy conocida; y que se está trabajando para que el programa no se invente las respuestas y que responda que no existe suficiente información para dar una respuesta correcta. De hecho, al hacer la misma pregunta a otros modelos como Gemini de Google o Copilot de Microsoft (que está basado en ChatGPT), recibí en un caso una pequeña referencia a mi empleo anterior (la información está en internet) diciendo que no conocía el resto, y en el otro, directamente me dijo que no existía suficiente información.
¿Piensa ChatGPT o simplemente “reproduce patrones” de la información con la que se ha entrenado?
Aquí existe una diferencia de opinión notable entre los expertos. Los hay quienes piensan que estos modelos, si son alimentados con suficiente información, no solo de texto, sino también de imágenes y sonidos, serán capaces de razonar “tan bien” como lo puede hacer un ser humano.
Lo cierto es que estos modelos, a medida que se les ha alimentado con más información, han sido capaces de hacer muchas más cosas, y muchas de ellas inesperadas o para las que no se había programado inicialmente.
Son muy buenos reconociendo los patrones con los que han sido alimentados, que en la actualidad se podría decir que es casi la totalidad del texto que existe en internet. En todo lo que se podría resumir como “patrón A” es igual a “patrón B” estos modelos son realmente buenos; es decir, traducciones, programación básica, pedirles ilustraciones, información sobre algo específico, que te escriban una carta, etc, etc. En prácticamente cualquier tarea en la que existan “ejemplos” en internet o en la literatura en general, estos modelos son capaces de reproducirlo y adaptarlo a las órdenes específicas que se les pidan. Se les puede pedir que escriban al estilo de Shakespeare, de Cervantes, de García Márquez o de Edgar Allan Poe.
Una de las habilidades de los LLM’s que más ha llamado la atención de la comunidad que trabaja en inteligencia artificial es que son capaces de generar texto no solo usando la información con la que se les ha alimentado, sino que en varios casos han sido capaces de “generalizar” usando como base esa información. Un ejemplo de esto sería un LLM que se ha ido alimentando con sumas durante un tiempo. Al principio, el LLM solo será capaz de hacer una suma si existe un ejemplo de la suma que se le pide en los datos con los que ha sido entrenado; es decir, será incapaz de sumar 5+5 a menos que en los datos con los que se ha entrenado exista un ejemplo de 5+5. Sin embargo, si se le sigue entrenando con más sumas, llega un momento en que existe un “click”, y el LLM adquiere la capacidad de hacer cualquier suma, exista o no el ejemplo en los datos con los que ha sido alimentado. A esto le llaman “grokking” en el campo de la inteligencia artificial.
Esta habilidad es sorprendente; y tiene un potencial inmenso en una gran cantidad de campos como la medicina, genética, química, entre otros.
Es sorprendente lo que un modelo cuyas instrucciones básicas son “predecir el texto siguiente” al que hemos escrito ha llegado a conseguir simplemente “entrenándolo” con cada vez más datos. Y en parte, por eso es por lo que existe esta guerra actual por crear el modelo con “más parámetros”, ya que se supone que sus respuestas serán más acertadas y además existe la posibilidad de observar más habilidades “emergentes” para las que no había sido originalmente programado.
“Inteligencia es lo que usas cuando no sabes qué hacer” (Jean Piaget):
Dicho todo lo anterior, hay quienes dicen que en realidad esto no es “pensar” o al menos no lo es en toda la extensión en la que lo hace un ser humano. En nuestra vida diaria, un ser humano se enfrenta a una infinidad de situaciones para las que no existen ejemplos anteriores en su memoria. Un LLM sería completamente incapaz de resolver problemas para los que no ha tenido un ejemplo anterior, o de reaccionar ante la infinidad de cosas con las que un ser humano tiene que lidiar en su vida diaria que son completamente nuevas. Vamos a dar dos ejemplos de formas en las que el cerebro humano sabe lidiar con problemas novedosos, el primero de un genio, y el segundo de lo más mundano.
El primer ejemplo tiene como protagonista a alguien que, en nuestra opinión, ha sido una de las mentes más brillantes de la historia de la humanidad, Isaac Newton. Newton quería calcular la órbita de los cometas, pero la matemática de la época no le daba las herramientas necesarias para poder hacer los cálculos que necesitaba. Dada esta limitación, Newton inventó (o descubrió, dependiendo del punto de vista) una nueva rama de la matemática, la que conocemos hoy en día como cálculo diferencial, para poder hacer sus cálculos.
Pero no hay que ser un genio para que nuestro cerebro resuelva problemas nuevos; de hecho, lo hacemos todos los días, cosa que las inteligencias artificiales actuales tienen muchísimos problemas en hacer. El mejor ejemplo lo tenemos en una tarea tan común como es conducir un coche. Realizar esta tarea mediante una inteligencia artificial, o lo que se conoce como “los sistemas de conducción autónoma”, es extremadamente difícil, como evidencia el hecho de que, después de años de desarrollo, siguen teniendo importantes deficiencias y todavía no están aprobadas para su implementación.
Este desarrollo es tan complejo, no porque llegar de “A” a “B” sea complicado, lo complicado es la infinidad de variables y situaciones para las que no existen ejemplos pre-existentes y que se encontrará durante el camino: un nuevo hueco, un coche accidentado, un desvío, un cambio en el rayado de la calle, obras en la vía, la infinidad de objetos que pueden estar o aparecer de repente en la via, las mil y una imprudencias que los demás coches pueden cometer y que el cerebro humano está evaluando de forma subconsciente durante el trayecto y toma medidas de “precaución”, entre otras infinitas situaciones “nuevas” que nuestro cerebro evalúa constantemente. Estas son cosas que ningún modelo de conducción autónoma es capaz de gestionar, o al menos no todavía. Vemos en este ejemplo la diferencia abismal entre un cerebro humano y las inteligencias artificiales actuales, en donde un joven de 16 años es capaz de aprender todo lo básico que necesita para conducir un coche, en cualquier sitio, en apenas 2-3 semanas, mientras que todavía, luego de años de desarrollo, no existe la conducción autónoma completa.
El test de Chollet
François Chollet, un investigador de inteligencia artificial en Google, desarrolló un test llamado “The Abstraction and Reaoning Corpus (ARC)”, que básicamente consiste en proporcionar de dos a cinco pares de patrones de ejemplo (input y output) con los que, quien toma el test, debe ser capaz de generalizar y así poder resolver el siguiente, usando como referencia sólo el input. Esto se explica mejor con un ejemplo:
Entrenamiento
Prueba
En el ejemplo anterior se ve claramente, luego de los dos ejemplos, cuál debería ser la respuesta o “output “que se espera dado el tercer “input”.
Estos problemas son muy fáciles para un ser humano, quienes con apenas de dos a cinco ejemplos son capaces de generalizar y resolver un porcentaje muy alto de los problemas “input” que le presenten. Sin embargo, son extremadamente difíciles para una inteligencia artificial basada en LLM. Y la razón por la que le cuesta tanto es porque es algo “novedoso”, nunca ha visto uno, por lo que no sabe cómo resolverlo. Para que un LLM pueda resolverlo tiene que haber visto uno antes (el mismo), y dado el infinito número de patrones que se pueden crear en la prueba, no es que no pueda “aprender” a generalizarlos, pero para hacerlo tendría que ser entrenado con millones de pruebas tipo y es posible que “eventualmente” aprenda a generalizarlos.
“El cerebro humano empieza a trabajar desde el momento en que nacemos y nunca para, hasta que nos levantamos para hablar en público” (George Jessel)
El hecho de que los LLM’s “hablen tan bien” suele hacer que sobreestimemos sus capacidades. Y lo hacemos porque estamos acostumbrados a la forma en que evoluciona el razonamiento humano. Al principio de nuestras vidas somos incapaces de hablar y solo nos dedicamos a obtener información a través de nuestros sentidos, que nuestro cerebro va guardando. A medida que vamos creciendo, y obteniendo más información, nuestro lenguaje se va desarrollando. No es hasta que se tiene cierta edad (aproximadamente 20 años) que un ser humano termina de desarrollar el lenguaje de una forma elaborada y elocuente, que es como se expresa ChatGPT. Para ese momento, el cerebro humano ya está bastante maduro y tiene un “modelo del mundo” bastante completo. Si ChatGPT habla como un ser humano, es normal asumir que “piense” como un ser humano, pero la realidad no es así.
La realidad es que en el caso de estos “Grandes Modelos de Lenguaje” o Large Language Models (LLMs), el proceso está siendo un poco al contrario. Se ha desarrollado una inteligencia capaz de hablar de una forma compleja y elocuente pero que, al menos todavía, no tiene las herramientas ni la capacidad para comprender ni mucho menos “navegar” en el mundo en el que vivimos.
Los LLMs son muy buenos cuando la información es estática, cuando los “problemas” que se les plantean están documentados y existe mucha información sobre ellos. No hay que minimizar el enorme impacto que esto puede tener, y que en algunas áreas ya se está empezando a implementar. Sin embargo, hay que ser consciente de sus limitaciones, y estas son evidentes cuando se les plantean problemas novedosos o cosas que nunca han visto.
Sobre las áreas en las que un LLM puede brillar o flaquear, se lo dejamos a los lectores. En nuestra opinión, vemos grandes posibilidades en una gran cantidad de áreas en las que existen patrones definidos y más o menos estáticos, pero también grandes limitaciones en áreas en las que los problemas sean dinámicos, cambiantes o de unos niveles de complejidad que se le escapen a lo que es básicamente un modelo LLM, que en su “corazón” ha sido creado para generar la siguiente palabra luego de un texto.
El impacto de ChatGPT ha sido muy grande, para lo bueno y para lo malo. Hay quienes, como Chollet, piensan que el lanzamiento de ChatGPT ha retrasado el desarrollo de la inteligencia artificial de cinco a diez años. Entre sus argumentos está que OpenAI (la empresa que ha desarrollado ChatGPT) ha dejado de compartir información con el resto de la comunidad desarrolladora, lo que ha hecho que todos los demás hagan lo mismo. Hay que destacar que antes se compartía la información sobre los avances en el desarrollo de Inteligencia Artificial, y, de hecho, ChatGPT ha sido desarrollado principalmente gracias a un artículo publicado por los desarrolladores de inteligencia artificial de Google. Otra razón que esgrime Chollet es que ahora todo el mundo se está concentrando en los LLMs. Antes existía una variedad de ramas que se estaban desarrollando al mismo tiempo, diferentes enfoques y soluciones al problema de desarrollar una inteligencia artificial. Ahora todos, o al menos la gran mayoría, y en especial la mayoría de los recursos, están enfocados en el desarrollo de LLMs, cosa que podría no ser lo más óptimo.
Por otro lado, hay muchos que piensan que los LLMs son el camino correcto para seguir desarrollando la IA, y que no hay más que refinarla, aumentarle los parámetros, hacerlo “multi-modal” o aumentar las vías por las que se entrenan estos modelos, etc. De hecho, Ilya Sutskever, uno de los fundadores de ChatGPT piensa que sería posible que un LLM avanzado llegara a razonar mejor que cualquier persona, y que su entendimiento de la realidad del mundo podría superar a la de los humanos. Su argumento es que para “predecir la siguiente palabra”, debe existir un entendimiento más complejo de lo que parece a simple vista, y que requiere un entendimiento de “la realidad subyacente” (sus palabras) que ha llevado a la generación de esa palabra.
Independientemente de una postura u otra, está claro que estamos en los albores de una revolución con un impacto que es imposible de pronosticar. Las nuevas tecnologías suelen crear burbujas al inflar las expectativas de algunas empresas que están directamente relacionadas. También suelen brindar oportunidades al no apreciar el impacto que esta nueva tecnología puede tener en empresas “tradicionales”, entre otras distorsiones que suelen producir.
Nosotros estamos atentos, y siempre que la inversión satisfaga nuestros múltiples requisitos, y en especial el de margen de seguridad, aprovecharemos esas oportunidades.
Saludos a todos!
Saludos a todos!