danirod.es

Antes que nada, lo siento

Por qué no uso IA para la mayor parte del proceso de producción de makigas.es

Sé que este post no va a contentar a los tech-bros, pero me permite desahogarme. Además, es un buen punto al que poder citar en el futuro si surge esta pregunta y no tengo ganas de repetirme.

Sería técnicamente incorrecto decir que no uso IA en mi canal de YouTube y en makigas.es, ya que hay al menos dos instancias en las que uso IA. Por eso este post está dividido en dos partes. Primero diré las partes en las que utilizo IA en makigas.es, y las partes en las que no me planteo usar IA a pesar de que sé que son las más tediosas y las que más tiempo me toman.

Whisper

La más importante es el subtitulado y la creación de transcripciones. Cuando tengo tiempo, arranco mi otro ordenador, el que tiene una GPU de verdad, y le paso Whisper.cpp a algún vídeo que tenga pendiente. Whisper es una IA de código abierto que genera texto a partir de audio. La verdad, tiene un oído muy fino y los resultados son mejores que usando lo que había antes, sobre todo porque está instruido en un montón de palabras técnicas, así que considero que hace un trabajo aceptable. Imagino que su vocabulario es tan amplio y está tan clasificado que una vez que detecta el tema de la conversación, sabe elegir un conjunto de palabras candidatas antes que otro. Y sospecho que por eso es capaz de transcribir tal cual palabras como InputStreamReader, bien escritas y de una palabra, en cuanto vea palabras como Java o programación, que le hagan intuir el tema de conversación. A veces me invento el nombre de un método sobre la marcha, y luego me encuentro en la transcripción tal cual un onButtonClicked con su lower pascal case perfectamente escrito. Pero todo esto son especulaciones mías.

La parte negativa es que tiene bastantes alucinaciones desde algunas últimas iteraciones de sus modelos, algo en lo que sigo pensando que es un intento oscuro de OpenAI de desincentivar el uso autoalojado de esta herramienta en vez de pagar por su servicio alojado. De nuevo, esto es otra conjetura y legalmente no puedo acusar a nadie de nada. Pero al final no me queda otra que revisar la salida que genera para vigilar que lo haya hecho bien, medir el mapa de temperaturas para evaluar manualmente las palabras que estén en rojo, y en algunos casos, reparar manualmente sus chapuzas. Por ejemplo:

  • A veces, al final de una transcripción aparece una frase como ¡Gracias por ver el vídeo! o ¡Suscríbete para más!, que nunca he pronunciado. Sospecho que lo hace porque intuye que se trata de un vídeo, y lo agregará porque es lo que hacen todos los vídeos con los que habrá sido entrenada la inteligencia, pero no me queda otra que retirarlo porque no me aporta nada.
  • En ocasiones, directamente toda la transcripción automática está para tirar y no me queda otra que hacer una a mano usando el editor de YouTube. Por ejemplo, en algunas ocasiones Whisper se cansa y decide empezar a repetir durante varios minutos la misma frase, como si le hubiese dado un ictus.
Una captura de pantalla muestra una salida de Whisper donde se transcribe mal la salida.
Con ustedes, la IA que supuestamente nos va a quitar el trabajo.

El valor que le veo a las transcripciones es alto, debido a que me permite crear subtítulos de calidad para personas que no hablen bien español o para personas con dificultades auditivas, además de ser un buen metadato para el vídeo.

Por ejemplo, las transcripciones se cargan también en makigas.es, y el buscador de la web utiliza el texto de la transcripción a la hora de buscar un vídeo. Lo que significa que las palabras que digo en el vídeo también se usan como base para enriquecer la búsqueda.

Sin embargo, crear una transcripción es un proceso determinista y poco creativo. Es una función de la forma f(x), donde la salida siempre debería ser la misma, no importa cuantas veces te enfoques en el problema, porque debe ser lineal. A nivel creativo, hacer una transcripción no ofrece muchas formas de salirse del tiesto y por eso considero que no me estoy perdiendo nada, y a cambio estoy ganando tiempo que dedicarle a otras partes de la cadena de producción (no mucho, considerando que tengo que revisar lo que hace).

Experimentos con algunos iconos

