Por qué el código abierto es la cuna de la inteligencia artificial

Open source the birthplace of artificial intelligence

De alguna manera, el código abierto y la inteligencia artificial nacieron juntos.

En 1971, si mencionabas la IA a la mayoría de las personas, podrían haber pensado en las Tres Leyes de la Robótica de Isaac Asimov. Sin embargo, la IA ya era un tema real ese año en el Laboratorio de Inteligencia Artificial del MIT, donde Richard M. Stallman (RMS) se unió. Años más tarde, a medida que surgía el software propietario, RMS desarrolló la idea radical del software libre. Décadas después, este concepto, transformado en código abierto, se convertiría en el lugar de nacimiento de la IA moderna.

También: Los mejores chatbots de IA: ChatGPT y alternativas

No fue un escritor de ciencia ficción, sino un científico de la computación, Alan Turing, quien inició el movimiento moderno de IA. El artículo de Turing de 1950 “Máquinas Computadoras e Inteligencia” fue el origen de la Prueba de Turing. La prueba, en resumen, establece que si una máquina puede engañarte haciéndote creer que estás hablando con un ser humano, es inteligente.

Según algunas personas, las IA de hoy en día ya pueden hacer esto. No estoy de acuerdo, pero claramente estamos en camino.

En 1960, el científico de la computación John McCarthy acuñó el término “inteligencia artificial” y, en el proceso, creó el lenguaje Lisp. El logro de McCarthy, como lo expresó el científico de la computación Paul Graham, “hizo por la programación algo similar a lo que Euclides hizo por la geometría. Mostró cómo, dadas unas pocas operaciones simples y una notación para funciones, puedes construir un lenguaje de programación completo.”

Lisp, en el cual se mezclan datos y código, se convirtió en el primer lenguaje de la IA. También fue el primer amor de programación de RMS.

También: Mis dos complementos favoritos de ChatGPT Plus y las cosas notables que puedo hacer con ellos

Entonces, ¿por qué no tuvimos un GNU-ChatGPT en los años 80? Hay muchas teorías. La que prefiero es que la IA temprana tenía las ideas correctas en la década equivocada. El hardware no estaba a la altura del desafío. Otros elementos esenciales, como Big Data, aún no estaban disponibles para ayudar a que la IA real despegara. Proyectos de código abierto como Hadoop, Spark y Cassandra proporcionaron las herramientas que la IA y el aprendizaje automático necesitaban para almacenar y procesar grandes cantidades de datos en clústeres de máquinas. Sin estos datos y un acceso rápido a ellos, los Modelos de Lenguaje Grande (LLMs) no podrían funcionar.

Hoy en día, incluso Bill Gates, que no es fanático del código abierto, admite que la IA basada en código abierto es lo más grande desde que se le presentó la idea de una interfaz gráfica de usuario (GUI) en 1980. A partir de esa idea de la GUI, como recordarán, Gates creó un pequeño programa llamado Windows.

También: Los mejores generadores de imágenes de IA para probar

En particular, los modelos generativos de IA extremadamente populares en la actualidad, como ChatGPT y Llama 2, surgieron de orígenes de código abierto. Esto no quiere decir que ChatGPT, Llama 2 o DALL-E sean de código abierto. No lo son.

Oh, se suponía que lo fueran. Como dijo Elon Musk, un inversionista temprano de OpenAI: “OpenAI fue creado como una compañía sin fines de lucro de código abierto (por eso lo llamé “Open” AI) para servir como contrapeso a Google, pero ahora se ha convertido en una compañía de código cerrado y máximo beneficio controlada efectivamente por Microsoft. No era eso lo que pretendía en absoluto.”

Sea como sea, OpenAI y todos los demás programas generativos de IA se basan en fundamentos de código abierto. En particular, Transformer de Hugging Face es la principal biblioteca de código abierto para construir los modelos de aprendizaje automático (ML) de hoy en día. Con su nombre divertido y todo, proporciona modelos preentrenados, arquitecturas y herramientas para tareas de procesamiento del lenguaje natural. Esto permite a los desarrolladores construir sobre modelos existentes y ajustarlos para casos de uso específicos. En particular, ChatGPT se basa en la biblioteca de Hugging Face para sus LLM de GPT. Sin Transformer, no hay ChatGPT.

También: ¿Quieres construir tu propio chatbot de IA? Saluda a HuggingChat de código abierto

Además, TensorFlow y PyTorch, desarrollados por Google y Facebook respectivamente, impulsaron a ChatGPT. Estos marcos de trabajo en Python proporcionan herramientas y bibliotecas esenciales para construir y entrenar modelos de aprendizaje profundo. No hace falta decir que otros programas de IA/ML de código abierto se construyen sobre ellos. Por ejemplo, Keras, una API de alto nivel de TensorFlow, a menudo es utilizada por desarrolladores sin experiencia en aprendizaje profundo para construir redes neuronales.

