Llegamos a ustedes gracias a:



Reportajes y análisis

El código abierto y la inteligencia artificial

Cómo asegurarse de que no le falle

[09/11/2023] El código abierto nunca se ha alojado cómodamente en la nube. Es cierto que el código abierto nunca ha sido más fuerte -a pesar de algunas pruebas de que la mayoría de los proyectos de código abierto son un páramo de seguridad sin mantenimiento-, pero hay una razón por la que siguen apareciendo nuevos modelos de licencia, y no es la codicia corporativa. Más bien, se debe a que las libertades fundamentales del código abierto y la muy venerada Open Source Definition (OSD) nunca se actualizaron para responder verdaderamente a las diferencias impuestas por la computación en la nube -algo sobre lo que estaba escribiendo en el 2009.

"El código abierto se perdió la evolución de la forma en que se distribuye y ejecuta el software, argumenta Stefano Maffulli, director ejecutivo de la Open Source Initiative (OSI), que dirige el OSD. "Realmente no prestamos atención a lo que estaba pasando, y eso generó mucha tensión en el negocio de la nube. Según recuerdo, prestamos mucha atención al cambio, pero había tanta presión para avanzar rápido que, como industria, terminamos aceptando atajos de terceros como la Affero General Public License (AGPL), que no satisfizo a nadie e ignoró la realidad de la creación de software. Algunos han llamado "tóxica a la AGPL, lo que ha provocado que grandes influencers como Google simplemente la rechacen por ser "extremadamente difícil... de cumplir.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

Esta vez, la OSI está decidida a actualizar el código abierto para la era de la inteligencia artificial. En una entrevista con Maffulli, analizó los desafíos y oportunidades de aplicar OSD a la inteligencia artificial.

"Sigue usando esa palabra

Hemos visto todo el acoso a Meta y otros por el presunto uso indebido del término "código abierto para sus modelos de lenguaje grandes (LLM, por sus siglas en inglés) y otros proyectos de inteligencia artificial. "No existe una definición establecida de qué es la inteligencia artificial de código abierto, afirma Mike Linksvayer, jefe de política de desarrolladores en GitHub. Podemos pretender que el código abierto es igual en inteligencia artificial, tal como lo hicimos con la nube, pero el resultado será igual de insatisfactorio. "Los modelos de inteligencia artificial son aparentemente sólo programas de software, pero la forma en que se desarrollan, utiliza, y distribuyen no se parece al software, señala el director ejecutivo y cofundador de Aryn, Mehul Shah. Cuando pretendemos lo contrario, estamos preparando el código abierto para el fracaso.

"La inteligencia artificial rompe la frontera entre los datos y el software, sugiere la OSI. ¿Debería aplicarse el código abierto a los pesos/números de punto flotante en un LLM, a los datos de entrenamiento o algo más? No está claro, y cualquiera que sugiera lo contrario corre el riesgo de cometer el mismo error superficial que cometimos con la nube, conformándonos con atajos de licencias en lugar de lidiar realmente con los problemas difíciles.

Los resultados importan.

Consideremos los últimos borradores del Parlamento Europeo de la Ley Europea de Inteligencia Artificial que intentan eliminar excepciones para la inteligencia artificial "libre y de código abierto (sección 60). Como señala Maffulli, "si no hay una comprensión clara de lo que significa [el código abierto] en la práctica, espero que se produzca un gran efecto paralizador en la investigación, y "tanto el mundo académico como los laboratorios privados se verán afectados debido a la incertidumbre. Para aquellos de nosotros que vivimos los primeros años del código abierto comercial aplicado a la nube, reconocerán el problema que describí en el 2007: Nadie sabía entonces qué significaba "distribución, ya que "software significaba cada vez más "servicios distribuidos a través de una red. Los posibles adoptantes corporativos no estaban seguros de cómo aplicar licencias gratuitas y de código abierto como la GPL.

"No quería repetir... los mismos errores [que cometimos con] la nube con inteligencia artificial, subraya Maffulli. "Por eso, hace tres años comenzamos a investigar lo que está sucediendo en [la inteligencia artificial]. Es difícil exagerar cuán diferente es esto de cuando la nube sacudió el OSI. Parecía que la reacción de la OSI a la nube demoró años; ahora, se está involucrando temprano.

"Extremadamente complejo

