La Inteligencia Artificial y el movimiento Open Source
Está bastante claro qué es lo que consideramos Open Source cuando hablamos de software. Las fronteras son un poco más difusas al hablar de hardware, y, como ha demostrado Meta de nuevo con el anuncio de Llama 3.1, al tratarse de inteligencia artificial.
El SDK de Espressif (esp-idf) está mayormente licenciado bajo Apache 2.0 pero hace llamadas a una serie de librerías precompiladas que se encargan de gestionar los subsistemas RF (WiFi, Bluetooth...). Curiosamente, estas librerías (binarios) están también publicadas bajo la misma licencia, aclarando que encajan dentro de lo que dicha licencia llama "Objetos":
These binary libraries are provided under the same license as the parent esp-idf project - the Apache License 2.0 as provided in the file LICENSE. (The license text refers to this as "Object" form.)
Algo similar sucede con Nvidia, que hace un par de años anunció a bombo y platillo el lanzamiento de una versión abierta de sus drivers que daba soporte a parte de su familia de GPUs. Sin embargo, para lograrlo habían movido a un microcontrolador -cuyo firmware es facilitado en forma de binario-, partes muy importantes de los drivers.
¿Es esto suficiente para definir un sistema como Open Source? Diría que no. ¿Es un buen primer paso? Pues pienso que sí. Por poner un par de ejemplos relacionados con las empresas que acabo de mencionar, la Comunidad que se ha generado alrededor del SDK de Espressif es una de las más activas en el mundo de los sistemas embebidos, ¡hasta hemos llegado a ver intentos de hacer ingeniería inversa a la capa MAC de Espressif! En cuanto a Nvidia, puede parecer un pequeño movimiento, pero lo cierto es que su contribución y las aportaciones de la Comunidad no han cesado desde entonces.
El problema radica en que cuando interaccionan sistemas complejos como pueden ser hardware, firmware e incluso gateware (FPGAs), debemos que ser extremadamente precisos en el lenguaje que usamos para definir el paquete completo. Y en el mundo del scroll infinito y clickbait en el que vivimos, no es una tarea sencilla hacer calar este tipo de mensajes.
Pero, ¿a qué viene todo esto? Pues principalmente a raíz del anuncio de Meta del lanzamiento de una nueva versión del LLM Llama 3.1 a través de una oda al Open Source firmada por el propio Mark Zuckerberg.
Antes de criticar a Meta, es necesario poner sobre la mesa un par de cuestiones que me parecen fundamentales. Como bien dice Zuckerberg en dicha carta, las aportaciones de Meta en la comunidad del software libre son innegables (véase PyTorch, React, GraphQL...) y ni mucho menos desinteresadas. Él mismo menciona como ejemplo ahorros de miles de millones gracias a la estandarización de los centros de datos gracias al Open Compute Project.
La polémica gira en torno a qué es lo que se considera Open Source cuando hablamos de IA y la respuesta no es ni mucho menos sencilla. De hecho, la Open Source Iniciative (OSI) lleva trabajando más de dos años en llegar a unha definición consesuada. En este proceso tiene voz una amplia representación de toda la Comunidad, entre ella, la propia Meta.
A mi modo de ver, y de forma equivalente a lo que he comentado con respecto al movimiento Open Source Hardware, la Inteligencia Artificial es un sistema complejo en el que interactúan diferentes partes de una naturaleza muy diferente: datasets (imágenes, audio, texto...), scripts de preprocesado de datos, de entrenamiento y que resultan en un modelo con ciertos parámetros (pesos o weights en inglés). En el caso de Llama 3.1, Meta ha liberado todo con excepción del dataset. De ahí que gran parte la comunidad se incline por denominar a este tipo de modelos como Open Weights.
Como ya he dicho, encontrar el término adecuado para definirlo no es tarea sencilla. Sin embargo, también he de decir que me parece extremadamente importante llegar a un consenso para evitar un uso abusivo del término Open Source por intereses que nada tienen que ver con los principios del movimiento.
En fin, dada la magnitud del problema y al igual que ha sucedido con Espressif, Nvidia y muchos otras empresas con iniciativas Open Source Hardware, solo puedo desear que este anuncio sirva como aliciente para que la Comunidad desarrolle proyectos más ambicioso y, sobre todo, que impulse la transparencia en el ámbito de la Inteligencia Artificial.