2023-04-03

Inteligencia artificial: ¿software abierto o experimentos abiertos?

Coche abierto
Tenía guardados algunos artículos para comentar cuando tuviera algo más de tiempo, pero ese momento no llega, la inteligencia artificial está de moda en las últimas semanas por los avances de los modelos de lenguaje gigantes (large language models (LLM)) y creo que el tema tiene interés.

Por ejemplo, en Open source isn’t working for AI se preguntaba si tendría sentido acceder al código de estos sistemas de inteligencia artificial cuando lo más probable es que no pudiéramos hacer nada con ellos (por su voracidad en consumo de recursos, se entiende). Así que Matt Asay se pregunta si no deberíamos enfocar el asunto de otra forma.


What’s the point of open sourcing code that runs at a scale no one can replicate? AI needs collaboration, but let’s think about it differently.


Esto ya venía de antes, con la nube (y con la web, si me apuran) tener el código no siempre nos va a ayudar a gestionar mejor las cosas. En el caso de que sea posible, claro.


As Tim O’Reilly wrote at the time, in a cloud era of open source, “one of the motivations to share—the necessity of giving a copy of the source in order to let someone run your program—is truly gone.” In fact, he went on, “Not only is it no longer required, in the case of the largest applications, it’s no longer possible.”


Sin embargo, la colaboración sigue siendo tan necesaria como siempre (y no sólo como elementos del sistema que ayudan a entrenarla).


There’s never been a more important time to collaborate on AI, yet there’s also never been a time when doing so has been more difficult.


Lo que hacen la mayoría de las empresas hoy en día es una inteligencia artificial basada en modelos masivos (¿ya no se habla de BigData?) de una forma que la mayoría no podemos ni pensar.


According to Loukides, though many companies may claim to be involved in AI, there are really just three companies pushing the industry forward: Facebook, OpenAI, and Google. What do they have in common? The ability to run massive models at scale. In other words, they’re doing AI in a way that you and I can’t.


Y no sólo es por los recursos, también puede suceder que los sistemas de unos serían, con alta probabilidad, difíciles de reproducir en la infraestructura de otros igualmente capaces. Simplemente, porque están demasiado ligados a la forma que cada uno tiene de hacer las cosas.


That sounds great but, as Loukides insists, OPT-175B “probably can’t even be reproduced by Google and OpenAI, even though they have sufficient computing resources.” Why? “OPT-175B is too closely tied to Facebook’s infrastructure (including custom hardware) to be reproduced on Google’s infrastructure.”


Sin embargo, es muy importante que seamos capaces de comprender lo que hay detrás de esos procesos, para que podamos confiar en los resultados.


It’s hard to trust AI if we don’t understand the science inside the machine.


Así que, nos dice, lo que hay que hacer es facilitar el acceso a la infraestructura a las personas adecuadas.


We need to find ways to open up that infrastructure. Loukides has an idea, though it may not satisfy the most zealous of free software/AI folks: “The answer is to provide free access to outside researchers and early adopters so they can ask their own questions and see the wide range of results.”


Pero esto no es código abierto en el sentido tradicional.


But it’s not “open source” in the way that many desire. That’s probably OK.


Pero si miramos de una forma diferente, puede ser lo que necesitamos: lo que podemos necesitar es el acceso a los programas de forma que sea posible acceder a ellos y comprenderlos en lugar, nos dice, de tratar de traer a estos sistemas conceptos que se nos han quedado pequeños.


We need to ditch our binary view of open source. It’s never been a particularly useful lens through which to see the open source world, and it’s becoming less so every day, given our cloud era. As companies and individuals, our goal should be to open access to software in ways that benefit our customers and third-party developers to foster access and understanding instead of trying to retrofit a decades-old concept of open source to the cloud. It hasn’t worked for open source, just as it’s not working for AI. Time to think differently.


El siguiente texto que me pareció interesante es el de How Recommendation Algorithms Actually Work (cuando lo lei por primera vez se llamaba "Forget "Open-Source" Algorithms - Focus on Experiments instead").

En el Thomas Dimson explora el tema desde la óptica de un ingeniero en Instagram y la introducción del primer algoritmo de recomendación personalizado para sus usuarios.


In 2016, I led a small team at Instagram that designed and built one of the largest content distribution experiments in history: the introduction of a personalized ranking algorithm to the platform’s (then) 500 million users