En lugar de simplemente asumir que el software es software, Maffulli y la OSI están lidiando con preguntas fundamentales sobre lo que significa el software en la inteligencia artificial. Como afirma Maffulli, "¿qué significa para un desarrollador tener acceso a un modelo, y cuáles son los derechos que deben ejercerse, y qué se necesita para tener la posibilidad de modificar [y redistribuir] ese modelo? Aunque la mayoría de los desarrolladores no inspeccionan ni modifican el código fuente, es esencial que puedan hacerlo. Esto quizás sea particularmente cierto en el caso de la inteligencia artificial, donde los sistemas de caja negra pueden tener impactos poderosos en la vida cotidiana -como la evaluación de los solicitantes de empleo-. Necesitamos la capacidad de mirar dentro de esa "caja negra para comprender cómo llegó el modelo de aprendizaje automático a las decisiones. En código abierto, "es necesario estudiar cómo funciona para poder verificar que lo que usted recibe corresponde a lo que alega la caja, argumenta Maffulli.

¿Suena fácil? No lo es. "Es lo que estamos intentando hacer, y es un escenario extremadamente complejo, subraya Maffulli.

Para garantizar que OSI no se mire el ombligo, Maffulli está trabajando con un amplio espectro de partes interesadas (Mozilla, capitalistas de riesgo, Creative Commons, académicos y todo lo demás). La cuestión es hablar con una amplia gama de personas que tienen un "interés personal en lograr una comprensión más clara, porque "el código abierto es reconocido como un motor del éxito económico.

La mayor dificultad es definir el código abierto en un mundo donde los datos y el software están inextricablemente vinculados. Como describe Maffulli, las discusiones más intensas entre su grupo de trabajo giran en torno a las dependencias entre los datos de entrenamiento y las instrucciones sobre cómo aplicarlos. Tal vez no sea sorprendente, dada la complejidad y lo que está en juego, que "en este momento no haya un consenso sólido sobre lo que eso significa, señala Maffulli.

Hay al menos dos enfoques, con dos facciones principales enfrentándose en el grupo de trabajo. El primero intenta apegarse estrechamente al cómodo concepto de código fuente, promoviendo la idea de que el "código fuente se traduce uno a uno al conjunto de datos. Desde este punto de vista, la combinación de las instrucciones sobre cómo construir el modelo y el código binario es el código fuente sujeto a "fuente abierta.

La segunda facción ve las cosas de una manera radicalmente diferente, creyendo que no se puede modificar el código sin tener acceso al conjunto de datos original. Desde este punto de vista, se necesitan otras cosas para ejercer eficazmente las libertades fundamentales del código abierto. Se necesita, como explica Maffulli, "una descripción muy detallada de lo que se hizo para crear el artefacto. En este mundo, uno necesitaría publicar todos los guiones que se utilizaron para ensamblar el conjunto de datos, los pesos que gobiernan el LLM, los sesgos que le aporta al modelo, etcétera. Esto, en mi opinión, es mucho más interesante y una forma útil de pensar en la inteligencia artificial de código abierto, pero también es mucho más complicada de implementar en la práctica.

Es probable que ninguno de los enfoques sea viable por sí solo. Según Maffulli, "tendremos que encontrar el denominador común. Como explica Maffulli, los enfoques actuales podrían hacer que una gran parte de la inteligencia artificial sea inmune al código abierto porque una forma pasa por alto las aplicaciones donde los datos no se pueden compartir, o donde las aplicaciones se crean sin el concepto de datos compartidos -por ejemplo, sistemas de aprendizaje federados-, y la otra manera no aprecia la importancia esencial de los datos para que la inteligencia artificial funcione. Es similar en algunos aspectos a cómo la OSI intentó forzar una definición de "distribución que hizo poco práctico o imposible para algunos de los mejores ciudadanos de código abierto, como Google, evitar licencias como la AGPL.

Maffulli, sin embargo, se muestra optimista. Para el 2024, él afirma que veremos "algo que se parecerá a las cuatro libertades, porque todo el mundo tiene una gran urgencia por encontrar una definición de inteligencia artificial de código abierto. El enfoque esta vez es diferente. "Estamos dando un paso atrás [y no estamos] haciendo una lista de verificación de 10 puntos para evaluar las licencias. En cambio, esas cuatro libertades -cuatro principios, en realidad- "se convertirán en cinco libertades y [serán] aplicadas a los sistemas de inteligencia artificial. Él sostiene que, una vez que nos hayamos decidido por estos principios esenciales, será relativamente fácil aplicarlos al aprendizaje profundo, al aprendizaje automático y a otros sistemas de inteligencia artificial para evaluar el "código abierto.

Afortunadamente, la OSI no opera sola. Si usted quiere ayudar, puede involucrarse en el proceso de Deep Dive de OSI, comentar sobre la evolución del OSD o comunicarse directamente con Maffulli. Maffulli está ejecutando un proceso abierto e inclusivo para garantizar que la OSI no defraude el código abierto en inteligencia artificial.