Bitácora de fernand0 Cambiando de aires

¿Están sesgadas las discusiones sobre los sesgos de las inteligencias artificiales?

Marienbrücke (Puente de María) y montañas

No tengo ninguna duda sobre que las discusiones sobre los sesgos de las inteligencias artificiales están muy sesgadas en nuestro contexto. Es una herencia de ese sentimiento anti-tecnología que rodea todas las discusiones y que, aquí encuentra argumentos con facilidad. Me esperaba, sin embargo, algo menos en el contexto global y Donald Clark nos recuerda que no es así en What if discussions of bias in AI were mostly biased themselves?.

Habla de los típicos argumentos que ya casi son un meme, como la inteligencia artificial que confunde a una persona negra con un gorila, y otros…

You also hear the same very old examples being brought up time and time again: black face/gorilla, recruitment and reoffender software.

Luego pasa a analizar algunas de las críticas habituales, y por qué podrían ser poco útiles:

  • Razonamientos que implican sólo los aspectos negativos. Pero todas las tecnologías (y lo que no es) tienen aspectos negativos y, en este caso, en lugar de analizar lo positivo y lo negativo se quedan en los aspectos menos convenientes.
The main bias in debates on bias is a form of one-sidedness in the analysis. Most technology has a downside. ... Rather than tease out the complexity, even comparing upsides with downsides, we are given the downsides only.
  • Razonamientos antropomórficos. Se basan muchas veces en ver los posibles efectos de la tecnología, visualizándolos como robots malignos, o acciones que podemos comprender mejor que la propia naturaleza de los algoritmos que realmente se utilizan.
So crude images of robots enter the mind as characterising AI, or fixed databases where data is retrieved, as opposed to complex LLMs, vector databases or software or mathematics, which is not, for most, easy to call to mind or visualise.
  • Razonamientos que ignoran los propios sesgos humanos. Las personas tenemos nuestros propios sesgos (género, educación, economía, …) lo que hace que muchas veces ni siquiera seamos capaces de ver el problema de manera desapasionada (sesgo de confirmación, negatividad, …)
One layer of human bias heavily influences the bias debate. Rather than look at the issue dispassionately we get well identified neophobia biases; ... This is common in financial decision making and, especially, new technology.
  • Razonamientos que asumen que todas las inteligencias artificiales tienen sesgos. Pero todos conocemos algoritmos sin sesgos (ordenar una lista, por ejemplo) y eso sucede con la mayoría. No sólo eso, mejoran la velocidad, efectividad….
The point is that most algorithms are benign, doing a mechanical job and free from bias. They can improve performance in terms of strength, precision and performance over time...
  • Razonamientos que combinan los sesgos humano y estadístico. No hay que olvidar que hablamos de programas, que no tienen consciencia no conocimiento de cuál es su objetivo y por lo tanto no pueden tener sesgo en el sentido en el que lo tienen las personas. La definición de sesgo estadístico tiene que ver con medir la diferencia entre ‘lo esperado’ y ‘lo que se obtiene’ y, en este sentido, nos permite medir, comprobar y tratar de eliminar el problema. Sin embargo, el sesgo humano muchas veces ni siquiera se mide.
Al is not conscious or aware of its purpose. It is just software, and as such, is not ‘biased’ in the way we attribute that word to ‘humans’. ... There is a definition of ‘bias’ in statistics, which is not a pejorative term, but precisely defined as the difference between an expected value and the true value of a parameter. ... The statistical approach at least recognises these biases and adopts scientific and mathematical methods to try to eliminate these biases. ... This is a key point – human bias often goes unchecked, statistical and mathematical bias is subjected to rigorous checks.
  • Barandillas. Las barandillas (guardrails) son una intervención humana, igual que los re-entrenamientos (post-model training) que tratan de mejorar los resultados, pero que pueden introducir sus propios problemas por los sesgos de los humanos.
