5.731 oyentes
Apple anunció las fechas oficiales de la próxima WWDC para 2024, del 10 al 14 de junio, y parece que la Inteligencia Artificial será la gran protagonista. Pero, ¿cuál será ese gran cambio que se espera?
Basándonos en todo lo publicado por Apple en cuanto a modelos neuronales y avances en IA generativa, os damos nuestra versión de qué presentará Apple y qué posibilidades ofrecerán los próximos sistemas operativos de la compañía.
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
Wanda, la comunidad de podcast independientes en español. Hola y bienvenidos a un nuevo episodio de Apple Coding Daily. Bien, ya tenemos w w d c, o como Apple viene llamándolo de una manera más molona, desde el año dos mil diecinueve la Davdat Dici, la WWDC o la World Wide Developers Conference o Conferencia Mundial de Desarrolladores de Apple, se celebrará el próximo los próximos días del diez al catorce de junio. En esta ocasión, por algún tema de fechas que, obviamente, nunca conoceremos el porqué, pues se ha retrasado a la segunda semana del mes de junio. Una WWDC que, por desgracia, también depende a quién le preguntes, pero, bueno, es cierto que creo que este año ya se confirma de manera oficial que la WWDC no volverá a ser nunca más, al menos por ahora, una WWWC presencial durante toda la semana.
La mayoría de la gente sabe que la WWDC, o piensa que la WWDC, es solamente el lunes donde es la keynode inaugural, pero nada más lejos de la realidad. Ese lunes no solo es la KeyNote inaugural, también es la KeyNote Platform State of the Union, que es la inaugural para desarrolladores y, además, también es la entrega de premios de los Apple Design Awards, de los premios de las aplicaciones, las mejores aplicaciones del año. Y luego, al día siguiente, se publican una serie de vídeos que pueden llegar a ser unos doscientos, trescientos, aproximadamente, en los últimos años, donde se habla sobre todo lo último que hay sobre tecnologías Apple. Hace años, Apple, la última vez que lo hizo, lo que hizo fue cerrar el McKennedy Center en San José para reunir allí a cinco mil desarrolladores de todo el mundo. Tú tenías que elegir cuál de los de los escenarios querías ir y, por lo tanto, pues seguirlo y luego, pues las que no pudieras ver, pues las tenías en vídeo a los pocos días.
Todo eso cambió con la llegada de la pandemia y, bueno, pues parece que se va a quedar, se va a quedar aunque Apple sí ha invitado o ha hecho, o va a hacer una especie de sorteo entre desarrolladores para invitar a algunos al Apple Park para una serie de eventos y presentaciones ese primer día, y entendemos que también lo hará con la prensa, igual que lo hizo el año pasado. ¿Qué es lo que nos va a esperar en esta WWDC dos mil veinticuatro? Pues según Greg Joshweck, el SVP de marketing de Apple nos va a esperar algo absolutamente increíble a absolutamente increíble, a I. En fin, si quieren les hago un croquis, así que vamos a hablar de ello. Lo primero, y es algo que no tiene que ver con lo que es la inteligencia artificial en sí misma, pero es un cambio que ya estaba planificado desde hace bastante tiempo y del que hemos empezado a ver pequeñas cosas, y algunas no tan pequeñas, en los últimos meses años.
Aquellos que tienen un dispositivo Apple conectado a su coche a través de CarPlay verían un cambio significativo en la interfaz en años Ios diecisiete, donde el botón devolver, el clásico botón volver de un maestro detalle dentro de Ios, pasaba de ser el chefrom hacia la izquierda con la palabra back o atrás, a ser un círculo con un check from y en un tipo de color distinto, es decir, con color blanco, un color más claro sobre lo que sería el, so si está en modo oscuro, sobre lo que sería el chef from nada más, insisto, dentro de un botón circular. Esto, que es bastante más práctico dentro de un entorno táctil tipo carplay, es no es más que un pequeño una pequeña prueba, beta, incluso diríamos alfa, del cambio que va a llegar, porque sí, Apple va a cambiar el lenguaje de diseño de sus sistemas de Flat Design a neomorphins, a neomorfismo. Básicamente, lo que va a hacer es adoptar el lenguaje de diseño que ahora mismo tiene Apple Vision Pro, un lenguaje de diseño que está parcialmente, es como una evolución del Flat Design, podríamos decir, en el que pasamos de tener interfaces limpias, sin ningún tipo de detalle, con botones como los que hemos tenido hasta ahora, simplemente, pues una un texto, ¿no?
Con un color azul, que en los últimos dos años han cambiado a nuevos estilos con botones prominentes, con botones con, bueno, pues que estaban encapsulados dentro de un rectángulo con esquinas redondeadas o dentro de una cápsula, cápsulas que pueden estar rellenas o no, tener algún tipo de translúcidez, que son los cambios que hemos ido viendo en los últimos años, los estilos de botón que podemos usar en New Eggyd o en Suite UI desde hace un par de años o tres, ¿qué es lo que sucede? Pues que ahora todo eso va a dar un paso más allá llegando al neomorfismo. El neomorfismo, básicamente, es aplicar una un pequeño volumen en las formas, en los materiales, para que haya unas líneas de definición, las líneas que tienen transparencia, más que una transparencia, es como un material translúcido que se adapta a lo que tiene detrás, que además tiene un pequeño relieve, por lo que veremos que hay como esos pequeños relieves que nos destacan, ¿no? Lo que tenemos que pulsar o no, etcétera, y por lo tanto, pues se parecerá bastante más a lo que ahora mismo tenemos dentro de lo que es Apple Vision Pro. No es mimetizar cómo es Apple Vision Pro, porque Apple Vision Pro tiene su propia forma de estructura gracias a las ventanas traslúcidas, etcétera, pero será una adaptación a este lenguaje de diseño.
De igual manera, ahora ya sí entrando en la inteligencia artificial, vamos a hablar de una de las cosas que más le interesa a la mayoría de los que están aquí escuchándonos, y es sí, señores, sí. Este año, SourceKit, nuestro querido amigo SourceKit, que funciona cuando quiere, y a veces cuando no quiere tampoco funciona, que nos da muchos problemas a la hora de autocompletar el código, que en ocasiones no permite acceder a la ayuda, y que sabemos que es una pequeña traba. Podríamos llamarlo, es una funcionalidad que Apple ha incorporado a SCODE para trabajar nuestra paciencia como desarrolladores no es un bug, es una función para trabajar nuestra paciencia, pero, bueno, por fortuna, esa función va a desaparecer en pos de un nuevo source kit basado en un modelo de lenguaje de inteligencia artificial. Este nuevo source kit estaría basado en un modelo experto de lenguaje entrenado específicamente para código y además entrenado específicamente para código en Swift, object IC y sobre todo con toda la documentación de todos los frameworks de Apple. Esto daría una nueva dimensión a el desarrollo, porque también tenemos que tener en cuenta, y si alguno de ustedes que nos escucha son desarrolladores en Python, por ejemplo, habrán visto que la proeficiencia de modelos de lenguaje como ChatGPT en Python es bastante buena, y el motivo es tan simple como que ChatGPT tiene un modelo experto en Python, por eso da unas soluciones muy buenas para este lenguaje y no es tan bueno con otros lenguajes, como por ejemplo, Swift.
¿Por qué? Pues simplemente por el entrenamiento, porque si yo entreno un modelo de lenguaje con código específico, en este caso de Python, y creo un modelo experto con toda la documentación, con información de librerías, con un montón de código para que aprenda a relacionar y a construir ese código, pues al final lo que voy a tener es una solución muy buena para lo que es usar Python, y esto no ha existido hasta ahora para SWIFT. De hecho, si ustedes han probado, como yo, Github Copilot, verán que en SWIFT, pues, es uno de los lenguajes que, en fin, a ver, funcionar funciona bien, pero tampoco es que sea una ayuda, es decir, es más una ayuda para casos de evitarte copiar código redundante, más que el hecho de que entienda tu código. Porque aquí lo que estamos hablando es de un modelo de lenguaje de Apple que es el más longevo de todos los modelos de lenguaje que Apple ha creado. Este modelo de lenguaje es un modelo creado por Apple a mediados del año dos mil veintidós, cuando Copilot salió, cuando Github Copilot salió de la preview técnica el veintiuno de junio y, obviamente, los ingenieros de Apple quisieron usarlo para poder trabajar y poder ser más pro más pro eficientes dentro de su trabajo.
¿Qué es lo que sucede? Que por lógicas restricciones de propiedad intelectual y propiedad industrial, Apple prohibió el uso de cualquier tipo de modelo de modelo de lenguaje en la nube que no fuera suyo. Así que ese fue el pistoletazo de salida para toda la inteligencia artificial que vamos a ver en esta w w w ya que este modelo, como digo, es el más avanzado que tiene Apple, el de ayuda de código en scode. Funcionará dentro de, como digo, integrado en la librería source kit y, además, será capaz de poder tener todo nuestro código como contexto, bien, al menos, una serie de ficheros y componentes relacionados, o probablemente todo el fichero dependiendo también del número de tokens que pueda tener. Tal vez la primera versión esté un poco más limitado y luego se irá expandiendo según vayan saliendo nuevas versiones.
Eso sí, ojo con esto, ¿vale? Yo he estado realizando pruebas con distintos modelos gracias a la a la librería MLX, He sacado algunas conclusiones bastante interesantes sobre cómo funciona con Swift, modelos como Mixtral, modelos como, en fin, algún otro que he ido probando de LLM que se puede probar directamente desde los ejemplos de MLX de la librería que permite ejecutar modelos Python, modelos programados para Python, ¿vale? Directamente de manera nativa sobre motor neural, y no me extrañaría que la función de source kit mejorado requiriera al menos dieciséis gigas de memoria RAM en un Mac para funcionar. No lo descarten porque, realmente, este tipo de modelos suelen ocupar bastante memoria y Xcode, de por sí, ya consume bastante memoria. ¿Podría ser que funcionara a través de la memoria de intercambio en un equipo con ocho gigas?
Técnicamente sí, pero es probable que si aún así se permitiera este uso, que no lo tengo yo muy claro porque los LLLMs tienen que cargarse en un solo bloque a no ser que Apple aplique los modelos que él mismo ha generado, que ellos mismos han generado, para permitir que parte de un modelo esté en unidad de almacenamiento sólido y parte en la memoria RAM y no tenga que ser un solo bloque cargado en la RAM, porque puede cargar y descargar distintos modelos expertos en función o distintas partes del modelo del modelo experto en función de lo que necesite, bueno, si hace eso puede ser que funcionara en ocho gigas, pero yo no las tengo todas conmigo, creo que podría ser una restricción que Apple pusiera a partir de este año. En fin, veremos a ver, pero por las pruebas que he hecho no me extrañaría que pidieran esto. Desde luego, créanme que la experiencia de desarrollo en entornos Apple con scoth va a cambiar radicalmente en cuanto a ser más de mayor ayuda a la hora de escribir código y de ser más eficiente. También vuelvo a repetir lo de siempre, los modelos de lenguaje de creación de texto de lo que es código no son magia, no funcionan correctamente si tú no eres programador y eres capaz de valorar el código que te está sugiriendo que integres, porque el funcionamiento será muy parecido al de Github Copilot, te sugerirá en una forma de texto distinta el completado del código y tú podrás aceptar o no esa sugerencia, además de, y esto también estaría por ver, aunque técnicamente es posible, podrían llegar a incluir una especie como de asistente por voz o texto al que preguntarle cosas sobre código, como una especie de ayuda, un un copilot chat como el que tiene Guija copilot, o, por ejemplo, también sería posible hacer un análisis del código antes de ejecución para detectar de manera previa posibles errores en tiempo de runtime, como que, por ejemplo, intentemos acceder a un array en una posición cuarenta y el sistema se dé cuenta que el array en ese momento solo tiene veinte elementos y te advierta que si ese código se ejecuta va a dar un error porque no hay cuarenta elementos en ese momento de la ejecución.
Todo esto, insisto, analizando nuestro código de forma, pues, en fin, lo que sería interpretándolo a nivel de texto, ¿vale? Esto, pues, la verdad que creo que va a ser algo muy interesante. Seguimos y, bueno, obviamente, vamos a tener ya para todos, ¿no? O sea, es decir, vamos a tener una funcionalidad de resumen y una funcionalidad de sugerencias que nos van a ayudar con todas las apps nativas de entornos Apple. Resumen de documentos, resumen de páginas web, resumen de emails, resumen de mensajes, resumen de noticias, de cualquier tipo de elemento que podamos ver o leer dentro de nuestro dispositivo podremos obtener un resumen que nos diga básicamente qué es de lo que trata eso, resúmenes que nos ayuden a ser más productivos.
Además, también tendremos un modelo capaz de crear sugerencias, de creación de texto, vídeo e imágenes, a través de modelos propios como los que ya hemos hablado aquí largamente, como el Apple uno, modelo de lenguaje de modo experimental, que pretende conseguir la forma en la que, a través de un modelo más pequeño, pero mucho más pulido en cuanto a la calidad del dato, consiga que no haga falta tener modelos tan grandes como un modelo GPT cuatro, sino que con modelos más pequeños podamos conseguir mejor eficiencia, o por ejemplo, el modelo Matrioska Diffusion Model, modelo de difusión Matrioska que también presentó Apple ya hace unos meses y que permite la creación de imágenes y de pequeños vídeos que, bueno, pues dan una, parece ser, según el paper, una muy buena calidad. ¿Esto qué es lo que llevaría? Llevaría a sugerencias en contestación de emails, llevaría a resúmenes de emails o resúmenes de una cola de emails dentro de una conversación, ¿no? Lo típico de no me acuerdo de qué va esta conversación que ya tiene veinte emails encolados, por favor, hazme un resumen de esto. Creación de texto, por ejemplo, para sugerirnos respuestas a través de mensajes.
También para, por ejemplo, en notas tomar simplemente una pequeña anotación y que él nos sugiera más texto al respecto. En recordatorios, que nos cree recordatorios en base a elementos determinados o a eventos de calendario, etcétera, es decir, una serie de más las aplicaciones nativas del sistema y, por supuesto, a la suite iWork, es decir, pages, keynote y numbers, de forma que podremos tener una forma, pues, muy práctica, muy cercana a lo que es ahora mismo Office tres seis cinco, bueno, perdón, Microsoft tres seis cinco Copilot, ¿vale? Que ya no se llama Office, algo parecido a lo que hace tres seis cinco Copilot o lo que hace Windows Copilot, ¿de acuerdo? Una cosa parecida, integrada directamente en el sistema. Todavía no está claro si este, si estas funcionalidades dependerán de un de un LLM en la nube puesto por la propia Apple o no.
Lo que sí está claro, al menos para mí, es que las negociaciones que Apple está teniendo con empresas como Google o como OpenAI para incluir sus modelos de lenguaje dentro del sistema operativo, de los sistemas operativos de Apple, se debe a que Apple, como ya comenté en un en un café Swift, que pueden escucharlo donde hablamos largo y distendidamente, largo y distendidamente, sobre todo lo que tiene que ver con la IA que Apple va a presentar, con mi amigo Arturo Rivas, ¿vale? En el podcast Café Swift, que lo tienen en este mismo canal, ¿de acuerdo? Les dejo por aquí la lista por si quieren oírlos, si son desarrolladores de Apple, les invitamos a escucharlo porque van a aprender un montón de cosas en cada programa, pues bien, resulta que cuando yo comenté en este programa que Apple no va a poner un chatbot propio, es decir, no va a haber un chat GPT o algo parecido, o un Gemini como elemento de chat, ¿de acuerdo? Dentro de lo que sería el los sistemas de Apple, ¿por qué? Pues porque aún no se ha resuelto el problema de las alucinaciones.
Los modelos de lenguaje tienen alucinaciones porque se inventan las cosas, un modelo de lenguaje lo que pretende es completar texto siguiendo una coherencia en base a lo que ya se le ha dicho previamente. Por lo tanto, si tú le pinchas, puedes llegar a hacer que se invente cosas que no son verdad, y eso es un problema que aún hay que resolver, porque tienes que poner al menos un modelo experto capaz de validar esa información, y eso es bastante complicado. Entonces, claro, ¿qué es lo que sucede? Que creo que Apple lo que va a hacer es crear una aplicación de chatbot, una aplicación que va a permitir que tú puedas elegir libremente si quieres utilizar Gemini de Google o quieres usar ChatGPT o quieres usar Cloud o quieres usar Mixtral, o quieres usar cualquier otro modelo LLM, incluso, en el caso del Mac, creo que hasta podrían proporcionar la posibilidad de incluir modelos en local que tú pudieras descargar y actualizar a tu manera. ¿Y en qué me baso para decir esto?
Pues en cómo funciona la actual librería MLX creada por Apple y lanzada ya hace unos meses, que nos permite, que incluso tiene una versión para Swift, que nos permite poder coger cualquier modelo de modelo LLM, o incluso modelo de difusión, etcétera, de los que se crean en los últimos tiempos y cargarlo y ejecutarlo dentro de una aplicación. De esa manera, ¿qué es lo que tendríamos? Pues tendríamos la posibilidad de tener una aplicación dedicada a esta funcionalidad de chatbot, donde Apple pueda poner de una manera muy clara, esta aplicación puede cometer errores a través de alucinaciones, no confía takata no confíe en el contenido, etcétera, etcétera, los mismos disclaimers que puede haber en el resto de modelos y que puedas usar cualquiera de los modelos, tanto comerciales como de código abierto, que pueda haber disponibles, ¿de acuerdo? Pero no integraría, al menos creo que no lo va a hacer, los modelos de otros porque ellos ya tienen el suyo, ¿de acuerdo? Entonces, bueno, veremos a ver qué es lo que nos encontramos.
Todo esto daría lugar a una capa de control por voz que ampliaría lo que ya tenemos a día de hoy, por lo que la nueva Siri sería capaz de, a nuestra petición, generar shortcuts o incluso Apple scripts que ejecutarán tareas de de mucho calado dentro del sistema, en el caso de iOS con shortcuts, en el caso del Mac podría hacerlo con Apple Scripts, de forma que pudiera hacer tareas más complejas, tareas como, por ejemplo, copiar un archivo, tareas como convertir un vídeo de un formato a otro o un o un fichero de audio, elementos de coge este documento conviértelo en un PDF, por ejemplo, peticiones a mayor nivel que tengan que ver con funciones dentro de los programas. Igual que ahora, yo puedo a través de Siri, a través de SiriKit, la librería de integración con Siri, poder integrar aplicaciones de mensajería para comandos muy concretos, imagínense, y esto es algo que Apple ya tiene hecho, todos los posibles comandos que puede haber dentro de un sistema, iOS, Mac o cualquier otro, dentro de shortcuts, dentro de atajos, por lo que dentro de atajos tendríamos la posibilidad de poder hacer casi cualquier cosa que quisiéramos.
Y si eso es algo que es complicado para la mayoría de la gente, claro, si yo le pongo a esta nueva serie la capacidad de crear shortcuts a atajos en tiempo real, tendríamos una forma muy interesante de poder construir, al igual que hace ahora mismo ChatGPT, que tú le pides algo y él te construye un script de Python y hace lo que le estás pidiendo, yo he conseguido con ChatGPT coger un fichero JSON que yo ya tengo creado, pasarle a una página web, pedirle que me haga scraping de esa página web, que saque la información que yo quiero y que la incluya en el formato que yo le he dicho dentro de un JSON, y que solo anexe a un JSON ya creado y que me devuelva el JSON con todos los valores. ¿Y eso cómo lo hace? Ejecutando scripts de Python. Por lo tanto, si esto lo puede hacer ya ChartGPT, ¿por qué no va a poder hacerlo Ziri a través del uso de atajos? Porque ustedes saben los que han trabajado con atajos que si me lo curro y hago un atajo lo suficientemente interesante y que ahonde a bajo nivel, pues, oye, puedo conseguir hacer casi cualquier cosa de las que yo necesite hacer dentro de un sistema operativo, ya sea, insisto, iOS Mac o cualquier otro.
Así que, bueno, creo que esto es una opción que Apple incorporará. Esta funcionalidad, además, será clave con todo este tema de el uso por voz en Apple Vision Pro, en la que sería la versión dos punto cero de Vision OS, que incluiría, además de las experiencias compartidas, que por fin ya podríamos compartir y ver una película con gente dentro del cine de Apple o dentro de cualquier otra aplicación, etcétera, sino que además también va a permitir el uso de voz ampliado. Hoy día yo ya puedo usar comandos de voz en Apple Vision Pro y pedirle que me haga una captura de pantalla, pedirle que me abra una aplicación, pedirle que me active ciertas funciones de comandos del sistema operativo, darle órdenes a ese respecto. Pues bien, todo eso va a evolucionar de una manera en la que este nuevo LLM nos va a entender de una manera mucho más clara, mucho más precisa y, por lo tanto, dará soluciones mejores. ¿Cómo funcionará todo esto?
Pues hasta que no lo probemos, obviamente, no podemos saberlo, pero sobre el papel y con las pruebas que yo he estado realizando hasta ahora con todo lo que Apple ha ido sacando, créanme que puedo llegar a creerme lo que Apple dice de manera explícita, de que esta revisión de los sistemas va a ser una de las una de las más increíbles y de las más disruptivas que se han visto en los últimos años en los sistemas operativos de Apple, casi en toda su historia. Y poco más antes de nada, ¿vale? Alguno dirá, pues es que lo mismo te has flipado un pelín, ¿no? Lo mismo estás haciendo una carta a los Reyes Magos. No, no, realmente todo lo que les he contado son cosas que ya se pueden hacer hoy día, pero claro, para hacerlas hay que picar código o hay que picar línea de comando.
Pero si le echan un vistazo a la librería MLX, si le echan un vistazo a los papers de Matrioska, a los papers de de uno, a cómo funciona el LLM, a las capacidades reales que tiene ChatGPT, más allá de pedirle que te cuente un chiste o que te haga el trabajo de religión. No, cuando realmente sabemos, como es mi caso, sacarle provecho, no me gusta llamarme así porque realmente me parece un nombre un poco asaltar, pero bueno, los llaman ingenieros de proms. Yo básicamente los llamaría personas que saben usar la herramienta, básicamente, ¿no? En fin. Pero bueno, el caso es que yo llevo ya mucho tiempo, desde mucho antes incluso de la salida de ChatGPT como servicio, trabajando con modelos de lenguaje.
Llevo trabajando con toda la inteligencia artificial de Apple desde el año dos mil diecisiete, y sé perfectamente lo que puede o lo que no puede hacer, Y con toda esta información y toda esta experiencia que tengo, veo que todo lo que les he dicho no solo es posible, es plausible, dado el nivel que tiene a día de hoy Apple, a nivel técnico, de capacidad de lo publicado, de lo que ya sabemos, y de las capacidades técnicas que otros ya están incorporando en distintos sistemas y que, por supuesto, ¿por qué Apple no va a ser capaz de hacer lo mismo? Eso es un poco el kit de la cuestión. Así que, bueno, veremos, esperemos a ver qué es lo que nos encontramos y si cumple o no nuestras expectativas. Hasta entonces, un saludo y goad Apple Coding. Puedes escuchar más episodios de Apple Coding en Wanda punto com, la comunidad de podcast independientes en español.