Algunos de los iconos de lista de reproducción que se muestran con makigas.es han sido generados mediante inteligencia artificial. Por ejemplo, el icono que se muestra junto a la miniatura de esta lista está generado con inteligencia artificial, aunque en cualquier caso tardé más tiempo en luego limpiar la imagen y agregar texto con GIMP que lo que tardó la máquina en generar el icono.

Pantallazo de una lista de reproducción sobre noticias de Java. La parte importante es que junto al título de la lista aparece un dibujo de un periódico que dice "Novedades".
Prompt: icono de un periódico, esqueumórfico, 3D al estilo de los años 2000, la página está en blanco, no tiene nada de texto, similar al que usaría una aplicación informática.

Esto ha sido un experimento puntual. Al final pierdo tanto tiempo editando que no sé si realmente me compensa. Sin embargo, los iconos que usan las listas generalmente son, o el logotipo de la tecnología que estoy enseñando, o algún dibujo. Ya no suelo usar imágenes reales o fotografías para los iconos de las listas porque la definición del icono generalmente hace que no valga la pena.

En este caso, elaboré estos iconos mediante IA porque la alternativa era que lo hubiese dibujado por mi cuenta, algo para lo que no estoy preparado a gran escala. De pequeño, fui de esas personas que dibujaba las cuatro patas de los animales una tras otra como si fuese una dentadura, sin percepción de la profundidad.

Pantallazo de una lista sobre concurrencia. El icono muestra varios puntos conectados entre sí como si fuese un grafo.
Este icono sí está hecho por mí con Inkscape.

En definitiva, considero que en este caso el riesgo también es bajo porque no estoy dañando el proceso creativo de nadie, debido a que para esos iconos, ni voy a utilizar la mano de una persona que dibuje mejor que yo, ni voy a buscar ya en repositorios de imágenes de terceros que pueda utilizar. Sólo me hago la competencia a mí y a mis pocas capacidades.

En cualquier caso, voy a conceder medio punto porque se puede argumentar que, igualmente, los iconos que haya generado por IA acaben en algún dataset que se usen para re-entrenar futuras IAs. Mi servidor bloquea el acceso a los scrapers, pero puedo imaginar que alguna caché, por ejemplo la tarjeta Open Graph de un enlace publicado en una red social, eventualmente absorba alguna de estas miniaturas.

Dónde no se está usando IA: miniaturas

Todas las miniaturas de mis vídeos son artesanales, aunque no lo parezca. Cuando me volví autónomo en 2022 y elevé mi canal de YouTube de «pasatiempo» a «trabajo», hubo un breve periodo de un par de meses donde me subí a todos los carros sobre cómo tener un canal de YouTube exitoso, y sí perdía más tiempo elaborando miniaturas, e incluso probando varios diseños. Al fin y al cabo, a Mr Beast le funciona.

Sin embargo, actualmente el diseño de mis miniaturas es lo que he denominado Paint-core, porque parece hecho con Microsoft Paint. Dos cajas de texto, una flecha, y a correr.

Pantallazo mostrando las miniaturas que usan algunos de mis vídeos en YouTube.
Algunos de mis vídeos

Esto, técnicamente es incorrecto debido a que no lo hago en Microsoft Paint, lo hago en Inkscape. Sin embargo, es cierto que hoy en día no paso más de 2 minutos haciendo la miniatura de mi vídeo.

A veces YouTube me señala este hecho precisamente. Incluso me juzga desde su aplicación, poniendo miniaturas de otros canales que ve mi audiencia y cuestionando qué vídeo sería el que un espectador visualizaría antes.

Pantallazo de la aplicación de YouTube donde se ven miniaturas de varios canales junto al texto "¿Destacan tus vídeos sobre los demás?"
Este pantallazo es completamente real, tomado desde la aplicación de YouTube Studio para móviles.

La realidad es que empíricamente no trago con el consejo de que hay que optimizar y cuidar la miniatura. Para empezar porque makigas no es un canal de actualidad, sino un canal de biblioteca. Mis vídeos no optimizan para ser recientes y frescos, sino para optimizar a largo plazo. La miniatura es importante, pero no deja de ser la carátula de un libro. Me centro en otros temas como el título y la descripción, para que salga cuando la gente busca lo que necesita.