Guardrails are human interventions, along with post-model training by humans. These introduce problems with bias introduced by humans.
  • Acusaciones de racismo. Las inteligencias artificiales son un fenómeno global, no están confinadas al mundo occidental. Incluso en Silicon Valey (el Valle de la Silicona, como decían en aquella traducción de la películas de James Bond) hay una cierta diversidad. ¿No estaremos exagerando sobre la maldad de estas empresas? Eso no quiere decir, claro, que no ocurra en algunos casos.
AI is a global phenomenon, not confined to the western world. Even in Silicon Valley the presence of Chinese, Asian and Indian programmers is so prevalent that they feature in every sitcom on the subject. In addition, the idea that these coders are unconsciously, or worse, consciously creating racist and sexist algorithms is an exaggeration.
  • Acusaciones de sexismo. En este caso, nos dicen, el sesgo está claramente en la parte de las personas (educación, y sus resultados).
There seems to be bias in the educational system among parents, teachers and others to steer girls away from STEM subjects and computer studies. But the idea that all algorithms are gender-biased is naïve. If such bias does arise one can work to eliminate the bias. Eliminating human gender bias is much more difficult.
  • Inteligencia artificial y transparencia. Se habla mucho de la transparencia en los algoritmos de inteligencia artificial, pero mucho menos de otros algoritmos y todavía menos en los resultados de otras disciplinas (cita la medicina, y como algunos medicamentos sabemos que funcionan pero no tenemos claro del todo por qué; y aún así los utilizamos, claro).
A common observation in contemporary AI is that its inner workings are opaque, especially machine learning using neural networks. But compare this to another social good – medicine. We know it works but we don’t know how. As Jon Clardy, a professor of biological chemistry and molecular pharmacology at Harvard Medical School says, "the idea that drugs are the result of a clean, logical search for molecules that work is a ‘fairytale'”. Many drugs work but we have no idea why they work. Medicine tends to throw possible solutions at problems, then observe if it works or not.
  • Confundir lanzamientos tempranos y pruebas con los productos finales. La clave, nos dice, es que esos algoritmos no tienen consciencia ni conocimiento así que cometerán errores que pueden corregirse en sucesivas iteraciones.
The good news is that repeated failure results in improvement in machine learning, reinforcement learning, adversarial techniques and so on. It is often absolutely necessary to learn from mistakes to make progress. We need to applaud failure, not jump on the bias bandwagon.

Podemos decir que algo funciona mal, ponerle mala fama y evitar utilizarlo, pero eso no evitará que otras personas lo utilicen, corrijan sus sesgos y tomen decisiones sobre ello mientras nosotros lo criticamos y decimos que no sirve.

En el foro 'Claves Para Entender El Nuevo Mercado Laboral'

Hace unas semanas me invitaron desde la Cámara de Comercio de Zaragoza a moderar una sesión sobre el sector tecnológico del Foro: ‘Claves Para Entender El Nuevo Mercado Laboral’, junto con Pilar Fernández de la Cámara y Mertixell Laborda de Océano Atlántico. El encuentro se celebró el dia 10 de septiembre en la recién rehabilitada sede de la Cámara de Comercio de Zaragoza.

Participaban personas muy interesantes, algunas de ellas viejas conocidas (incluso ex-alumnos) y otras con las que no había tenido la suerte de coincidir:

Eran empresas muy variadas, desde tecnológicas puras a otras para las que su enfoque es la producción pura. Familiares, empresas con fines sociales, … Dedicándose a logística, alimentación, informática, servicios…

A mi me llamaba la atención cómo algunas empresas no se consideran tecnológicas a pesar de que su negocio depende fuertemente de las herramientas (y no me refiero solo a la gestión) y que en muchos casos la tecnología puede hacer que seamos diferenciales con respecto a nuestra competencia.

Surgió la necesidad de captar estos perfiles, para todo tipo de empresas (pero tal vez para las que no se dedican a la tecnología un poco más), se habló de los perfiles, la formación (que tiene sus propias dificultades) y un poquito de la llegada de la inteligencia artificial y cómo puede afectarnos.

