¿Sueñan las inteligencias generativas con ovejas eléctricas?

00:00 /26:04

¿Son realmente creativas las IAs generativas como Stable Difussion o ChatGPT? ¿Crean contenido original en el concepto que lo hace un humano? ¿Si no es así, podrán hacerlo?

Nos hacemos preguntas al respecto, analizando cómo aprende y crea un ser humano en sus distintas formas.

Buscamos la respuesta: ¿realmente es creatividad o simplemente copian y pegan sin saber lo que hacen?

Convierte en un Senior iOS Developer con el Swift Full Stack Bootcamp. Encuentra toda la información aquí: IV Swift Full Stack Bootcamp 2024.

Descubre nuestro canal de Twitch en: twitch.tv/applecoding.

Descubre nuestras ofertas para oyentes:

---------------

Consigue las camisetas oficiales de Apple Coding con los logos de Swift y Apple Coding así como todo tipo de merchadising como tazas o fundas.

---------------

    Tema musical: "For the Win" de "Two Steps from Hell", compuesto por Thomas Bergensen. Usado con permisos de fair use. Escúchalo en Apple Music o Spotify.

    Transcripción

    Hola y bienvenidos a un nuevo episodio de Apple Coding Daily. Hace ya unas cuantas semanas, de hecho literalmente desde el año pasado, existe una campaña en Artstation y una campaña que está siendo apoyada por un montón de artistas con respecto a no utilizar la inteligencia artificial como una herramienta para poder sustituirlos. Esta campaña ya hablamos de ella, mi compañero Oliver Navani y yo, en el último episodio

    del podcast Nebekanazer, donde tenemos una charla sobre lo que es la inteligencia artificial y donde además tenemos al final, en la última mitad del episodio, una charla más filosófica al respecto de cómo podríamos entender estas nuevas inteligencias, hasta dónde pueden llegar, cuáles serían sus limitaciones. Él muy a favor de todo el tema y yo no tan a favor y es que realmente cuando analizo

    de manera fría el tema de las inteligencias artificiales, independientemente de que ahora mismo ya sabemos que están en fase semilla, que están empezando y que tienen muchos fallos, creo que esos fallos obviamente van a ser corregidos, pero yo me voy un poco más allá y me hago una pregunta que de alguna manera quiero hacer un programa que hable al respecto, que es lo que vamos a hablar hoy, de hasta dónde podría llegar una inteligencia artificial

    y si realmente puede sustituir a artistas, programadores, en fin, a cualquier tipo, incluso músicos, si fuera una que generara músicas que también las hay, etcétera, hasta dónde podría llegar a sustituir o qué podría llegar a hacer la inteligencia artificial ya no hoy lo que vemos que puede llegar a hacer realmente, no la versión actual, sino incluso en las futuras versiones yendo un poco más abajo y analizando cómo funcionan

    estas. ¿Estás buscando una forma de especializarte en desarrollo? Bueno ahí fuera tienes muchas opciones, tanto gratuitas como de pago, que pueden cubrir multitud de herramientas, lenguajes, entornos, sistemas operativos, como una carrera universitaria de varios años, queda un poco de cada cosa y ya si eso luego escoges lo que más te guste, te especializas y lo intentas estudiar a más profundidad, pues bien, aquí no vas a conseguir

    eso, aquí te hablamos de especialización, aquí te hablamos del profesional más valorado hoy día en el mercado laboral, aquel que conoce cada elemento y que es la tentación de cualquier empresa o el deseo de cualquier emprendedor que quiera tener su propio estudio de desarrollo, especializarte en desarrollo en entornos Apple. Tanto si ya llevas tiempo trabajando en este entorno, vienes de otro si quieres cambiar

    o empiezas desde cero, tu solución se llama Swift Full Stack Bootcamp. Desde Apple Coding Academy presentamos la tercera edición del único bootcamp a nivel mundial especializado en todo el ecosistema de desarrollo Apple. No hablamos solo de aprender Swift y a usar una librería, no, aquí aprenderás todo. Swift, UIKit, SwiftUI, base de datos con Core Data, desarrollo conducido por pruebas, integración

    continua y distribución con Escode Cloud o con herramientas Open Source, aprenderás gestión de proyectos con desarrollo ágil, a usar Git, aprenderás seguridad y cifrado de datos para asegurar tus datos y la privacidad de las apps, todos los trucos, reglas y elementos esenciales del App Store para que sepas qué puede publicarse, qué no y cómo hacerlo, para conseguir aprobaciones a la primera, pero además algo que solo encontrarás en

    Apple Coding Academy, desarrollo de lado servidor con Swift para crear tu propio backend, Machine Learning, desarrollo multimedia para móviles y lo más increíble, la nueva realidad de Apple para entrar con la realidad aumentada y la virtual en el futuro del desarrollo, para que seas el primero en explorar esa realidad. Swift Full Stack Bootcamp son más de 500 horas de formación, 394 horas online en directo

    y más de 100 en formato offline en módulos pregrabados que complementarán tu formación y toda tu carrera, del 1 de febrero al 5 de septiembre de 2023 con un proyecto tutelado final de Bootcamp y un contacto directo con nosotros para cualquier duda, problema o tutoría que necesites, para llevarte de la mano y asegurarte tu éxito. Entra ya en acoding.academy y pide información sin compromiso o escríbenos a hola.acoding.academy.

    Date prisa porque quedan pocas plazas. Apple Coding Academy es la nueva realidad de la formación en entornos Apple. Entra en ella. Lo primero que tenemos que entender es que una inteligencia artificial, en realidad no es una inteligencia artificial, es un programa, ¿de acuerdo? Un programa que está programado, valga la redundancia, para hacer algo concreto, para ir, para definir, para actuar sobre un ámbito determinado.

    La gran ventaja que tienen los modelos que ahora mismo estamos manejando se basa en la enorme cantidad de información que tienen para tomar decisiones. Pero esas inteligencias, esos modelos, esos modelos de deep learning, esos modelos de difusión, dependiendo de él, digamos que son más o menos. Para que nos entendamos, por ejemplo, Stable Diffusion se llama así porque depende de un modelo de difusión.

    ¿Qué es un modelo de difusión? Pues básicamente es un modelo que intenta traducir cada pequeña parte de una imagen en modelos de difusión, en algoritmos, en una especie de ecuaciones que no tienen ningún tipo de significado matemático, es como ruido matemático que identifica determinadas características para crear la abstracción cerebral que yo haría aprendiendo a dibujar. Si yo aprendo a dibujar, y aprendo, ¿qué tengo que hacer?

    Pues cómo dibujo un óvalo facial, o cómo dibujo las proporciones de un cuerpo, o cómo dibujo una mano, o cómo tengo que dibujar una perspectiva a partir de un paisaje, o cómo tengo que hacer, por ejemplo, el tipo de dibujo, uno de los tipos de dibujo más básicos que se utilizan para aprender a dibujar, que es un bodegón, porque lo que se persigue es representar figuras geométricas básicas, cilindros, circunferencias, etcétera, ¿vale?

    Figuras geométricas que son más fáciles de poder representar. Los modelos de difusión lo que hacen es convertir las distintas características que entienden que tiene una imagen, la convierten directamente en ruido matemático clasificado a partir de un aprendizaje, aprendizaje en el cual, a partir de dicho ruido matemático, pueden volver a reconfigurar o pueden volver a recrear esa pequeña parte que han aprendido.

    De esta manera, si yo tengo un dibujo y en ese dibujo aprendo un cilindro, aprendo una circunferencia y aprendo, por ejemplo, un cono, y sé cómo se hacen, cada uno de ellos yo lo he aprendido sobre un modelo de difusión basado en ruido matemático que tiene un etiquetado concreto en base a las características que yo he detectado, de forma que si yo aprendo cómo se hace un círculo, lo que sería un círculo, una circunferencia, con una imagen

    A, aprendo un cilindro con una imagen B y aprendo un cono con una imagen C, puedo decirle a la inteligencia artificial que me genere una imagen que tenga una circunferencia, un cilindro y un cono, y va a coger lo aprendido de las tres imágenes distintas y las va a fusionar en un solo elemento. Por lo tanto, las inteligencias artificiales de modelos de difusión no aprenden a dibujar, lo que hacen es aprender a copiar un dibujo, dividiendo dicho dibujo en sus partes más

    esenciales. No aprenden cómo es realmente un dibujo, porque lo que están haciendo es dividir dicho dibujo en, insisto, sus elementos geométricos más esenciales, en las curvas, en las líneas, en los colores, en las pequeñas conjunciones de píxeles que hacen que esa imagen luego sea la imagen que yo veo y reconozco como tal.

    Por lo tanto, están mimetizando en cierta forma cómo aprende un ser humano a dibujar. El gran problema que tiene esto es que uno no puede aprender a dibujar copiando, porque yo puedo coger cualquier dibujo, el que sea, y puedo hacer un calco del dibujo, y puedo coger ese dibujo y copiarlo tal cual y tener, oye, mira qué guay este dibujo.

    Y puedo coger determinados elementos de distintos dibujos y puedo calcarlos, mezclándolos en un dibujo completamente nuevo. Y yo podría decir que yo dibujo maravillosamente bien, pero en realidad yo no sé dibujar, porque yo lo que estoy haciendo es copiar. Y copiar no es aprender a realizar una tarea creativa.

    Aquí es donde está el kit de la cuestión. Y este es el primer punto que quiero que en lo que se está, digamos, este episodio un poco más filosófico, un poco más para pensar al respecto, quiero que queden claro. Según mi larga experiencia y según la opinión de un montón de personas que se dedican a distintos ámbitos creativos, y de hecho, si tú que me escuchas ahora mismo y estás, o estás viéndome, y eres un artista, es que uno no aprende a ser un artista copiando.

    Copiar es una parte que podemos clasificarla o llamarla como inspiración. Yo me inspiro en un dibujo que me gusta, me inspiro en un artista que me gusta, me inspiro en un estilo que quiero representar, pero yo siempre pongo una parte de mí. A mí me puede encantar el manga, pero si yo no sé, si yo no sé generar proporciones, si yo no sé generar elementos que sean, incluso aunque no sean proporcionales, pero que tengan una armonía que está dando mi propia personalidad a aquello

    que yo estoy creando desde cero. Porque, y esto es lo más importante, cuando yo copio algo no entiendo lo que estoy copiando, sólo lo estoy copiando. No entiendo cómo se ha hecho eso que estoy copiando, sólo estoy copiando el resultado. Mientras que si yo soy un artista, yo entiendo cómo se ha hecho eso, entiendo cómo se ha llegado a ese resultado, entiendo cómo se han puesto esas notas, esos trazos, ese código de programación, para

    saber cómo hemos llegado hasta ahí. Esa es la diferencia de lo que desde mi punto de vista una inteligencia artificial jamás podrá llegar a hacer. Nunca, desde luego, mientras sigamos haciéndolas como las estamos haciendo ahora, es imposible. Tendríamos que llevarla a otra forma distinta, en la que no aprendieran a realizar una tarea concreta y una tarea que en realidad no tiene nada que ver con, y en este caso ya vamos directamente,

    a la programación. ChatGPT es capaz de programar. Sabemos que es capaz de programar. ¿Y cómo programa ChatGPT? ChatGPT está entendiendo el código que me está dando. ChatGPT está entendiendo lo que yo le estoy pidiendo y me está dando un resultado que es acorde, porque ChatGPT es capaz de pensar y buscar cuál es el resultado más apropiado para lo que yo le estoy pidiendo. Pensamos que sí, parece que sí, pero no es así.

    ChatGPT es un modelo de completado de texto, que ha sido modificado para funcionar como un modelo de conversación. Cuando yo hablo con ChatGPT, yo veo como ChatGPT va escribiendo palabra por palabra. Eso no es un capricho para darle un aspecto más guay, como que parezca que está hablando conmigo. No, no, no.

    Es que el resultado que me está dando, me lo está dando en tiempo real, porque según va dando palabras, va calculando por pesado el resto de las palabras a través del uso de Transformers. Si queréis saber más cómo funciona todo esto a nivel técnico, podéis escuchar el último episodio de NBKnazer, donde tanto Oliver Navani como yo explicamos cómo funcionan los Transformers, los modelos de difusión, el Deep Learning, etc.

    y cómo funcionan los entrenamientos de estos modelos de una manera técnica mucho más pormenorizada. Aquí obviamente no daría todo el tiempo. Pero lo más importante que tenemos que entender es que ChatGPT no entiende lo que me está dando. ChatGPT me está dando un resultado basado en que, sobre lo que yo le he pedido, que él ha entendido el contexto de lo que le he pedido, él ha ido a buscar una posible solución y está autocompletando texto.

    Por eso ChatGPT no es capaz de hacer operaciones aritméticas de gran calado. Es capaz de hacer operaciones aritméticas básicas porque ha sido entrenado por autocompletado de texto, como el que enseña una tabla de multiplicar a un niño. A ChatGPT, a GPT-3, la versión 3.5, le han dado como material para aprender las tablas de multiplicar, es decir, un texto que pone 1x1 igual a 1, 1x2 igual a 2, 1x3 igual a 3, y él ha aprendido eso en base

    a ese contenido. Pero no ha aprendido las tablas de multiplicar entendiendo cómo se multiplican dos números. Las ha aprendido de memoria. Y ese es el gran problema. Porque él está entendiendo las cosas de memoria. Y porque él no tiene ni va a tener la capacidad —porque los datos que tiene son demasiado grandes— de saber si el código que me está dando es más o menos correcto, si cumple o no con buenas prácticas, si cumple o no

    con optimizaciones que hagan que ese código tenga una buena calidad. Yo he trabajado mucho con ChatGPT. Le he pedido un montón de código. He podido ver cómo me devuelve las distintas respuestas en distintos lenguajes. Y todo lo que ChatGPT me devuelve hoy es un código que podríamos clasificar como código de documentación, como código básico que yo podría buscar en respuestas de Stack Overflow que tengan mucha puntuación positiva, que

    tengan un feedback positivo que nos está diciendo que esa solución es correcta, o en documentación oficial de Apple, Google o quien sea. ¿De acuerdo? Ese es el tipo de código que él me da. Pero en realidad, cuando me empieza a dar el código, falla mucho. Y entonces algunos de ustedes me dirán, bueno, pero es que eso no pasa nada.

    ChatGPT con el tiempo irá aprendiendo, irá mejorando, tendrá un entrenamiento de más calidad y te dará respuestas mucho mejores. Y estoy totalmente de acuerdo. Y estoy totalmente de acuerdo en que llegará un momento en el que tú a ChatGPT podrás pedirle pequeñas aplicaciones completas.

    De hecho, ya las hace cuando son pequeñitas. Incluso vistas completas, cosas mucho más complejas. Pero siempre me va a dar un código que no va a ser óptimo porque ChatGPT está aprendiendo a base de copiar. ChatGPT ha aprendido porque no puede aprender de otra forma, porque está programado de esa manera. Es que es lo que tenemos que entender. Mientras se trabaje con las inteligencias artificiales como se está trabajando ahora en base a un proceso memorístico basado en copia y pega, la calidad que vamos a tener

    nunca va a ser comparable a la que puede hacer un ser humano que tiene un criterio. Y alguno me dirá, ese criterio de muchas de esas personas viene de la misma documentación con la que ChatGPT ha aprendido. Y es cierto. Pero también viene de su propia experiencia. Y viene de cómo interpreta esa documentación.

    La interpretación de una documentación, el entendimiento de una documentación, la formación que te da un profesor o que te da un vídeo o que te da un documento oficial que al final lo ha escrito alguien y que te está enseñando y la comprensión que hay detrás de eso. Eso es algo que una inteligencia artificial hoy, repito hoy, no tiene la capacidad de hacer.

    Porque hoy lo que hacen es repetir, copiar y pegar, copiar y pegar, que tiene una capacidad de procesamiento de información que es increíble porque maneja millones y millones y millones y millones de datos. Por lo tanto, el resultado es totalmente increíble. Yo soy el primer sorprendido y a día de hoy la inteligencia artificial, a nivel de programación, puede ser una gran herramienta de ayuda para programadores.

    Pero si yo soy un programador y no entiendo el código que me está dando y simplemente lo copio y lo pego, lo que voy a tener es código de muy mala calidad. Lo que voy a tener es código. Vamos a pasar a tener código hecho como si el mundo estuviera dominado por juniors que realmente no saben lo que hacen y que están probando con algo que saben que en cierto sentido puede funcionar.

    Y que hoy te da código que no compila, pero probablemente en unos años te dé un código de mucha más calidad que siempre compile o que incluso el propio sistema sea capaz de probar que lo que te está dando compila, que también va a pasar. Pero eso no quiere decir que la calidad del código llegue a ser buena.

    Vamos a tener a un montón de juniors que van a buscar a base de copiar y pegar contenido de Internet que no está clasificado en base a su calidad. Porque clasificar la calidad de un código es muy complejo, porque no todo el mundo opina igual. Y tal vez un código que para mí es una buena práctica para otra persona no lo es. Y yo haría una cosa de otra manera y esa persona la haría de otro.

    Es como el fontanero que siempre llega a ver lo que ha hecho el anterior fontanero y te va a decir que hay que sanear o que el que ha venido antes ha hecho una chapuza. Ese es el kit de la cuestión. Por lo tanto, como la IA no es capaz de valorar a nivel de criterio lo bueno o malo que es el código que te va a dar y tal como están hechas, nunca va a ser capaz de hacerlo.

    A no ser, insisto, que cambien la forma en la que funcionen. Esto siempre va a ser una herramienta, una herramienta útil, una herramienta increíble, pero una herramienta que nunca va a poder sustituir a un ser humano, ser humano que haya aprendido no por copiar y pegar. Porque si tú, programador, has aprendido por copiar y pegar, entonces, lo siento, es probable que tú, en un momento determinado, hoy no, pero en unos años, seas prescindible.

    Porque en realidad, tú no estás entendiendo lo que estás haciendo. Y aquí es donde va la conclusión final. Para realizar un acto de creación, para realizar un acto de creación artística, necesito entender los procesos que dan lugar a dicho arte. Y la programación es una forma de arte, es una forma de arte en la que no es copiar y pegar, es saber, es entender, es comprender el lenguaje, como el que comprende unas palabras en inglés,

    en español, en chino, porque conoce ese idioma. Un modelo como GPT-3 podrá sustituir al becario que coge una nota de prensa y que genera un artículo a partir de esa nota de prensa haciendo una mínima, mínima, una mínima versión o una mínima, porque ha puesto prácticamente nada de su parte, sino que se ha limitado a coger un texto que ha escrito otro y a medio adaptarlo o directamente lo ha copiado y pegado.

    Esas noticias hechas a base de notas de prensa, esos profesionales que no lo son porque no están escribiendo, tienen los días contados, porque Microsoft ya está probando en GPT-3.5 y lo hará con GPT-4, que saldrá en 2023, la posibilidad de poder crear textos para su portal de noticias hechos de forma automática en base a un titular y a un subtítulo y punto, o basados en una nota de prensa que ya les den y crear algo al respecto.

    De hecho, ChatsGPT ya lo hace hoy día, pero ChatsGPT y ningún generador de texto tal como se hace hoy día va a ser capaz de escribir una novela de Juan Gómez Jurado, de Arturo Pérez Reverte, de Dan Brown o de quien sea, porque no van a ser capaces, porque ahí hay un proceso de creación de personajes, de creación de identidades de dichos personajes, de que esos personajes tengan una coherencia con respecto a lo que se está definiendo, que los hechos tengan una lógica dentro de la narrativa.

    Hay un montón de elementos dentro de lo que es la escritura creativa que una inteligencia artificial como programa hoy día no está preparado para aprender y nunca lo estará si se siguen trabajando, si se siguen haciendo como lo hacen ahora. Se va a limitar a copiar y pegar, a copiar y pegar, a pedirle un trabajo de Napoleón Bonaparte y a coger y hacerte un texto que no va a ser excesivamente original y que directamente va a estar copiado y pegado, fusilado, de una Wikipedia, de un artículo,

    de un no sé qué, de un no sé cuánta, pero un texto que incluso podría llegar a tener erratas, porque si alguien ha escrito un artículo poniendo algo que es incorrecto sobre Napoleón Bonaparte, nadie le ha dicho a la inteligencia artificial cuando se ha entrenado que eso que hay en ese artículo sobre Napoleón Bonaparte no es cierto y que no murió en ese año sino que murió en este otro.

    GPT-3 intenta buscar la verdad sobre este tipo de contenido en base a la repetición en distintas fuentes, pero si hay un dato que no se repite en distintas fuentes o que incluso se repite a partir de un error lo va a dar por bueno y ese dato va a estar mal y nadie le va a poder decir de una manera tan digamos tan afinada que se está equivocando. Espero haberme hecho entender a este respecto.

    Y poco más. Hoy es un episodio pues, como digo, es un poco más para pensar, para meditar, para hacernos una idea un poco más aproximada. Sé que es un contexto, sé que es un tipo de explicación abstracta que es complicada. Es complicada porque hay una base de lo que yo estoy explicando que se basa en mi conocimiento de cómo están generadas estas inteligencias, de cómo están generados estos modelos de este programa que está programado.

    No sé lo que puede pasar dentro de un año, dentro de dos, dentro de tres. Sé que las inteligencias generativas actuales cada vez van a ser más eficientes, cada vez lo van a hacer mejor, pero nunca programadas tal como se programan a día de hoy van a poder ser realmente creativas.

    Se van a basar siempre en la copia, copiar y pegar, copiar y pegar, copiar y pegar y en lo que es la memorística, lo que es el aprendizaje por memorización, que es el menos eficiente que existe a día de hoy según infinitos expertos en didáctica. ¿Que dentro de unos años alguien inventa una nueva forma de hacerlas que podría llegar a tener creatividad? No lo sé, es posible, lo es desde luego, pero desde luego a día de hoy no se está yendo por ese camino.

    Así que ahora lo importante ya no es, y de hecho lo dicen todos los expertos en inteligencia artificial a día de hoy, lo importante ya no es darle mucha información, lo importante es poder conseguir que dicha información sea mejor, que los procesos que gestionan dicha información sean mejores y más eficientes. Como siempre muchísimas gracias por estar ahí.

    Nos oímos pronto si Jobs quiere y hasta entonces un saludo y Good Apple Coding.

    Episodios recientes