Por otra parte, incluso en los vídeos que más de actualidad son, después de año y medio usando Paint-core como sistema de diseño, los datos muestran que el porcentaje de click no es más bajo que cuando me trabajaba más las miniaturas. Al contrario, en algunos casos es hasta mayor. Lo que significa que tengo datos que prueban que, al menos para mi audiencia, la miniatura no suele ser un problema.

Finalmente está el tema del origen de la miniatura. Las miniaturas sí que tienen que ser artesanales. Se trata de una parte bien visible de un vídeo, y ahí sí que me parece más deshonesto emplear arte generado por IA para las mismas. Considero que no es justo para las personas que sí se esfuerzan en crear una buena miniatura, si trato de competir por la atención utilizando algo vago hecho pulsando la tecla Enter en el ordenador

…Excepto que soy de las pocas personas que piensa así. En YouTube hoy en día existen muchas miniaturas generadas por IA. Y no me refiero a miniaturas que han sido estilizadas por IA pero luego trabajadas por un humano para darles sentido. Me refiero a literalmente poner un prompt, convertir la salida a relación de aspecto 16:9, y cargar ese archivo como miniatura en YouTube.

No voy a dar ejemplos para no señalar a nadie, pero es fácil ver esto. Cuando un vídeo tiene una miniatura donde se ve un dibujo que muestra letras, pero las letras son imposibles de comprender, es que está usando tal cual la salida de una IA. Al menos hasta que la tecnología mejore y sea capaz de generar correctamente palabras y texto legibles por un humano.

Varias iteraciones de lo que debería ser una IA dibujando la palabra "Aceituna". La IA lo ha escrito en inglés, en vez de en español, y en cualquier caso, 3 de las 4 imágenes están mal escritas.
OLVE.

Por lo tanto, ¿para qué me voy a esforzar más de lo necesario? Precisamente estoy en el lado perdedor de ese dilema que decía antes de no competir en igualdad de condiciones. No me compensa tardar una hora en diseñar una miniatura, si luego YouTube me va a cuestionar si mi miniatura es más apetecible que una que se pueda haber generado pulsando la tecla Enter en dos minutos.

En generar mis miniaturas rollo Paint-core tardo los mismos dos minutos que tardaría alguien en crear el prompt y generar su miniatura, pero a cambio me divierto en el proceso creativo, aunque sólo sea por la gracia que me hace que pueda hacer miniaturas con WordArt y que a todo el mundo le parezca bien igualmente.

A veces no usar IA me permite recibir más feedback

Otro punto donde podría delegar en una IA pero no lo hago es en la creación de resúmenes y notas de episodio. Después de todo, la descripción de un vídeo es una pieza de metadato esencial para que ese vídeo luego salga en el buscador cuando alguien quiere encontrar un vídeo que trate sobre un tema.

Por otra parte, makigas.es es la alternativa perfecta para llegar a esa gente que busca material educativo pero odia el formato vídeo. Sé que esa gente existe. En parte porque yo también prefiero algo escrito a algo en vídeo. Por eso, trato de que mis vídeos tengan una versión equivalente en formato texto que se pueda leer como si fuese un artículo o una guía.

Pantallazo de makigas.es muestra un artículo de Elixir bien redactado.
Lo que pides…

Sin embargo, esto lleva mucho tiempo de hacer, porque hay que escribirlo a mano. Para mucho material, todo lo que se sigue mostrando es un placeholder, que sé que me hace daño debido a que provoca que la página no se indexe bien en los buscadores (además de generar poca satisfacción para alguien que venga buscando el texto).

Pantallazo de makigas.es muestra un artículo de Elixir donde sólo hay título y un mensaje que dice que aún no hay texto.
…Lo que te llega.

Aquí es donde un tech-bro me diría que podría pasar a una IA la transcripción de mi vídeo y pedirle que lo formatee como si fuese un artículo. Pero pasan dos cosas. La más importante es que ya lo he probado y no funciona.

Mis artículos en la web tienen que cumplir unas restricciones y normas. Debe estar bien formateado como artículo, con saltos de línea, párrafos, bloques de código y hasta epígrafes. Así que no puedo simplemente hacer pública la transcripción, ya que eso es una masa de texto poco coherente que sólo repite un diálogo estructurado de forma débil.

