Llevaba yo tiempo (meses) con una pestaña del navegador abierta en la última versión de ese maravilloso vídeo que es el Everything is a remix…
…con la intención de buscarle la relectura «en tiempos de IA generativa». Y resulta ser que en el último enlace del #67 de Interaccions, la maravillosa newsletter de Sergi Muñoz Contreras, este me descubre que, de hecho, esa relectura ya se la ha hecho su propio autor, Kirby Ferguson. Y después de verla, opino que es de lo mejor que se ha dicho sobre el tema (y es que en muchísimas ocasiones, incluso cuando el discurso se alinea con mis ideas, me parece que la capacidad de argumentación es escasa).
Mi recomendación es que, aunque vieseis alguna de las múltiples versiones del Everything en su momento, la reveáis ahora con calma antes de ver el segundo vídeo.
Y solo añadiré que, siendo uno muy, muy fan del Everything, y estando bastante de acuerdo (pero no del todo) con la relectura, creo que se salta lo que yo llamo «el problema del aprendiz» (que seguro que tiene un nombre mejor): pareciéndome determinados (muchos, incluso, potencialmente) usos de la IA como herramienta (como los propuestos en AI is remixing, por ejemplo) lícitos (estoy obviando los charcos tamaño océano de la sostenibilidad y del respeto a la propiedad intelectual, ciertamente), la IA es un arma de destrucción masiva del proceso de aprendizaje que convierte al aprendiz en maestro, y que eso es algo que me aterra. Creo que lo resolveremos algún día. Pero me aterra.
Scott Hanselmann es un tipo majísimo, con un podcast muy recomendable (de los últimos episodios, me quedo con el del Interim Computer Museum o el de Anne-Laure Le Cunff, pero el nivel medio es alto). Scott es, además, el vicepresidente de «developer community» de una pequeña compañía llamada Microsoft (cosa que le permitió abrir el código del BASIC de Microsoft para el 6502, que enseñó a programar a mucha gente en el Apple II, y los Commodore PET, VIC 20 y Commodore 64, con el que aprendí yo, y que con eso yo ya le estaría agradecido eternamente).
En Microsoft Scott conoce a Mark Russinovich, cuyo LinkedIn dice que es «CTO, Deputy CISO and Technical Fellow, Microsoft Azure«, pero que igual os suena más (a los que tengáis una edad, os guste la informática y uséis Windows) de SysInternals. Y Scott y Mark tienen otro podcast, muy apañado también, Scott and Mark Learn To…, que en los últimos episodios ha hablado bastante de un producto que vende intensamente Microsoft, la programación con IA generativa. Y de todos esos episodios, me quedo con este fragmento y lo que dice Russinovich hacia el final. Os dejo el vídeo en el momento indicado, acompañado de la transcripción en inglés, primero, y la traducción al español, después.
Solo comentar antes, que…
….hablan de informática, pero aplica a muchos otros campos, si es que no a todos,
que no es la opinión más original del mundo, pero está bien que lo diga quien lo dice,
que lo de que las universidades no tienen un buen modelo es rigurosamente cierto, pero a ver quién es el guapo o guapa al que se le ocurre una solución que no sea brutalmente intrusiva o imposiblemente cara,
y que destaco un fragmento de la conversación, pero que también está muy bien (traducido: alineado con lo que pienso yo, que es un tema que también me toca de relativamente cerca) sobre las empresas y lo que buscan / deben buscar al contratar gente joven, y que en general todo el episodio, y todo el podcast, son bastante recomendables.
Y eso, os dejo con el vídeo, la transcripción y la traducción.
Otro día, más.
Transcripción
(A partir de la transcripción de YouTube, corregida y editada ligeramente por mí para hacerla algo más legible (espero). Las negritas son mías.)
—So as we end… we’re at an inflection point. What should university students that are studying CS right now, sophomores, juniors, seniors, in CS, be thinking about as we are in that point?
— I have a friend that’s got a student in computer science that’s a junior and he said he was talking to them and said asking them, do you use AI and he says, like, yeah a lot of my fellow students are using AI. I don’t use AI, because I want to learn, the hard way.
— I think both is the right answer, though, I feel.
— I think both, but here’s what I’ll tell you right now. I think that universities don’t have a good model, you know, consistent.
— They’re behind. Academia might, but research level academia.
— But not for teaching undergrads. And, actually, I think what is coming into view for me is that you need classes where using AI for certain projects or certain classes is considered cheating. Not to say that you don’t have classes and projects in some classes where the student is told to use AI, but you need to have the main basis for the education on computer science and programming to be AI-less, because that’s the only way the student’s going to learn.
— I’ve been saying «drive stick shift». And I get told that I’m being gatekeepy when I say that.
— I don’t think you are, because there is a great study of three months ago from MIT where they took, um, not students, but they took people in careers, already in the workforce, and they divided them into three cohorts and had them write essays from the SAT, and they had one cohort just do it with their own closed book, just write the essay. They had another cohort that got to use Google, and they had another cohort that got to use ChatGPT, and they looked at their EEGs, and they quizzed them afterwards, right after, and then like a week later, and the results were exactly what you would expect. The people that wrote it could answer questions about what they wrote, even a week later, and their EEGs showed that they were burning a lot of wattage. The people that were using ChatGPT, an hour after they wrote the essay, they couldn’t remember what they’d written.
— That’s the thing. It’s just not even there. That makes me really sad. I very much enjoy using AI to brainstorm, to plan, but then I want to do the writing part. To vibe your way through life has me concerned.
— You lose the critical thinking. And they call this critical thinking deficit, that is what it’s creating…
— Which we already have from social media.
— Yeah, we already have. And if you’re talking about the early and career programmers that we’ve been talking about wanting to hire at a company, you want them to know what a race condition is. You don’t want them to have vibed it and AI is like, «Yeah, a race condition. AI will fix that.» Because at some point, as we’ve said, I think with the limitations of AI and software programming, at least for the foreseeable future somebody needs to know.
Traducción
(Con ChatGPT y revisado por mí. Las negritas siguen siendo mías.)
—Así que, para cerrar… estamos en un punto de inflexión. ¿Qué deberían estar pensando los estudiantes universitarios que estudian informática ahora mismo?
—Tengo un amigo que tiene un hijo que estudia informática, está en tercer año, y me dijo que le preguntó: “¿Usas IA?” Y él respondió: “Sí, muchos de mis compañeros la usan. Yo no, porque quiero aprender por el camino difícil.”
—Creo que ambas cosas son la respuesta correcta, sinceramente.
—Sí, ambas, pero te diré algo: creo que las universidades no tienen un modelo adecuado, coherente.
—Van por detrás. Quizás la academia investigadora sí, pero…
—Pero no en la enseñanza de grado. De hecho, creo que lo que se está haciendo evidente es que necesitamos clases en las que usar IA para ciertos proyectos o asignaturas se considere hacer trampa. No porque no debas tener otras clases o proyectos donde se indique explícitamente al estudiante que use IA, sino porque la base principal de la formación en informática y programación debe ser sin IA, porque es la única forma en que el estudiante realmente aprenderá.
—Yo suelo decir “hay que aprender a conducir con cambio manual”. Y me dicen que eso es una postura elitista1.
—No creo que lo sea, porque hay un estudio excelente de hace tres meses del MIT donde tomaron… no estudiantes, sino profesionales ya en activo, y los dividieron en tres grupos para que escribieran ensayos del tipo de la selectividad. A un grupo le dijeron que lo hiciera sin ayuda, a otro que podía usar Google, y a otro que podía usar ChatGPT. Luego midieron sus electroencefalogramas y los evaluaron justo después y una semana más tarde. Los resultados fueron exactamente los que esperarías: las personas que escribieron el ensayo por sí mismas eran capaces de responder preguntas sobre lo que habían escrito incluso una semana después, y sus elecroencefalogramas mostraban mucha actividad cerebral. En cambio, quienes usaron ChatGPT, una hora después ya no recordaban lo que habían escrito.
—Eso es. Es que ni siquiera está ahí. Y eso me pone muy triste. Me gusta mucho usar la IA para generar ideas, para planificar, pero luego quiero escribir yo. Esa actitud de “vibear”2 la vida me preocupa.
—Se pierde el pensamiento crítico. Y eso está generando un déficit de pensamiento crítico…
—Que ya teníamos por culpa de las redes sociales.
—Sí, ya lo teníamos. Y si hablamos de los programadores jóvenes o principiantes que queremos contratar en una empresa, quieres que sepan lo que es una condición de carrera (race condition). No quieres que lo hayan “vibeado” y que la IA les diga: “Sí, una condición de carrera, la IA lo arreglará.” Porque, como ya hemos dicho, con las limitaciones de la IA en la programación de software, al menos en el futuro cercano, alguien tiene que saberlo.
«Gatekeepy» en el original. En este caso «to gatekeep» sería poner barreras de acceso innecesarias, o «pedir carnets». ↩︎
«Vibear» es mi traducción de «to vibe code«, crear programas a base de prompts a IAs generativas, sin escribir una línea de código. ↩︎
Pues nada, seguimos con nuestro proyecto de leernos cada mes la revista Byte… de hace cuarenta años. Y le toca el turno al número de junio de 1985. Encontraréis todos los números en esta colección de archive.org, y el que leemos hoy, en concreto, dedicado a las técnicas de programación.
Tampoco es que sea el número de mi vida, pero tiene sus cosillas. La primera en que me paro tiene que ver con accesibilidad:
Que sí. Que hace décadas que hay gente que piensa en usar la informática para ayudar a las personas con discapacidad (en este caso visual). Lástima que tanta otra gente se olvide del tema.
Siguiente parada, anuncio de ordenador de esos que te hace añorar el diseño industrial ochentero:
¿Me vais a decir que no es precioso? Bueno. Me vais a decir que no se ve. Hagamos un enhance it:
¿Es o no precioso el Apricot Portable? Había salido a la venta en octubre del 84 y, recomonozcámoslo, le daba sopas con honda a los portátiles de la época (incluido mi adorado SX-64). Ni siete kilos, pesaba. Y las piezas separadas se comunicaban ¡por infrarrojos! ¡El futuro! ¡En 1984! Hasta tenía reconocimiento de voz (aunque habría que poner «reconocimiento» entre toneladas de comillas: dice la Wikipedia que se le podían entrar 4096 palabras, 64 de las cuales simultáneamente en memoria). Y su MS-DOS pasaba de los famosos 640 Ks (para llegar a 768, tampoco nos emocionemos más de la cuenta). En cualquier caso, una preciosidad.
Seguimos avanzando y nos encontramos con otro anuncio:
¿Qué es eso de GEM? Aquí, otra versión del anuncio:
GEM era el entorno gráfico que desarrolló Digital Research (la compañía de CP/M, fundada en 1974 y que sería adquirida por Novell en 1991 ) principalmente para los Atari ST, pero también para PCs con MS-DOS, entre otros. Y es ver una captura de GEM y que se me caiga la lagrimita. Esnif.
Volviendo a nuestro clásico «¿créias que esto era nuevo?», hoy toca…
Sí, queridas, podríais pensar que TPUs y NPUs y demás son una cosa acabada de inventar, pero cada vez que la IA se pone de moda, alguien piensa en hardware para acelerarla…
Siguiente cosa que me ha interesado: ¿cómo elegir lenguaje de programación?
La cosa comienza dando preferencia a compilados sobre interpretados por temas de velocidad (cosa más importante hace cuarenta años que ahora, que les pregunten a JavaScript y Python). Sigue proponiendo que el tipo de programa es muy importante (y dando COBOL como ejemplo de lenguaje para aplicaciones de negocios), y a continuación proponiendo si lenguajes de alto o bajo nivel… Comencé a leer el artículo pensando que lo que dijese sería siendo bastante actual. Curiosamente, donde uno esperaba más estabilidad… va a ser que no. Pero claro, entonces llega este artículo sobre componentes reutilizables:
Ojo a los dos primeros párrafos:
El mundo del software ha chocado con la Crisis del Software: los proyectos ambiciosos son difíciles de gestionar, demasiado caros, de calidad mediocre y difíciles de programar con fiabilidad. Además, con demasiada frecuencia, el software ofrece una solución que no satisface las necesidades de los clientes. Tras la entrega, o incluso antes, los cambios en los requisitos obligan a modificar los sistemas.
Debemos construir sistemas de una forma radicalmente diferente si queremos satisfacer las demandas futuras de cantidad y calidad. Debemos aprender a construir sistemas que resistan el cambio.
¿Escritos en 1985? ¿1995? ¿2025? ¿Nos jugamos algo a que los podremos reutilizar sin tocar una coma en 2065?
En fin… Si queréis saltar de este mes de junio del 85 a nuestra relectura del número de mayo, aquí lo teneís. y el mes que viene, más (espero).
Continuamos con el proyecto de leer mensualmente la revista Byte… de hace cuarenta años (tenéis las entradas anteriores en la etiqueta Byte del blog, aunque a ver si encuentro el momento de currarme un índice un poco más currado (que muy probablemente solo usaría yo, ciertamente)).
Decía el mes pasado que este número venía cargadito, y así es:
…pero no cargado de las cosas que suelo destacar, sino de una buena cantidad de artículos sobre IA. Pongo yo unos cuantos «plus ça change» en estas entradas, pero en esta ocasión todo el bloque central de la revista es un «plus ça change». Tanto que, del resto, solo me voy a quedar con la inocentada:
(Por cierto, he decidido cambiar de «proveedor» para las revistas, a esta página de archive.org, y en la medida de lo posible (léase, cuando me acuerde) intentaré enlazar los artículos y piezas que comente.)
Entrando en materia, la cosa comienza con nada más y nada menos que Marvin Minsky:
Minsky fue cofundador del laboratorio de IA del MIT, había recibido el premio Turing en 1969, inventó el primer «head mounted display», codiseñó con Seymour Papert la tortuga de Logo, y para su tesis doctoral construyó a principios de los años cincuenta SNARC, uno de los primeros intentos de construir una máquina que imitara el comportamiento del cerebro humano, diseñada para simular una red neuronal, específicamente un conjunto de neuronas artificiales interconectadas, que emulaba el comportamiento de ratas recorriendo laberintos, y aprendía gradualmente a encontrar el camino correcto basándose en recompensas (lo que ahora llamamos aprendizaje por refuerzo). Ojo: Minsky (fallecido en 2016) estuvo asociado con Jeffrey Epstein y estuvo en su isla privada, aunque la mujer de Minsky, que estuvo allí con él, defiende que nunca hizo nada moralmente cuestionable allí.
Minsky, que estaba muy interesado en SETI, el proyecto para buscar vida extraterrestre, plantea en el artículo su hipótesis de que toda inteligencia, alienígena o no, debe ser similar y que, por tanto, no debería ser muy difícil la comunicación, a no ser que la otra inteligencia haya ido más allá del estado de preocuparse por su supervivencia, la comunicación y expandir su control del mundo físico. Para ello se apoya en un experimento mental de exploración de máquinas de Turing, y en la universalidad de la aritmética, para acabar llegando a la inevitabilidad, a su vez, de muchos aspectos del lenguaje (el razonamiento me suena a Chomsky, por algún motivo). No me atrevo para nada a resumir ni a juzgar el artículo, pero es curioso combinar la IA de la inteligencia artificial con la IA de la inteligencia alienígena, cuando menos…
El siguiente artículo también tiene autores «wikipediables»: Roger Schank se doctoró en lingüística después de graduarse en matemáticas, fue profesor de informática y psicología en Yale , donde en 1981 fundó el Yale Artificial Intelligence Project y en 1989 haría lo mismo con el Institute for the Learning Sciences de Northwestern. Investigaba sobre comprensión del lenguaje natural y razonamiento basado en casos. Y, me temo, no solo conocía también a Epstein (ayuda que este se dedicase de vez en cuando a financiar investigación en IA), como Minsky, sino que le mostró su apoyo cuando comenzó a destaparse el pastel :-S. Lawrence Hunter, por su parte, se dedica hoy en día a la biología computacional, campo al que llegó a través del razonamiento basado en casos para el diagnóstico del cáncer de pulmón.
¿Y el artículo? El artículo toca, primero, un tema que se me antoja vital y, a la vez, absolutamente ausente del debate actual: cómo la inteligencia artificial podría ser una muy buena herramienta para ayudar a entender qué es y cómo funciona la inteligencia «natural», y luego se centra en algunos de los problemas de procesar el lenguaje natural, como la ambigüedad, el contexto o la memoria (la de recordar, no necesariamente la RAM).
Me estoy pasando con la cuenta de palabras, o sea que solo citaré The LISP tutor y PROUST, An automatic debugger for Pascal programs, que como podrá imaginar el lector, se centran en los usos , que ahora parecen más cercanos, pero ya veremos, de la IA para enseñar a programar y ayudarnos a programar.
Y cerramos con…
… nada más y nada menos que un Nobel de física (y premio Turing, y premio Príncipe de Asturias, y no sé cuántos premios más), Geoffrey Hinton. Lo de darle un Nobel en física a un graduado en física y doctor e investigador en IA es algo en lo que no entraré ahora, pero marcarse el punto de publicarle cuando era un mero profesor ayudante en Carnegie Mellon, junto a figuras al menos aparentemente de mucho más relumbrón que él, me lo vais a tener que reconocer, no está nada mal. Más si lo que está explicando es, si no lo he entendido mal, el trabajo en entrenamiento de redes neuronales que es uno de los pilares por los que ha acabado ganando todo el reconocimiento y los premios con los que cuenta.
Y no me alargo más, pero toda la tabla de contenidos del especial merece como mínimo una ojeada rápida…
Y, en cualquier caso, que cuarenta años no son nada.
Si queréis seguir leyendo, aquí tenéis mis notas sobre el número de marzo. Y el mes que viene, con un poco de suerte, más.
Diría que Aral Balkan no pensaba en lo mismo que yo cuando respondió esto al tuit con la pieza de la BBC, pero eso no va a evitar que lo utilice como introducción de esta entrada. Y es que la pregunta es esencial… y me parece extrañamente ausente del debate creciente sobre el tema.
En primer lugar, aceptar la evidencia: aunque la explosión de noticias en los medios sobre el advenimiento de las inteligencias artificiales salidas directamente de un guión de Hollywood es un tanto exagerada, sí es cierto que cada vez hay más algoritmos que controlan nuestras vidas, y que muchos de ellos carecen de la más mínima transparencia exigible. Si uno quiere leer una historia de miedo verdaderamente aterradora, Machine Bias, publicada a finales de mayo pasado por Propublica, es un excelente lugar por el que comenzar (y si uno sospecha del sesgo humano al hablar de los sesgos de la inteligencia artificial, también podéis leer la pieza a partir de la pieza Inspecting Algorithms for Bias, del MIT Technology Review, un medio absolutamente limpio de sospechas de ludismo). Resumiendo lo de Propublica: analizan los resultados de un software que se está usando en Estados Unidos para asistir en la toma de decisiones judiciales… y resulta ser que es bastante fácil y natural acusar de racista al algoritmo. Y es muy difícil leer la pieza sin escandalizarse bastante. Sin negar la utilidad de usar algoritmos para ayudarnos a tomar decisiones, es absolutamente imprescindible que estos cumplan unos mínimos. En este sentido, a mí personalmente me atrae el Statement on Algorithmic Transparency and Accountability (PDF) de los comités estadounidense y europeo de políticas de la ACM, que establece siete principios para la transparencia y responsabilidad algorítmicas (conciencia, acceso y rectificación, responsabilidad, explicación, origen de datos, auditabilidad y validación y testeo) pero, en cualquier caso, hay mucho trabajo por hacer y corre prisa (y si a alguien le apetece leer más sobre el tema, me permito apuntarle a esta lista de lecturas).
Y una vez dicho esto… ¿qué es lo que echo en falta en el debate? Lo de siempre. Cada vez que criticamos (muchas veces con razón) el fin del mundo que nos trae la innovación tecnológica de turno tendemos, bien a olvidarnos de cómo era la realidad anterior, bien a idealizarla directamente. Y si hablamos de sesgo algorítmico… ¿no deberíamos ligar la conversación a la ya existente sobre los sesgos humanos y preguntarnos, como decía Aral Balkan en su tuit, cómo llevamos la ética los humanos, al tiempo que hablamos de la ética de los algoritmos?
La pregunta me lleva al fantástico libro de Daniel Kahneman Pensar rápido, pensar despacio (que este mes cumple seis añitos ya), y que contiene una colección de sesgos profundamente humanos que no tienen desperdicio y que nos deberían escandalizar también bastante, incluyendo un estudio sobre la correlación entre las decisiones judiciales sobre libertades condicionales y el hambre de los jueces (el 65% de libertades condicionales se concedían justo después de comer: si alguna vez os tienen que conceder —o no— la condicional, haced todo lo posible para no pillar al juez con hambre). Si queréis más ejemplos, a por el libro, que no os defraudará. Y supongo que no hará falta que ponga ningún ejemplo de la capacidad humana para el racismo…
En cualquier caso, y dando por aceptado que estamos muy pero que muy lejos de podernos fiar de las decisiones tomadas de forma algorítmica (si es que alguna vez llegamos a ese punto, que personalmente lo dudo muchísimo)… mi pregunta sin responder es: una vez encontrado un sesgo en un proceso de toma de decisiones, ¿es más fácil corregirlo si el proceso es algorítmico o humano? Y no tengo respuesta.