La web de Foro ‘Claves Para Entender El Nuevo Mercado Laboral’ que ha tenido tres encuentros contiene algunos vídeos a modo de resumen. Se puede leer también el [PDF] documento del tercer foro, en el que participamos, y un poco de información (y fotografías) en Los desafíos TIC en la empresa: talento, irrupción tecnológica y nuevas dinámicas

Durante la sesión hice un pequeño juego (no hubo mucho tiempo para preparar la sesión) al hacer la presentación de las presonas y de sus empresas a través de lo que veía en su página web. Queda como ejercicio para el lector sacar sus propias impresiones.

Historia publicada originalmente en En el foro ‘Claves Para Entender El Nuevo Mercado Laboral’

El enlace, la atribución y el flujo de información

Huesca.Semana Santa. Cadenas.

Este sitio se basa, casi exclusivamente, en comentarios sobre diversas notas que voy encontrando por la red. En estos casos siempre, sin excusa, hay un (o más) enlaces a lo que originó la publicación así que me gusta mucho traer Why I Attribute donde Stephen Downes nos da sus razones para hacerlo.

Una de las claves es que cuando hay atribución se puede ver no sólo el comentario de la persona que estamos leyendo, sino también los de las personas referenciadas, si el tema nos interesa lo suficiente.

By the time it got to you, you had not only the original story but also some interpretations or perspectives on that story.

También se muestra un cierto apoyo: no significa que estemos de acuerdo con lo que se pueda comentar en los otros sitios, pero al menos la historia ha interesado a una serie de personas y no solo a la que te lo muestra.

It means each of us felt that this story was important enough to pass along. By the time you got it, the story had been vetted three times.

Al final, se construye una red de relaciones, que puede verse como una comunidad, porque normalmente no habrá un solo seguidor de este contenido, ni del enlazado, ni del…

Few people have only one follower. Most people have several. Some have thousands. Nobody has millions, as on mass social networks - there's an upper limit somewhere where too many followers doesn't really work on a federated social network (which is why we are very unlikely to see advertising-supported federated social networks). These followers constitute a community.

Y como resultado de este ‘entramado’ puede ser más sencillo darle credibilidad a algunas ideas, o simplemente evaluarlas.

Getting the message in this way puts you in a much better position to assess the message, evaluate whether it is true, and decide whether to act on it (or pass it along to your own community).

Luego elabora sobre las redes sociales y cómo cortocircuitan este mecanismo, de la misma forma que lo hacen muchas veces los medios de masas, más preocupados por la cantidad de atención sobre todas las cosas. Sin olvidar del esfuerzo que supone la validación a través de la atribución.

These functions, though, have all but disappeared from news media. Because news media depended on advertising, and therefore mass audiences, it came to value engagement over all. The layers of validation and verification were not only expensive overhead, they got in the way of prioritizing engagement.

De hecho, iba a comentar arriba que en redes sociales no suelo enlazar a las fuentes tanto: por una cuestión práctica (o dos), que tiene que ver con el espacio limitado, y porque parece que nada importa demasiado allí.

Contando cantidades muy grandes con la ayuda de una moneda

Expo. Agua, flores, monedas

Si hablamos de contar pensaremos que se trata de una tarea fácil, porque es algo que hacemos habitualmente sin demasiados problemas. Incluso disponemos de herramientas que nos ayudan: cuántas fotos he hecho, cuántos pasos he dado, … Aunque a veces no es tan sencillo. En Computer Scientists Invent an Efficient New Way to Count nos preguntan cómo contaríamos el número de seres vivos en un bosque. Incluso con herramientas como ese contador de la cámara de fotos y disparando una foto cada vez que lo necesitemos sería complicado.

Imagine that you’re sent to a pristine rainforest to carry out a wildlife census. Every time you see an animal, you snap a photo. Your digital camera will track the total number of shots, but you’re only interested in the number of unique animals — all the ones that you haven’t counted already. What’s the best way to get that number?

¿Y el número de usuarios distintos que se conectan cada día a una red social como Facebook? Tendríamos que comparar cada nueva entrada de un usuario con una lista inmensa de entradas previas, para asegurarnos de que era un nuevo usuario.