Pero a la vez, el artículo debe reflejar fielmente lo que dice el vídeo. Por ejemplo, lo que se pueda leer más o menos en la mitad del artículo, debe ser lo mismo que lo que se diga si a continuación reproduces el vídeo y avanzas a la mitad del vídeo. No puede inventarse hechos ni debe ser algo completamente diferente, sino que debe ser equivalente.

Hice varias pruebas, y simplemente no puedo pegarle un trozo de texto y pedirle que lo estructure como un artículo. Y tampoco puedo pedirle que me invente su propia versión de los hechos. Para empezar, porque se saltaría la regla de la sincronización texto-vídeo. Pero aparte, mis principios me impiden publicar una página en internet que se base en texto generado por IA, ya que pierde humanidad lo que hago.

Sin embargo, imaginemos por un momento que la IA es capaz de hacer exactamente lo que le pido. La otra razón de peso para no usar IA es que perdería una retroalimentación muy importante que suelo sacar cuando hago este proceso a mano, especialmente en vídeos viejos.

A menudo, la transcripción la hago poniéndome el vídeo en una ventana del navegador, y el editor de textos en otra, y tomando notas de mis propias palabras. Este proceso es lento, y generalmente para un vídeo de 10 minutos me toma 1 hora producir un artículo digno.

Sin embargo, por el camino en muchas ocasiones, sobre todo al hacer esto con los vídeos viejos, me he encontrado que mucho material antiguo simplemente está roto, o no es claro. Por ejemplo,

  • Vídeos donde hay un error de edición, o donde incluso las palabras están mal cortadas o se habla muy rápido.
  • Vídeos que son difíciles de seguir porque son confusos de entender cuando lo lees sin recordar nada (el efecto «volver a un código sin documentar que escribiste hace tres meses», pero amplificado).
  • Vídeos donde lo que se cuenta ya no funciona si tratas de replicar los pasos por tu cuenta.

Ya van varios vídeos donde he interrumpido la transcripción porque he considerado que crear una segunda edición del vídeo o del curso completo era mejor. Esto es lo que pasó con el curso de JDBC. Hice uno en 2016, pero después de mirarlo con lupa años después, descubrí que era poco claro y por ello tomé la decisión de grabar una segunda edición entre 2023 y 2024. La lista de reproducción antigua sigue cargada en YouTube, pero su rendimiento ya es inferior al de la segunda edición, incluso pese a que pueda ser más autoritativo por tener más enlaces entrantes de apuntes de universidad o sitios web donde se le enlace.

Con el curso de Git y con el tutorial de C está pasando algo parecido. Si tuviese tiempo, haría una segunda edición volviendo a grabar algunas cosas simplemente. Mi primer curso de Git lo grabé sin tener mucha experiencia laboral. Y ahora que llevo años peleándome en el día a día con Git como forma profesional, hay cosas que diría de otro modo. He escuchado la transcripción de algunos vídeos viejos de ese curso y simplemente no me gusta. En cuanto al tutorial de C, si lo empezase de cero lo haría definitivamente con clang en vez de con GCC, no pienso justificar esta respuesta.

En conclusión, todos estos detalles me los perdería, si crear las notas de episodio fuese un proceso donde yo le pasase una lista de vídeos a una IA mágica que fuese capaz de dejarme en mi bandeja de entrada a la mañana siguiente un artículo redactado de forma profesional que valga la pena publicar. La IA haría mi trabajo de forma servicial, pero no me diría «amigo, explicas fatal aquí, he hecho lo que he podido». Y lamentablemente, mi contenido está pensado para ser visto, escuchado y leído por humanos, no por robots, que sí que van a decir esto cuando vean 5 minutos de explicación sobre un tema que no les aclare ni un 10% de las preguntas que tenía cuando hicieron clic para verlo.


(¿Cómo dar me gusta o repostear?)

Puedes dar repost o like a esta publicación desde el fediverso. Pon la URL del artículo en el buscador de tu instancia de fediverso (por ejemplo, Mastodon), y haz una búsqueda. Lo normal es que tu instancia haga un descubrimiento del post que hay en la URL y aparezca como primer resultado.