Puedes discutir hasta cansarte sobre cuál es mejor, y los programadores de IA lo hacen, pero tanto TensorFlow como PyTorch se utilizan en múltiples proyectos. Detrás de escena de tu chatbot de IA favorito hay una mezcla de diferentes proyectos de código abierto.

Algunos programas de alto nivel, como Llama-2 de Meta, afirman ser de código abierto. Pero no lo son. Aunque muchos programadores de código abierto han recurrido a Llama porque es tan amigable con el código abierto como cualquier otro de los grandes programas de IA, cuando llega la hora de la verdad, Llama-2 no es de código abierto. Es cierto, puedes descargarlo y usarlo. Con pesos de modelo y código de inicio para el modelo preentrenado y versiones ajustadas a la conversación, es fácil construir aplicaciones impulsadas por Llama. Solo hay un pequeño problema enterrado en la licencia: si tu programa es un éxito rotundo y tienes más de 700 millones de usuarios activos mensuales en el mes calendario anterior, debes solicitar una licencia a Meta, la cual Meta puede otorgarte a su entera discreción, y no estás autorizado a ejercer ninguno de los derechos bajo este acuerdo a menos que Meta te otorgue expresamente dichos derechos.

Puedes abandonar cualquier sueño que puedas tener de convertirte en multimillonario escribiendo Virtual Girl/Boy Friend basado en Llama. Mark Zuckerberg te agradecerá por ayudarlo a ganar algunos miles de millones más.

Además: La IA es muy parecida al streaming. Los complementos se suman rápidamente

Ahora bien, existen algunos LLMs de código abierto verdaderos, como Falcon180B. Sin embargo, casi todos los principales LLMs comerciales no son adecuadamente de código abierto. Cabe mencionar que todos los principales LLMs fueron entrenados con datos abiertos. Por ejemplo, GPT-4 y la mayoría de los otros LLMs grandes obtienen parte de sus datos de CommonCrawl, un archivo de texto que contiene petabytes de datos obtenidos de la web. Si has escrito algo en un sitio público, como un deseo de cumpleaños en Facebook, un comentario en Reddit sobre Linux, una mención en Wikipedia o un libro en Archives.org, si fue escrito en HTML, es probable que tus datos estén allí en algún lugar.

Entonces, ¿está condenado el código abierto a ser siempre una dama de honor y nunca una novia en el negocio de la IA? No tan rápido.

En un documento filtrado interno de Google, un ingeniero de IA de Google escribió: “La verdad incómoda es que no estamos en posición de ganar esta carrera armamentística [de la IA generativa], y tampoco lo está OpenAI. Mientras hemos estado discutiendo, una tercera facción ha estado comiéndonos el almuerzo tranquilamente”.

¿Quién es ese tercer jugador? La comunidad de código abierto.

Resulta que no necesitas nubes de hiperescala ni miles de GPUs de alta gama para obtener respuestas útiles de la IA generativa. De hecho, puedes ejecutar LLMs en un teléfono inteligente: las personas están ejecutando modelos de base en un Pixel 6 a cinco tokens LLM por segundo. También puedes ajustar de forma personalizada una IA en tu computadora portátil en una tarde. Cuando puedes “personalizar un modelo de lenguaje en pocas horas en hardware de consumo”, señaló el ingeniero, “[es] algo importante”. Eso es seguro.

También: La ética de la IA generativa: cómo podemos aprovechar esta poderosa tecnología

Gracias a mecanismos de ajuste fino, como la adaptación de rango bajo de código abierto de Hugging Face (LoRA), puedes realizar ajuste fino del modelo a una fracción del costo y tiempo de otros métodos. ¿Cuánto de una fracción? ¿Cómo te suena personalizar un modelo de lenguaje en pocas horas en hardware de consumo?

El desarrollador de Google añadió:

“Parte de lo que hace que LoRA sea tan efectivo es que, al igual que otras formas de ajuste fino, es apilable. Mejoras como el ajuste de instrucciones se pueden aplicar y luego aprovechar a medida que otros contribuyentes agregan diálogo, razonamiento o uso de herramientas. Si bien los ajustes finos individuales son de rango bajo, su suma no tiene por qué serlo, lo que permite que las actualizaciones de rango completo en el modelo se acumulen con el tiempo. Esto significa que a medida que se disponga de nuevos y mejores conjuntos de datos y tareas, el modelo se puede mantener fácilmente actualizado sin tener que pagar el costo de una ejecución completa”.

Nuestro programador misterioso concluyó: “Competir directamente con el código abierto es una propuesta perdedora… No debemos esperar poder alcanzarlo. El internet moderno funciona con código abierto por una razón. El código abierto tiene algunas ventajas significativas que no podemos replicar.”

También: ¿Pueden los complementos de chatbot de IA realmente cambiar el juego?

Hace treinta años, nadie soñaba con que un sistema operativo de código abierto pudiera usurpar sistemas propietarios como Unix y Windows. Quizás no se necesite ni la mitad de ese tiempo para que un programa de IA completamente abierto abrume a los programas semi-propietarios que estamos utilizando hoy en día.