It gets worse. What if you’re Facebook, and you want to count the number of distinct users who log in each day, even if some of them log in from multiple devices and at multiple times? Now we’re comparing each new login to a list that could run to the billions. </blockquote> El problema tiene nombre propio, el problema de los elementos diferentes (the distinct elements problem) y recientemente Sourav Chakraborty del Indian Statistical Institute, Vinodchandran Variyam de la University of Nebraska, Lincoln, y Kuldeep Meel de la University of Toronto han propuesto una solución novedosa, que se puede ver en Distinct Elements in Streams: An Algorithm for the (Text) Book. El algoritmo evita almacenar todo lo que se ha contado hasta el momento, basado en la aleatoriedad: podemos ir tomando elementos, hasta llegar a los 100, evitando las repeticiones. Cuando los tenemos, lanzamos una moneda al aire (¡aleatoriedad!) por cada elemento contado: si sale cara, se queda en la lista; si sale cruz, lo borramos. Al final deberíamos tener unos 50 elementos.
When the space is full, press pause and flip a coin for each word. Heads, and the word stays on the list; tails, and you delete it. After this preliminary round, you’ll have about 50 distinct words left.
Ahora seguimos contando y cada vez que encontramos un elemento que ya tenemos en la lista volvemos a lanzar la moneda: si sale cruz la borramos, y si sale cara la mantenemos en la lista. Continuamos hasta que volvamos a tener 100 elementos y volvemos a borrar de manera aleatoria aproximadamente la mitad. Con esto hemos terminado la primera ronda.
Proceed in this fashion until you have 100 words on the whiteboard. Then randomly delete about half again, based on the outcome of 100 coin tosses. That concludes Round 1.
Para la segunda, haremos algo parecido; pero en este caso será más difícil que un elemento permanezca en la lista. Si sale la cruz la borramos, igual que antes; pero si sale cara, lanzamos la moneda otra vez y mantenemos el elemento solo si vuelve a salir cara. Una vez que tenemos los 100 elementos ocupados de nuevo eliminamos alrededor de la mitad de las palabras otra vez, igual que en la vuelta anterior.
ontinue as in Round 1, only now we’ll make it harder to keep a word. When you come to a repeated word, flip the coin again. Tails, and you delete it, as before. But if it comes up heads, you’ll flip the coin a second time. Only keep the word if you get a second heads.
En la tercera ronda, hará falta que salga cara tres veces para mantener el elemento, en la cuarta, cuatro. Y así sucesivamente.
In the third round, you’ll need three heads in a row to keep a word. In the fourth round you’ll need four heads in a row. And so on.
En algún momento habremos terminado con los elementos que tenemos que contar y por la forma de proceder cada elemento tiene exactamente la misma probabilidad de estar allí que el resto: 1/2k. Por ejemplo, si hay 61 elementos en la lista y el proceso ha costado seis rondas, podemos dividir 61 por la probabilidad (1/26) lo que nos da un resultado de 3904 elementos.
The point of the exercise has been to ensure that every word, by virtue of the random selections you’ve made, has the same probability of being there: 1/2k. If, for instance, you have 61 words on your list at the conclusion of Hamlet, and the process took six rounds, you can divide 61 by the probability, 1/26, to estimate the number of distinct words — which comes out to 3,904 in this case.
Lo que han demostrado es que la precisión de este método aumenta con el tamaño del espacio que usamos para contar. Si la memoria es suficientemente grande podemos obtener una precisión del 100%.
Variyam and his colleagues mathematically proved that the accuracy of this technique scales with the size of the memory.
¿Por qué es interesante? Como dice William Kuszmaul, incluso para problemas sencillos de entender, básicos y que han sido muy estudiados se pueden encontrar soluciones simples pero no obvias.
“This is a great example of how, even for very basic and well-studied problems, there are sometimes very simple but non-obvious solutions still waiting to be discovered,” said William Kuszmaul (opens a new tab) of Harvard University.
Para personas menos acostumbradas a estas cosas también puede servir cómo, a veces, lanzar una moneda al aire nos ayuda a obtener resultados que no seríamos capaces de conseguir sin ella en un tiempo razonable.