Nos habla de los experimentos que hicieron para verificar que el camino era el correcto y la mejora que parecía suponer:


Those differences suggested an overwhelmingly improved experience with the new algorithm for every aspect of the app.


Sin olvidar que tiene sus problemas: control de la distribución del contenido por parte de la plataforma, criterios de operación sin transparecia, riesgo de promocionar contenido dañino, frustración,...


While I remain confident that algorithmic ranking is the best choice for social media platforms, it is not without downsides. To name a few: increased platform control over content distribution, opaque operating criteria, risks of promoting harmful content, and general user frustration.


Y, claro, abrir el algoritmo puede ser una opción pero puede que no sea la solución. En este caso nos dice que la transparencia podría venir más bien de la experimentación abierta.


But the call for transparency is valid, and it can begin with disclosure into experiments similar to the one I led at Instagram. Useful transparency, I’d argue, lies in open-source experimentation rather than algorithms.


Los sistemas de recomendación actuales son personalizados, lo que significa que ofrecen diferentes visiones para diferentes personas. No pueden leernos la mente, así que se basan en nuestras acciones.


Modern ranking algorithms, by contrast, are personalized: The algorithm makes different content selections depending on who’s browsing. It’s impossible to read a user’s mind and know their precise preferences, but a machine-learning model can draw on past behavior to predict answers ...


Si se publica el código se podría comprender por qué ciertos contenidos son promovidos u ocultados. Pero no está garantizado que podamos conocer todos los resultados posibles.


If we publish the internal source code and weights of machine-learning models involved in ranking, then engineers, analysts, and others will be able to understand why certain content is promoted or demoted. The truth is that even complete transparency into models still tells us little about their effects.ç


Sin olvidar que estos resultados dependen del usuario, el contenido y las circunstancias, que lo complica todo un poco.


Predictions from machine-learning models vary based on the user, the content, and the circumstances.


Luego habla de cómo medir los beneficios de un cambio en el algoritmo, que pueden ser de diversos tipos y con diversos intereses.

Finalmente, nos cuenta como el problema que ve es que sólo las personas que tienen acceso a la ejecución de los experimentos pueden estudiarlos, pero no tienen por qué ser las más adecuadas para detectar los problemas que pueden aparecer.


The problem with our current system is that the people running experiments are the only ones who can study them. While there are good reasons for this, the people making ranking changes aren’t necessarily incentivized to find certain kinds of issues the way the broader community might be.


Justamente en eso es buena la comunidad del software libre: gente externa a los proyectos que puede centrarse en problemas que los desarrolladores principales no han considerado.


Indeed, this is something the open-source movement in software has historically been good at — i.e., relying on a community of engineers to spot problems and contribute improvements, in addition to the core developers working on the project.


Habría que dar acceso a la comunidad a la información sobre los experimentos, para que puedan influir en cómo se toman las decisiones y fijarse en consecuencias en las que no se fijaron los desarrolladores.


By providing the community with more transparency about the experiments, the teams in charge of them can establish best practices for making decisions and reveal effects from experiments beyond what the team is studying.


Así que, según él, la transparencia es importante, pero lo que es verdaderamente importante es la transparencia útil y propone abrir los experimentos en lugar del código.


Transparency is in itself an attribute, but meaningful transparency is the better goal. Going forward, let’s focus on opening up experiments, not algorithms.


Desde que se escribieron estos artículos han sucedido algunas cosas interesantes, en orden cronológico:

- Running LLaMA 7B and 13B on a 64GB M2 MacBook Pro with llama.cpp. Esto es, algunos LLMs de Facebook se pueden ejecutar en un portátil (bastante potente, pero portátil).

- A new era of transparency for Twitter. Twitter ha publicado el algoritmo de recomendación del 'Para ti' de Twitter.

Veremos.

Puedes enterarte de las notas nuevas en: @reflexioneseir (Twitter), Reflexiones e Irreflexiones (Página de Facebook), Reflexiones e Irreflexiones (Canal de Telegram), fernand0 (en LinkedIn), @fernand0 (en Medium), Mastodon.


Referencias (TrackBacks)

URL de trackback de esta historia http://fernand0.blogalia.com//trackbacks/78689

Comentarios

<Febrero 2024
Lu Ma Mi Ju Vi Sa Do
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29