Tiempos complicados, malos comportamientos y vigilancia

Expo. Máscara

Vivimos tiempos verdaderamente complicados. Aunque no entraremos en los detalles más técnicos, este verano fue noticia el casi conseguido ataque a un conjunto de programas desconocidos por la gente menos técnica, pero muy importantes en muchas distribuciones de Linux (xz utils). La cosa tiene casi las características de una película de intriga, porque el análisis posterior de la cosa nos muestra como alguien se infiltra en un proyecto de software libre, con tácticas de ingeniería social (esencialmente dar la lata, presionar, …) consigue hacerse con el control del proyecto e insertar código malicioso; pero no de cualquier manera, porque lo esconcía en alguna parte de la batería de pruebas, despistando a cualquier examinador que intentara encontrar algo raro. Pero algo raro había, porque un desarrollador de Microsoft se da cuenta que una determinada operación tarda más tiempo de lo que debería y, tirando del lío, descubre el problema. Justo cuando esos programitas ya habían empezado a entrar en las actualizaciones de las distribuciones, pudiendo ser un peligro muy importante.

En Jia Tan and SocialCyber ilustran el caso desde una perspectiva interesante, que es la actividad de las personas que contribuyen a este tipo de proyectos. No sólo desde el punto de vista puramente ténico, sino a través de otras señales que se pueden observar.

Jia Tan era el nombre de este contribuidor (seguramente un equipo) que estuvo a punto de liarla gordísima.

Pero aquí nos queremos centrar hoy en el punto de vista de los indicios cuando algo va mal, porque en el desarrollo de los programas hay una parte técnica y tecnológica, claro, y otra parte que podemos llamar ‘social’. Esto es, están las instrucciones y las líneas de código, la interacción con los repositorios donde se pone el trabajo en común…. pero también están los mensajes que se intercambian, la red social de personas que se relacionan directamente con el trabajo de desarrollar …

..., and that software includes both the technical artifacts (aka, the commits) and the social artifacts (messages around software, and the network of people that build the software), holds true to this day, and has not, in my opinion, received the attention it deserves.

En el caso del tal Jia Tan, si prestamos atención a los detalles podíamos ver:

  • Problemas en la línea de tiempo (fechas/horarios que no son compatibles/razonables).
  • Medidas de la actividad del usuario en cuestión.
  • Modificaciones en ‘zonas’ del código que normalmente no tocan.
  • Amistades ‘peligrosas’.
  • Verificación de las direcciones de correo electrónico utilizadas, a través del análisis en los sitios de divulgación de incidentes relacionados con ellas (ahora resulta que si tu dirección de correo no aparece en ningún indicente hay bastantes probabilidades de que sea peligrosa).
  • Comparación de similaridades con otros programas maliciosos
- Time zones (easily forged, but often forgotten), sometimes you see "impossible travel" or time-of-life anomalies as well - Pagerank (measures "importance" of any user in the global or local scope of the repo). "Low" is relative but I just pick a random cutoff and then analyze from there. - Users committing to areas of the code they don't normally touch (requires using Community detection algorithms to determine areas of code) - Users in the community of other "bad" users - Have I Been Pwned or other methods of determining the "real"-ness of an email address - especially email addresses that come from non-corpo realms, although often you'll see people author a patch from their corpo address, and commit it from their personal address (esp. in China) - Semantic similarity to other "bad" code (using an embeddings from CodeBERT and Neo4j's vector database for fast lookup)

Podemos estar de acuerdo en que no siempre es muy sencillo hacer estas comprobaciones y menos todavía si no somos personas de perfil técnico; pero también lo estaremos en que podemos detectar situaciones ‘raras’ prestando un poco de atención y haciendo las preguntas o las indagaciones correctas. Y eso está en la mano de casi todo el mundo.

Apasionante.

Sobre el ataque se puede leer en The Mystery of ‘Jia Tan,’ the XZ Backdoor Mastermind.