9.889 oyentes
Mojo, un revolucionario lenguaje de programación presentado por Modular.ai, una startup confundada por Chris Lattner, creador de Swift.
Diseñado como super clase de Python pero para superar las limitaciones de este, Mojo ofrece un rendimiento excepcional gracias a su compilación de código y capacidad para trabajar en multihilo. Con una infraestructura de compilación llamada MLIR, Mojo puede adaptarse eficientemente a cualquier hardware y ejecutar tareas en paralelo.
¿Lo mejor de todo? Mojo es hasta 35.000 veces más rápido que Python en ciertos algoritmos y se integra sin problemas con todo el ecosistema de Python. Analicemos este y su importancia.
Convierte en un Maestro del Desarrollo iOS con el Swift Mastery Program 2025. Encuentra toda la información pulsando aquí.
Suscríbete a nuestro canal de Youtube: Apple Coding en YouTube
Descubre nuestro canal de Twitch: Apple Coding en Twitch.
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: "Final Frontier", compuesto por Thomas Bergensen. Usado con permisos de fair use. Escúchalo en Apple Music o Spotify.
Transcripción
Wanda, la comunidad de podcasts independientes en español.
Moyo, un revolucionario lenguaje de programación presentado por modular AI una startup cofundada por Chris Lander, creador de Sheets diseñado como súper clase de Python, pero para superar las limitaciones de este, Mojo ofrece un rendimiento excepcional gracias a su compilación de código y capacidad para trabajar en multi hilo. Con una infraestructura de combinación llamada MLYR Moyo puede adaptarse eficientemente a cualquier hardware y ejecutar tareas en paralelo y lo mejor de todo Moyo es hasta treinta y cinco mil veces más rápido que Python, en fin algoritmos y se integra sin problema con todo el ecosistema de Python. Analicemos este y su importancia ahora en el podcast de Applecoding, temporada nueve, episodio número diez. ¡Comenzamos!
Estás escuchando Apple Godín. Podcast sobre desarrollo y tecnología en sistemas AP. Dirigido y presentado por Julio César Fernández, especialista de pollo y formador de tecnología Apple.
Hola y bienvenidos a un nuevo episodio de Apple Coding. Soy Julio César Fernández, Evangelista de desarrollo en entornos Apple, colaborador de varios medios podcasts, responsable
académico de Applecodina Academy en fin, Como siempre, ya saben quién soy, me conocen, etcétera. Y hoy vamos a hacer un programa un poquito diferente. Porque hoy no vamos a hablar de Apple Coding. Sí y no. Es decir, esto que vamos a hablar hoy tiene que ver con Apple, sí, de manera indirecta.
Y tiene que ver con todo lo que últimamente se está moviendo desde que en diciembre del pasado año dos mil veintidós saltara por los aires el tema de la intelligence agencia artificial llegando en todos sus pedazos a todo el mundo Hasta ese momento gente pues como mi amigo Liebernavani con
el que comparto el podcast de Meganacer o muchos otros como el gran Carlos Santana, doce c v, etcétera. Hemos hablado y hemos investigado el tema de
la inteligencia artificial, pero este tema no había llegado entre comillas, al gran público. Hoy día, tú preguntas a cualquier niño que pasa por la calle y le dices, oye, ¿Qué es Chad GPT? Te dice. Cha GPT es muy bonito, es con lo que ya con los bebés, pero me dan premios de las cole. Qué cabrón.
En fin, pues eso. Entonces, básicamente lo
que tendríamos es la, bueno pues el
tema de la inteligencia artificial llegando a todo el mundo. Pero llegar a todo el mundo supone ventajas e inconvenientes. Y supone que de pronto somos plenamente conscientes de los problemas que presenta la inteligencia artificial a día de hoy, en cuanto a qué y no, no vamos a hablar de funcionamiento,
no vamos a hablar de fin de sus posibilidades,
etcétera. No, no, no, no, no, no. Vamos a hablar de su base. Vamos a hablar de la arquitectura de la inteligencia artificial y los problemas que presenta y cómo uno de los elementos indispensables de la inteligencia artificial que es el lenguaje de programación con el que más se desarrolla la inteligencia artificial y que es el principal en el que está la mayoría de frameworks de inteligencia artificial y que cuando hablamos de
inteligencia artificial de machine learning en lo que
es en concreto. Directamente nos acordamos de este lenguaje. Sí, ese que tiene que ver con una serpiente hablamos por supuesto de Python. Python es un problema.
No, no es hater. Yo me gusta paito, creo que es un
gran lenguaje de programación, y de hecho yo lo recomiendo cuando la gente por x motivo pues no le llama o no quiere empezar a programar en swift los dos lenguajes que yo recomiendo para empezar a programar, para empezar a
dar estos primeros pasos en lo que es el mundo del desarrollo para aprender los conceptos más básicos son Swift y Python. ¿Ok? Pero claro, ¿qué es lo que sucede? Que si yo quiero utilizar Python, bueno pues puedo hacer el curso por cierto, aprovecho desde de ese momento, momento spam de amigos, ¿no?
Pueden aprender Python con el curso gratuito que tiene mi amigo Balais Maure, Mauredev en su canal de YouTube, un curso que él mismo hizo, un curso de diez horas de duración que está colgado completo dentro de YouTube y que pueden utilizar, pues pueden ver el ritmo que ustedes quieran, despacito, ¿vale? Como diría Luis Fonzi, para poder aprender programación con Python. Pero, Python, como digo, es un problema y la arquitectura detrás de la inteligencia artificial también tiene muchos problemas para los que o milagro nuestro gran admirado y querido Chris Lavner, el creador de SWIFT tiene solución Porque de hecho Chris Lander ya lleva tiempo buscando una solución para lo que es el desarrollo, la inteligencia artificial. Y de hecho durante un tiempo esa solución se llamó Swift, porque cuando Chris Lander salió de Apple y recabo en Tesla como responsable de inteligencia artificial, ojo a lo
que estoy diciendo, responsable de inteligencia artificial en Tesla.
A los seis meses, Lomas le prometió, qué raro, oye esto de que Lomas promete algo
y luego no lo cumpla, no sé, debe ser la primera vez que pasa. En fin, ironía. Pues eso. Entonces el caso es que
a los seis meses se supone que lo más le prometió a Chris Lander que picaría código porque Chris Lanner se fue de Apple porque estaba cansado de no picar código estaba cansado de gestionar ya saben que en el mundo del desarrollo hay un bag bastante importante en las carreras profesionales y es que cuanto más avanza un desarrollador en la mayoría de empresas deja de picar y se convierte en un gestor. Y hay
gente como yo, que no quiere gestionar. Lo que quiere es picar, vale. Picapica, Pikachu, pues eso es lo que queremos ser. Entonces, cedemos Pikachu, nivel acaba de empezar, o cedemos Pika Pika de la leche, pero yo que quiero es seguir picando código, lo que seguir programando, no quiero tener que gestionar equipos, no quiero tener que gestionar presupuestos, no quiero tener que gestionar proyectos, quiero picar código, y bueno pues ya saben que para ese tipo de perfil pues hay pocos digamos pocas oportunidades salvo en el mercado de los autónomos pues como esto yo en este caso, como este también nuestro amigo Mark Herbert al que saludamos desde aquí, que sabemos que no se escucha, gracias por estar ahí como siempre Mark, pues bueno nosotros nos montamos nuestra propia carrera profesional y hacemos lo
que queremos y gestionamos de lo que hace falta gestionar pero principalmente lo que nos gusta es desarrollar, es pegarnos con el código, es llamar todo tipo de insultos, de todo tipo de viabilidad al código hasta que funciona en ese momento decimos aquello de soy el mejor.
Ni a ni a ni a ni a ni a ni hacemos como Juantamalíz. Pues eso
es un poco el tema al respecto. Entonces Insisto, como no le dejaban desarrollar, pues se fue a Google Brains, y ahí gestó un proyecto que, desgraciadamente, Google ha archivado Google ha cerrado.
Dios mío, el primer proyecto que Google empieza y termina por cerrar, porque patata, notese la ironía de nuevo. Este hombre de verdad que ha ido tópico tras tópico pero en Google estuvo durante Bad durante
un tiempo haciendo algo muy interesante llamado SWIFT para TensorFlow donde Ari lo que hizo fue crear una capa de, una capa de interoperabilidad entre Python y Swift para conseguir que Sweet fuera un lenguaje que pudiera trabajar con Python y todas las librerías de Python para que todo el desarrollo de inteligencia artificial pues se compilara Pero ¿a qué yo no salió bien porque la comunidad no aceptó muy bien que el lenguaje fuera swift, así que pues, salió de ahí. ¿Y a dónde recaló? Pues ahora es cuando empieza lo interesante. Y en este punto es
donde vamos a decir aquello de ¡comenzamos!
Pero lógicamente no podemos empezar sin mencionar a nuestro colaborador de esta semana que además hoy tiene una historia trascendental porque estamos hablando por supuesto de hogar 5G de Vodafone, un producto innovador que te proporciona conexión a internet de alta velocidad en tu hogar. Y saben que que lo he comprobado en mis propias carnes porque el operador que yo tengo me ha dejado después de mudarme sin conexión a internet, imagínense una empresa online como la mía sin tener conexión a internet y saben que me
ha salvado hogar 5g de Vodafone. Ha sido muy sencillo, solo he tenido que llamar
a Vodafone, darme de alta, dar mis datos, tardaron un apenas un día en darme el dispositivo llega a meterla sin enchufar y tener una conexión de internet de alta velocidad como si fuera una fibra y me ha permitido poder seguir trabajando. Así que bueno pues esa es mi realidad, es curioso que justo mi realidad haya dado con este caso de uso concreto y porque tiene esa gran ventaja que es la autoinstalación, es decir que llegas
tú mismo le pones, es decir, es que es así
de rápido, abres una pestañita, sacas la sim, la pones en su sitio,
le tienes el pin, lo pones y
a volar y ya estás funcionando, otra de sus principales ventajas, si necesitas irte a tu casa
de la playa o a
cualquier otro sitio, pues te puedes llevar la conexión contigo,
no importa allá donde vayas, siempre que tengas cobertura 5G o incluso 4G
que también funciona perfectamente, porque el router se conectará a la red disponible. Además es perfecto para toda la familia porque permite que estén conectados al mismo tiempo hasta ciento veinte dispositivos con menor latencia sin perder calidad en tus videollamadas cuando juegas online o en mi caso cuando doy clase online que funciona perfecto con zoom y por tu disponibilidad, por si todo eso fuera poco reduce el consumo de batería los dispositivos que se conectan a la red, ya que cuenta con WiFi seis, por lo que la latencia, los tiempos de conexión son menores, y funciona muchísimo mejor. Desde luego todos son ventajas y ya les digo, hoy puedo decirles que esto es una experiencia personal y que recomiendo muchísimo.
Así que ya saben, hogar 5G de
Vodafone es una muy interesante solución
y como siempre muchísimas gracias
a Vodafone primero por resolver mi problema personal y segundo por colaborar con Pel Coding. Chrysler por lo tanto se vio fuera de Google Brains cuando bueno pues digamos que Cuando vio que aquello no funcionaba bien, cuando vio que
el tema de Swiss para TensorFlow no cojaba, que la gente, los desarrolladores de
inteligencia artificial no querían utilizar Swift como lenguaje puente para poder compilar, porque es que esto es un punto en el que vamos a
ahondar más un poquito más adelante, mucho más en profundidad.
El gran gravísimo problema que tiene Python es que es un lenguaje muy lento, lentísimo, es uno de sus grandes problemas, entre otros. ¿Por qué? Pues porque es un lenguaje que es interpretado. Eso le da una serie de ventajas. Cómo poder ser ejecutado en cualquier sistema y que puedas crear un programa y ejecutarlo de una manera directa, etcétera, pero le incorpora otros grandes problemas y el gran problema, el
mayor problema que tiene es el de la el hecho de
que es interpretado y eso le resta, hace que sea un lenguaje muy
lento. Y claro, si tú mezclas
que un lenguaje es lento, que encima no tiene un tipado estricto
entre comillas, luego veremos por el en en qué
qué parte vale si la tiene pero no todo el mundo utiliza esta parte vale y ahondaremos
en todo esto vale pero si partimos de esa base
en la que yo necesito un lenguaje de programación que sea lo más rápido posible, Python es un lenguaje muy versátil que permite hacer mogollón de cosas. Es un lenguaje maravilloso, pero no es el más rápido del mundo. Y esto es una realidad esto no es hate, esto no es una mala opinión, es una realidad. Paito no. Java Script son lenguajes que tienen un muy serio problema de rendimiento, de funcionalidad en cuanto a su velocidad, Por lo tanto, es una espina que Chris Lander tenía clavada en su corazón.
¿Por qué? Pues porque sabe que la inteligencia artificial es muy importante y que necesita tener, es que entiéndame gran parte del problema de que hoy día los modelos de inteligencia artificial ocupen tanto y sobre todo sean tan lentos la
hora de ser generados a nivel
de entrenamientos, ustedes imaginan lo que es crear un modelo como el propio gp sin ir más lejos en el que tienes que estar cada prueba y error lanzando entrenamientos y utilizando hardware cada vez más potente y más potente y más potente para intentar compensar que la base de lo que estás haciendo está en un lenguaje que es excesivamente lento. Pues ese es el gran problema, por lo que Chris Latner seguía intentando mejorar. Cuando salió de Google Brain, si Google cerró el proyecto de Suip para TensorFlow, Chris Lander se incorporó a una compañía llamada Sci-Fi, pues hay five que es una compañía que trabaja sobre las
arquitectura risk v esto es un tema a nivel de hardware que bueno pues él se metió ahí durante un tiempo
en esta empresa qué es lo que hizo básicamente esta empresa lo que hace es trabajar es una de las empresas poneras en la definición de la arquitectura risk v que es la arquitectura abierta que es el conjunto de instrucciones reducidas que es la propia arquitectura que tienen los ARM, los procesadores ARM como los Apple Silicon,
o como los Qualcon que llevan los móviles Android, etcétera. ARM ha venido a conquistar el mundo y como ya vaticinó la famosa película de Angelina Jolie, hackers, rees conquistaría el mundo y efectivamente así ha sido, ¿vale? O sea, ellos ya lo decían en los años noventa. Entonces, el tema es que cuando nosotros creamos un procesador ARM, ya seamos qualcom, ya seamos pues la propia Apple, ya seamos, en fin, cualquier compañía mediante de que, etcétera, que genere un chip ARM, ARM es
un gran consorcio y ARM lo que hace es licenciar sus
sus chips cortex. De acuerdo, y sus gráficas Adreno. Entonces, esas esos chips gráficos y esas esas CPUs se licencian y por lo tanto a r
m se lleva un rol anti por cada una de las del elemento porque el conjunto de instrucciones a r m es creado por ellos ¿ok?
Apple es miembro fundador de ARM
y por lo tanto tiene unas condiciones especiales y puede modificar lo necesario esto para que funcione lo mejor posible. Pero eso no significa que bueno pues no sea conveniente y eso
es lo que está trabajando la arquitectura RISC-V El poder ofrecer formas en la que cualquiera pueda modificar esa arquitectura, pero sea compatible, sean compatibles. Las unas con las otras, en distintas funcionalidades
de fabricante y sobre todo hacer una arquitectura que sea abierta. Lander estuvo trabajando durante
un tiempo. En esta compañía, hasta que al final y aquí llegamos a nuestro destino, funda junto a Tim
Davis, módular AI. La compañía que ha venido a revolucionar por completo el desarrollo en inteligencia artificial. Funda hace más de un año esta compañía junto como hemos dicho ATIN Davis ¿Quién es Tim Davis? Bien pues Tim Davis es un arquitecto de infraestructura que trabajó con Chris Lander en Google Brain responsable de los sistemas del núcleo de sistemas de la API más utilizada de machine learning, TensorFlow de Google. Responsable de compiladores como XML y ML y R de ejecución
en servidores. Tanto para CPUs, GPUs como unidades de procesamiento de tensores, CPUs es responsable
de las apis de machine learning, de Android, ¿vale? Toda la capa de infraestructura de grandes modelos, y bueno pues es también una persona que tiene una larga experiencia en el desarrollo de lo que es la inteligencia artificial. Unido a nuestro admirado Chris Lander, Chris Lander, creador de la infraestructura de compilación LLVM que comenzó
a hacer como su proyecto de fin de carrera en la universidad de Standford, motivo por el que fue contratado por Apple y creador del lenguaje swift, creador del compilador Zelang, creador de las
infraestructuras de unidades de procesamiento de sensores en la nube de Google y un montón más de elementos. Una persona que como ya hemos dicho
ha pasado por Apple, Google, SaiFi o Tesla.
Una de las personas más brillantes
del mundo tecnológico a día
de hoy y que es cofundador IFEO de modular AI junto a Tin Davis, que es el otro cofundador que ejerce la tarea de chief product officer, de lo que sería el jefe de producto de la compañía. Entonces ¿Qué es lo que ha hecho modular AI y por qué hago este programa? Pues básicamente modular AI lo que ha hecho ha sido presentar dos innovaciones muy importantes. ¿Por qué? Pues como ya hemos dicho, porque la inteligencia artificial ahora mismo está desarrollada principalmente en Python, que es un gran lenguaje pero con una pésima arquitectura y velocidad por lo tanto el coste de ejecutar modelos masivos es muy alto
a nivel energético a nivel económico a nivel de tiempo porque el
tiempo es dinero según el algoritmo que se quiera ejecutar
además que se depende de distintos frameworks porque puede ser que
un algoritmo funcione con bytorch que es el framework de meta para inteligencia artificial puede ser que funcione para TensorFlow, incluso puede estar unido a versiones específicas de estas librerías o de otras librerías de terceros. Si esto le añadimos la infraestructura de hardware que tiene unida como por ejemplo
el hecho de usar Cuda pues Cuda hombre es una gran ventaja porque Cuda tiene una gran potencia
y permite sacar un rendimiento increíble de cualquier hardware pero Cuda también es un gran inconveniente primero porque es una solución cerrada y segundo porque aísla ciertos modelos a solo poder ser ejecutados cuando se dispone de un hardware de Nvidia y eso no es lo que quiere la industria.
La
industria tiene que perseguir una solución estandarizada que pueda ser ejecutada en cualquier hardware y que saque ventajas de cada uno de
los hardware, ¿de acuerdo? Es decir, esto es lo lógico, lo que queremos todos. Yo tengo una nvidia, oye, genial, tienes un NVIDI y por lo tanto Cuda te va a permitir que tu algoritmo de inteligencia
artificial, de machine learning, vaya mucho más rápido. Eso es genial, pero eso no quiere decir que es lo que pasa a día de hoy, que tu algoritmo no se ejecute fuera de Cuba, porque eso es lo que no tiene que pasar. Y eso es lo que hoy iría sucede. Por lo tanto, como digo, es genial que quien tenga nevidia vaya más rápido pero no que haya algoritmos que no se pueden ejecutar sin tener que retocarlos, sin tener que modificarlos. En ocasiones las modificaciones son tan simples como cambiar el engine sobre el que se
van a realizar los determinados cálculos, pero
en otras ocasiones no es tan
sencillo, porque y a mí me
ha pasado intentando cambiar el modelo, por ejemplo, de huésped AI, el modelo de transcripción de texto, de vídeo, a subtítulo, pues resulta que yo intenté hacer un pequeño cambio en el que el modelo original en Pyton tiene una serie de modificaciones en una
de las versiones que yo bajé, porque si
yo me bajo el modelo de Python directamente de PNI lo puedo ejecutar pero se va a ejecutar cien por cien en CPU no va a aprovechar las ventajas de aceleración que tiene mi Apple Silicon a través de el conjunto de instrucciones MPS o Metal Performance Shaders. Si desde rendimiento de metal que es la versión no vamos a
decir equivalente porque ni de
coña es equivalente pero digamos que es la versión de Apple de Cuda vale lo
que pasa que si Cuda
es un Ferrari pues MPS metal performance shaders pues sería algo así como un
Rendón ¿vale? Entonces, bueno, esto es un poco el tema, ¿vale? Si menospreciar a Arnold Megagage, entiéndame, podría decir un Ford Fiesta, ¿vale? Creo que ya no existe, el Ford Fiesta vale pero bueno es que yo soy un señor mayor ya
lo saben entonces el caso es ese que comparar las dos librerías no son comparables porque el rendimiento y las capacidades son distintas,
¿de acuerdo?
Pero lo que no puede suceder y esto es lo que me sucede, si yo intento modificar o intento implementar el código de Metal Pro Forman Shaders, el problema que tengo es que no funciona, porque si yo intento cambiar los motores de ejecución de QDAMPS resulta que obviamente hay instrucciones de QDA que no están soportadas en MPS. Hay algunas que sí, porque estamos hablando de estándares de cálculo computacional pero hay otras que no, hay determinadas operaciones que MPS no tiene soportadas, entonces en vez de tener una forma lógica
de funcionamiento que sería tener que cuando se aprovechen las ventajas de Cuba, se
aprovechen y si no se hagan
y si no están pues se hagan aprovechando las que tenga, Apple pues resulta que no, que o ejecutas en caso de Apple, o ejecutas en
CPU, o ejecutas teniendo una nvidia con QDA. Entonces claro,
la diferencia de velocidad de tirar de CPU y de tirar de Python que de por sí es muy lento es brutal.
De hecho hay gente que ha cogido la implementación de Whisky Play y la ha metido utilizando haciendo un port de la librería de bajo nivel que está utilizando Python haciendo un port hace más más. Utilizando en ese momento los frameworks de aceleración de Apple Silicon, tipo Accelerate, etc. Que son aceleradores de cálculo computacional, que sí tarda bajan de manera nativa y de esta forma han conseguido que creando una capa de abstracción del modelo de Python dentro de DC más más aprovechando las librerías
que está utilizando, que funcionan tanto en c y algunas incluso hasta en
fortrang, imagínense, pues han conseguido que se pueda ejecutar el modelo de Whisky Play no ya desde Python sino directamente desde una capa compilada en C más más. Y eso hace que aún sin poder utilizar al cien por cien la aceleración computacional de metal performance shader si usa la aceleración de la propia CPU y el trabajo paralelisado que es otro tema muy importante porque Python no es capaz de trabajar en multi hilo ni en multinúcleo. Python funciona como el lenguaje interpretado que es cien por cien en un
solo hilo. Por lo tanto, ahí tenemos otra gran desventaja. Entonces, ¿qué
es lo que sucede?
Que al meterlo en c más más y meterle una librería de trabajo en
paralelo, podemos conseguir que determinadas tareas se hagan paralelamente aprovechando los núcleos, y por lo tanto Whisky Pretty I sobre C más más funciona infinitamente más rápido que la versión original en Paito. Por eso es necesario este tipo de cosas no deberían existir, no debería hacer falta, no debería hacer falta que un desarrollador Coja el código de OpenAI en Python y lo porte él, porque le ha dado la gana
por amor, por por amor al arte, lo ponga directamente en
C más más para que funcione de una manera acelerada y pueda aprovechar las ventajas operativas de los procesadores Apple Silicon, ¿de acuerdo? No debería ser así, debería ser que yo coja el mismo puñetero código Python lo ejecute en una máquina Nvidia y aproveche todo el potencial de Nvidia y pueda trabajar en paralelo, cosa que
no hace con Nvidia ni siquiera con Nvidia, las operaciones
que van a bajo nivel en Cuba, Cuba si
las hace en paralelo, pero las operaciones
que van a bajo nivel, es decir, cuando Python le encarga algo a Cuba, cuda coge y hace pues el cuda engine, pub y usa tal y cual, pero a primer nivel no usa paralelo, no usa computación paralela, no usa multitarea, por lo tanto va muy lento en ese sentido y gran parte de la aceleración que tiene es que los procesos más profundos ya se encarga sin estar programado en paralelo y sin soportar Python ese paralelo, Cuda se encarga de hacerlos en paralelo los que puede. Aunque no todos, por eso es tratar de las grandes ventajas, por los que
en QDA funciona todo mucho más rápido.
Pero insisto, si luego yo
me llevo ese código Python a mi Apple Silicon M1 Max, pues resulta que no funciona, a ver, me explico, si funciona, pero va excesivamente lento, mientras Oliver Nava ni con su NVDR treinta noventa, le puede tardar aproximadamente treinta segundos o un minuto en sacar los subtítulos de un vídeo de cinco o seis minutos vale si no recuerdo mal fue lo que estos tiempos que
me dijo pues aquí tarda más del doble de lo que tarda un vídeo,
¿de acuerdo? En Apple Silicon.
Y no es normal, no debería ser así, y no es lo
que tarda cuando está optimizado para hacer más más, ¿vale?
Por lo tanto, insisto, eso es una enorme desventaja. Por lo tanto, se necesita una democratización a bajo nivel que asiente unas bases comunes
de forma independiente al hardware. Sin hardware, sin hardware es más potente, más óptimo, genial, que vaya
más rápido, pero el objetivo es que todo desarrollo de inteligencia artificial pueda funcionar en cualquier hardware, mejor o peor en velocidad, pero que funcione, cosa que hoy día no sucede y que las bases de uso sean más lógicas para escalar con más seguridad al futuro. Hace falta una forma de poder desarrollar y desplegar soluciones de inteligencia artificial de una manera mucho más sencilla. Y en la presentación que hizo modular ella y el otro día lo que hizo fue presentar dos innovaciones para conseguir estos objetivos. La primera: un nuevo framework universal de inteligencia artificial que soporta los dos principales frameworks, pitorch y tensor flow permitiendo que cualquier desarrollo específico para cualquiera de estas dos librerías pueda ser ejecutado con independencia de la dependencias de un sistema, ¿de acuerdo? Es decir, yo no necesito tener TensorFlow, no necesito tener Piktorch, puedo ejecutar cualquier modelo que use uno u otro consiguiendo aumentar con su propia arquitectura hasta en tres veces la velocidad de ejecución de TensorFlow y dos coma cinco la
de PyTorch, además con cuantización integrada. Por lo que
no harán falta más modificaciones a los algoritmos para que funcione un algoritmo de un framework a otro. Aquí funcionará todo nada más instalarse. Punto. Y todo esto estará disponible a finales de año. A finales de año podremos tener ahora mismo tenemos la parte de desarrollo de modelos y a finales de año es donde tendremos también los entrenamientos y la inferencia de los modelos, es decir, la ejecución.
Esto es clave para que todo funcione mucho mejor, es decir, ya tenemos aquí el primer punto importante. Que es la homogeneización de librerías. Da igual que mi
que mi script de Python sea para
TensorFlow o sea para PyTorch. Yo ejecuto como si tuviera los dos frameworks cargados como dependencias y además Como estos frameworks están integrados dentro de la segunda parte de este
lanzamiento, que es el lenguaje
de programación, Consigue este aumento de velocidad, consigue tener hasta tres veces la velocidad, en tercer flow y hasta dos coma cinco en Pytorch. Obviamente mejoras que irán cada vez a más cuando se vaya mejorando todavía más el lenguaje e insisto con cuantización integrada alguno dirá, ¿qué es eso de la cuantización? Necesitamos algún tipo de glosario de términos para tener claro que es todo esto, pues bien, es muy sencillo.
Vamos a ver. Bueno primero si quieren saber más de inteligencia artificial pueden acudir al último programa que hicimos de Advert
Coding donde hablamos de la historia de
la inteligencia artificial y donde hablamos de todos estos términos, entonces así pues pueden aprender
pero no si no lo recuerdan, les digo rápidamente, en una tal que cuantizar un modelo. Básicamente es Comprimirlo, comprimirlo, descartando datos. La cotización de un modelo es algo así para que se hagan un símil como un MP3, un MP tres, que es
lo que hace, un MP tres descarta información
de datos del sonido, porque según los algoritmos de compra de ese sonido, sin compresión, con pérdida, se entiende que determinadas frecuencias de sonido que son eliminadas de la onda no afectan porque el sonido en realidad no pierde calidad, son frecuencias que el oído que humano no capta y por lo tanto e incluso si las captara dentro de todo el conjunto de frecuencias que tiene el sistema pues al restaurar la onda
desde el sonido
comprimido no va a ser excesivamente notable
también depende mucho del tipo de auriculares que usemos o el tipo de alta voces etcétera el tipo de audífonos o parlantes si estamos si somos ciudadanos de Latinoamérica, entonces allí sabemos que en España llamamos auriculares
y alta voces y en Latinoamérica los llaman audífonos y parlantes, ¿vale? A mí, la la verdad que la expresión de parlante siempre
me ha parecido muy interesante y me ha gustado mucho siempre, eso de que aún lo que yo conozco toda la vida como un altavoz le digan un parlante, porque de hecho es un parlante, es decir, es es algo que habla, ¿no? Entre comillas, igual que un alta voz es algo que aumenta la voz, o sea, del lenguaje es maravilloso, en fin. Entonces ese es el caso, si yo tengo una una onda de sonido y la comprime en mp3 se que pierdo datos por
el camino pero no pierdo los suficientes datos como para el intentar restaurar la onda que se note un gran cambio en eso. Pues esa es la cuantización de un modelo. Cuando yo tengo un modelo ya entrenado yo tengo unos datos de entrenamiento lo que hago es cuantizarlo. Quantizarlo es reducirle la precisión de forma que si un modelo no cuantizado ocupa vamos a suponer un giga, ese modelo no cuantizado un determinado dato o una serie de diez datos de prueba me devuelven porcentajes por encima del noventa por ciento en cuanto a la predicción del dato que estoy buscando, vale, imaginemos que tenemos un modelo de predicción, de entendimiento, de objetos dentro de una imagen capaz de detectar las cosas que hay en una imagen. Ese modelo ocupa un giga, ¿vale?
Porque tiene la leche inverso, de cosas que puede llegar a detectar. Entonces resulta que ese modelo que ocupa un giga yo lo utilizo para detectar en diez imágenes que hay gatos
o hay perros vale en cinco de ellas hay gatos en cinco de ellas hay perros entonces me da una precisión y me dice pues
en esta foto hay un noventa y dos por ciento de probabilidad de que esto sea un perro pastor alemán, o que aquí haya un husky siberiano y en las fotos de los gatos pues me dice que hay un noventa y cuatro por ciento de probabilidad de que esto sea un gato azul ruso o un siames por ejemplo vale por citar a los míos entonces bueno pues ese sería el tema vale perfecto ¿Qué es la cuantización? Es borrar datos del entrenamiento para que perdiendo precisión Y ahora, en vez de decirme un noventa y cuatro por ciento, me va a decir un noventa y uno, porque estoy eliminando partes de la capa oculta, estoy eliminando partes de lo que es el propio entrenamiento, un entrenamiento de machine learning, como ya saben, se basa en que yo tengo una entrada y una salida y entre medias tengo unas capas ocultas que son como millones de millones de millones de millones de millones de millones de millones de millones de millones de IF, que van validando cada pequeño dato y van creando una red tremenda, una red neuronal capaz de procesar cada pequeña parte de
la información. ¿Vale? Bueno, al final sí, es lo que hay ahí son millones y millones de IF, ¿vale? Tantos que al final crean una especie de inteligencia, especie de
inteligencia que es capaz de procesar datos a un nivel
en el que no somos capaces de que ese es
el gran problema que tiene OpenEye, ¿vale? OpenEye a día de hoy, no es capaz de saber por qué GPT hace lo que hace, porque no es capaz de poder discernir no escapa de poder analizar todos esos millones de If que hay ahí dentro y que son los que procesan las entradas para dar las salidas que tienen al respecto, hay tanta cantidad de información que por eso se llaman capas ocultas, porque una persona normal o incluso no normal sería incapaz de poder validar uno a uno, cuál es la toma de decisiones, por eso Penaya y dice que no entiende al cien por cien cómo el GPT hace lo que hace, acuerdo no es capaz de entenderlo porque no es capaz de validar el código porque son tantos millones de IF que sería imposible en cinco vidas verlos enteros y analizarlos y seguir el flujo que sigue una entrada para obtener esa salida. Imagínense los millones y millones de pasos desde una entrada hasta una salida para que alguien no tuviera suficiente en
una vida para ser capaz de analizar todo eso. Irónicamente la única manera de poder analizarlo sería con otro código que fuera capaz de hacerlo, ¿vale? Entonces si yo a esos millones de IF les quito partes que puedan ser redundantes, IFs que puedan ser en el momento en el que
yo meto un algoritmo de cuantización, lo que
hace el algoritmo de cotización es analizar los pesos que salen
de cada una de esas condiciones, y ver dónde hay repeticiones y entender que dentro de esas repeticiones si yo voy eliminando datos redundantes voy eliminando datos que no sean, que no lleven a ninguna salida clara. Si voy eliminando partes de ese árbol de decisiones, para que al final me quede mucha menos información ¿qué es lo que sucede? Pues que al borrar información el modelo ocupa menos borro información y por lo tanto los modelos no son tan eficientes
no dan un noventa y cuatro por
ciento dan un noventa y uno pierdo eficiencia pero no la suficiente como para que el modelo deje de ser eficiente. Prefiero perder a lo mejor medio giga y que el modelo ocupe quinientos doce megas, y sea no tan eficiente como el de un giga pero he perdido un tres por ciento de eficiencia y sin embargo he ganado medio giga de espacio, por lo
tanto compensa, ¿vale? Es decir, vale, no es tan eficiente, es lo suficientemente eficiente como para seguir dando un buen resultado, a su uso, pero acabo de reducir drásticamente lo que ocupa. De hecho, la gran mayoría
de patentes que está haciendo Apple en los últimos años se basan en esto, se basan en algoritmo de cotización. ¿Por qué? Pues porque Apple pretende que todos los modelos gigantes
que estamos utilizando a día de hoy como Stabledifusion, como Midjorning, como GPT, etcétera, etcétera, ¿vale? A ver, Apple va hacia modelos de código abierto, ¿vale? En este caso estaríamos hablando por ejemplo de Stabledifusion, stable defusion es un modelo que Apple soporta, que incluso soporta la lo que es el uso de Control Net, que es un añadido de Stavel defusion, que es capaz de analizar las imágenes
a más detalle e incluso darle un modelo a seguir que tome como referencia
a la hora de generar las imágenes, de ponerle a un tío que tenga las,
por ejemplo, puesto el dedo así con haciendo el pulgar, ¿no? Diciendo guay, ¿no? Y sobre ese modelo de control Net, yo le digo, pues quiero a Tony Stark, bebiendo vodka y diciendo guay no y entonces coge la referencia de la manita que yo le he dado de otra persona y la toma como referencia para la generación de la nueva
imagen, ¿vale? Eso sería controller a muy grandes rasgos, ¿vale? Tiene muchísimas más posibilidades, cómo generar un monigote y que ese monigote te lo pinte de una manera real o un dibujo artístico en plan boceto y que te lo pase a un modelo real o un modelo o un dibujo mucho más acabado en
fin tiene un montón de posibilidades y Control Let's ha soportado se puede convertir igual que este multifunción a modelos de CoreML, que es la librería, es el framework de Apple para ejecución de inteligencia de bloques machine learning, está acelerado por Apple Silicon, está acelerado por los motores neurales en cuanto a ejecución, en cuanto a inferencia de los modelos,
¿de acuerdo? Entonces, lo
que Apple pretende es que estos modelos,
como digo, este Voldifusion, además, la gente de estability y ahí, que son los creadores de Seúl Difusion, han sacado también un modelo de generación de texto, como GPD, también es open source y por lo tanto pues va a
tener ahí unas posibilidades también interesantes y lo que Apple pretende en un futuro es poder cuantizar esos modelos lo suficiente como para crear una capacidad de digamos de diferenciación importante a partir de la privacidad, lo que Microsoft, lo
que OpenEye, lo que Google, lo que meta, etcétera. Los grandes jugadores de la
inteligencia artificial quieren es que usemos sus servicios en
la nube, por lo tanto se van a quedar con nuestros datos. Que ese es el uno de los grandes problemas,
el tema de la privacidad. Lo que Apple quiere es poder cuantificar esos modelos y poder en nuestro sistema operativo de nuestro iPhone o nuestro Mac, para que así podamos utilizarlos en local sin restricciones y con total privacidad
en el que ellos no sepan ni reciban nunca la información que estamos generando. Imagínense, poder tener pues ya lo están pensando una city que estuviera basada en
un modelo conversacional como el
que tiene estability y algo parecido
a gp que sea capaz de contestar a un montón de preguntas de una manera razonablemente correcta, porque no podemos olvidar que GPD4 no sabe si sus respuestas son correctas o no, porque gp cuatro no piensa no razona gp cuatro sólo completa texto de forma aleatoria intentando que el contenido tenga sentido a nivel de lo que le estás pidiendo que complete,
¿de acuerdo?
Pero no es muy fácil que
se equivoque, de hecho en código, sobre todo en las pruebas que yo he hecho
con Swift, en muchas ocasiones se equivoca, te da clases que no existen, se ve clarísimamente que no sabe diferenciar qué es una llamada o una API del sistema, y que es una llamada de un API de terceros, el código que con el que
se ha entrenado de páginas web en muchas ocasiones utiliza pues trozos de código que vienen de otro
sitio, librerías que vienen de otro lado y entonces piensa que hay llamadas de librerías de terceros que pertenecen al propio sistema y no las identifica como parte de la librería de terceros o nos da nombres de cosas que se inventa porque hay código por ahí de ejemplo que alguien ha usado un nombre parecido y entonces lo mete dentro, es decir, se equivoca mucho ¿vale? Es cierto que esto ya mejorando poco a poco, pero no podemos pensar que GPT
y esto lo hemos comentado, el anterior programa que hablamos sobre
inteligencia artificial, que siempre te piensa o razona o es capaz de discernir si lo que nos está diciendo es verdad o mentira porque en muchas ocasiones nos va a mentir o se va a equivocar ¿vale? Y esto es algo que tenemos que tener presente, pero en el momento en el que esto evoluciona lo suficiente, por eso Apple no va a
poner un modelo como GPT dentro de sus sistemas, porque si Apple te pone uno de estos modelos y el modelo se equivoca y tú al modelo le preguntas oye, yo que sé, ¿cuántos son cinco mil cuatrocientos treinta por siete mil ochocientos vale? Pues sabemos que el GPS de las matemáticas no se le
da muy bien porque solo completa texto, pues ese tipo de cosas, ¿vale? Apple tiene que tener mucho cuidado de que las respuestas que de la inteligencia artificial sean reales, no sean equivocadas, para eso
hay que trabajar muchísimos más años en
todo esto y por lo tanto bueno pues poco a poco están trabajando en este tema de la cuantización. En conclusión, todo esto que estamos contando tiene que ver con el secreto de este framework y de todo lo que Modular AI ha presentado el lenguaje de programación Moyo. Moyo que viene de modular Jurney,
el viaje modular, ¿de acuerdo? Aunque sí tiene que ver algo con Austin Powers, también me parecería interesante, ¿vale? Que sea el Moyo, Rim en, vamos a darles el Moyo, Rim.
¿Qué es Moyo? Pues Moyo es un lenguaje de programación que es tan versátil como Python pero es más rápido que C más más y tiene además las mejores funciones que u que ofrece el lenguaje de programación rush, porque sí, Moyo es una mezcla de Python y rush con cositas de swift, porque se le distinguen cositas de swift. ¿Qué ventajas ofrece Moyo para ser una revolución tan importante. Moyo es un lenguaje de programación que tiene soporte integrado de ejecución multi hilo y multinúcleo para a procesos. Por lo tanto, cualquier proceso que yo realice de cálculo computacional automáticamente será ejecutado en paralelo.
Tal cual, sin que yo haga nada, soporta sincronía, soporta un montón de elementos y arquitectura más modernas, y es un lenguaje que además ha sido construido sobre Python, pero mejorando toda la arquitectura del propio lenguaje Python y permitiendo además que cualquier programa en Python funcione hasta treinta y cinco mil veces más rápido, y esto es una prueba empírica con el algoritmo
Mandelbrot. Que es una de las uno de los algoritmos más importantes, o que se utiliza más para hablar sobre pruebas de rendimiento y que bueno pues de esta manera nos permite poder probar lo que serían un trabajo paralizado, es decir, el algoritmo Mandelbrot es un conjunto de ecuaciones matemáticas utilizadas para generar fractales, ¿vale? Fractales son formas geométrica con patrones autosemejantes y detalles infinitos ¿vale? Esto lo conocemos de la época de los cuatro ocho seis había estaremos maravillosas, como la
sé con reality, donde había elementos con fractales, etcétera, etcétera. Entonces utilizar el conjunto de Mandel brote en sí, como un conjunto de puntos en el plano complejo que satisface ciertas condiciones matemáticas es una muy buena forma de poder medir la eficiencia de un sistema porque es muy intensivo a nivel computacional que es un algoritmo que requiere una enorme cantidad de cálculos matemáticos y recursos de memoria para ir almacenando los valores intermedios
especialmente para generar imágenes y alta resolución. Lo que lo convierte en una prueba de estrés para evaluar
el rendimiento del lenguaje de programación o sistema informático y además es un algoritmo que está especialmente recomendado para probar sistemas paralizados
sistemas que trabajen en paralelo que permitan hacer varias cosas
a la vez ya que el algoritmo puede dividir fácilmente en tareas independientes que se pueden ejecutar en paralelo lo que lo convierte en un buen candidato para evaluar la eficacia de un sistema de ejecución de este tipo y probar las capacidades multinúcleo de procesadores, de GPU, etcétera. Por lo tanto es una herramienta bastante útil para evaluar este rendimiento y es lo que han utilizado para dar el ejemplo de hasta dónde puede llegar este lenguaje. Así que bueno, pues introducido esto, vamos a pasar en el siguiente bloque a hablar más en detalle de
lo que nos puede aportar este nuevo lenguaje de programación que ojo, es un lenguaje
de programación que aún no está terminado, ¿vale? Es decir, lo han presentado y tiene una versión preliminar y podemos solicitar utilizarlo y tenemos un playground, qué bonito, como en swift para poder utilizarlo desde web y poder probarlo. Pero todavía no ha sido lanzado,
de hecho todavía no es código abierto, pero lo va a hacer, porque ya
han anunciado que lo será, por lo tanto esto es una presentación
de lo que va a ser y
a partir de aquí hay que seguir trabajando pero desde luego yo creo que esto podría llegar muy fácilmente a sustituir Python, ¿por qué? Pues porque tu código Python tal cual lo tienes, lo puedes meter en Moyo y obtener todas las ventajas que se obtienen que ahora mismo
no es capaz de hacerlo vale ahora mismo no
es cien por ciento interno pero el objetivo es que lo sea que tú puedas coger tal cual tu código en Python lo pongas en el compilador de Moyo y consigas que ese código se ejecute compilado a binario con todas las ventajas que eso aporta en ejecución paralizada etcétera por lo tanto hay muy buenas perspectivas, en mi opinión, de que Moyo termine por sustituir al lenguaje. Como elemento de programación para inteligencia artificial, y entiéndame el sustituir porque en realidad no lo sustituye porque pretende ser una súper clase de piton que mejore los problemas que arregle los problemas de infraestructura y arquitectura del lenguaje Python, convirtiéndolo en compilado y no en interpretado, pero que siga siendo Python, es decir, insisto, es una superclase de Python, como Object dice era una superclase de Fe, Por lo tanto, al ser una superclase de Python todo el código Python que ya tenemos va a funcionar sin tocar una sola línea, por eso tiene todas las papeletas para convertirse en el próximo paso del desarrollo de inteligencia artificial, porque todos son ventajas. Y porque no hay
que cambiar nada de lo que ya tenemos hecho. Simplemente si queremos aprovechar las ventajas que nos ofrecen, las superclases que incorpora de Python para tener una un lenguaje mucho más cercano a Rast o a Swift para poder ampliar y mejorar las capacidades de expresión del propio lenguaje pues ahí están las posibilidades, ¿de acuerdo? Así que bueno, vamos a analizar un poco más
en detalle qué es este lenguaje. Nos vamos a poner muy técnicos básicamente porque lo que
vamos a intentar es dar un razonamiento que sea lo más claro posible
de por qué Python como lenguaje tiene una serie de problemas que lastran el desarrollo de la inteligencia artificial y porque es necesario que exista un lenguaje como Mojo. Bien, Python no queda duda que es un lenguaje
de programación muy popular, muy versátil, que presenta bueno pues muchas ventajas
a la hora de representar algoritmos, etcétera. Pero Python presenta ciertas desventajas que justifica la necesidad de un nuevo lenguaje que lo sustituya o que lo evolucione. Y algunas de esas desventajas principales de Python pueden ser, por ejemplo, el rendimiento,
¿de acuerdo? Python es un
lenguaje interpretado lo que significa que el código se ejecuta línea por línea en lugar de ser compilado previamente y esto lleva a un rendimiento más lento en comparación con otros lenguajes compilados como por ejemplo c más más o como swift, etcétera. Además, el hecho de ser un lenguaje que es interpretado hace que su huella de memoria, su uso de memoria, sea menos eficiente en términos de uso comparado con otros lenguajes de programación lo que es una limitación en sistemas con recursos usos limitados por lo que requiere de sistemas más potentes para aplicaciones que requieren un uso intensivo de memoria. Además, Pyton tiene algo que es clave para entender este problema, que es el GIL, el global interpretar lock. Python utilizó un mecanismo llamado G y L que gestiona el acceso a objetos en memoria y esto limita el rendimiento para aplicaciones multiproceso ya que utiliza sólo un hilo para ejecutar instrucciones de paitón a la vez esta cerradura global del intérprete impide poder ejecutar código en paralelo, impide ejecutar código en concurrencia, así que pues mal, esto es
un fallo muy gordo, ¿de acuerdo? Porque bueno, pues el lenguaje cuando se creó en su momento, pues tampoco se vio en su momento, digamos, que fuera totalmente necesario. Aparte de la sintaxis de Python, aunque es simple y fácil
de aprender, para muchos desarrolladores puede ser limitante, por ejemplo,
la y dentación obligatoria para definir los bloques de código, pues a veces es un poco problemática.
Y también la integración con sistemas de bajo nivel ya que Python puede no ser la mejor opción para interactuar directamente con hardware con sistemas de bajo nivel debido a su naturaleza de muy alto nivel e interpretada, y esto es algo que es absolutamente clave, absolutamente clave porque precisamente la inteligencia artificial reposa sobre elementos sobre sistemas de muy bajo nivel como Cuda, como lenguaje C más más, como el propio lenguaje, porque Python está hecho en C y C más más. Por lo tanto, tiene una subcapa por debajo, que es lo que en muchas ocasiones se utiliza para convertir ese código, por lo que tener un nuevo lenguaje que supla estas características es también importante. Aparte no podemos olvidar que Python es
un lenguaje de programación de Tipado dinámico, lo que
significa que no es necesario especificar el tipo de dato de una variable cuando yo la veo claro. Y esto es un problema porque el intérprete de Python, aunque determina automáticamente el tipo de dato, según el valor que se asigna a la variable, al ser dinámico no estricto, ¿vale? Tiene el problema que puede facilitar un lado la escritura y lectura del código, pero también puede conducir a errores. Si se intentan realizar operaciones incompatibles con los tipos de datos involucradas y esto además al ser
en un lenguaje que es interpretado
solo aparece cuando estamos llegando a esa línea en concreto donde se hace uso de esto. No obstante,
el los responsables detrás de Python son conscientes de este problema y por eso
en la versión tres punto cinco presentaron los type hits, las anotaciones de tipo, que permiten especificar los tipos de datos esperados para variables y funciones y con esto mejora la legibilidad del código y permita las herramientas de analizar es estático, detectar posibles problemas
de tipos de manera más correcta. Sin embargo, usar esto es opcional y no se aplica estrictamente en tiempo de
ejecución, por lo que es una solución parcial al problema. Entonces, en
fin, son cosas que debemos tener en cuenta. Tenemos que entender que trabajar hoy día en
inteligencia artificial se ciñe a una infraestructura concreta y a una configuración absolutamente específica. Por ejemplo, trabajar con Cuba
a nivel de hardware en esa capa de hardware y centrarse en trabajar sobre la versión x de tensor flow o la versión y de pitorch como librerías que están, bueno, tienen una capa de
c dice, más más que se abstrae y que permite usar la API directamente sobre Python. Entonces a partir de ahí crear mi escalabilidad. Pero claro, esto es muy complicado si tenemos tres capas distintas. Que ofrecen distintos tipos de elementos que no son compatibles entre sí y que no permiten una forma fácil de trabajar entre las distintas capas, porque si de pronto hay alguna innovación, algún gran cambio que nos obliga a cambiar la infraestructura, podemos tardar meses literalmente en reescribir ciertos modelos al cambiar entre distintos frameworks a cambiar entre distinto tipo de código para conseguir una buena latencia con c
más más, con Cuda, o cambiar
de librería, etcétera. Porque usar Python no es suficiente,
ya que su nivel de eficiencia y velocidad es tan bajo por ser un lenguaje de tan
alto nivel que al final acabas implementando todo esto con
c más más para que funcione mejor aprovechando que el propio Python, pues, como digo, está entonces eso requiere que haya una implementación, entonces más más, que es mucho más compleja. En ocasiones escribir operaciones para los modelos de forma personalizada es peor porque estás atado a una plataforma con el
propósito de conseguir la mejor eficiencia y luego ya no puedes cambiarlo o te lleva demasiado tiempo y si intentamos ampliar las operaciones
de los frameworks existentes como TensorFlow o Pitorch puede convertirse en un auténtico infierno porque te quedas aún más atado a este framework y a sus posibilidades incluso a las versiones específicas. Y por último, lo podemos olvidar que, como ya hemos comentado, si varias personas del equipo trabajan con distintos tipos de código base porque cada cada capa, de estas tres capas de ejecución
de modelos programados con Python,
una infraestructura de CEC más más para dar mayor velocidad, más la capa de extracción de hardware que puede ser de distintos tipos pues en fin tenemos ahí un problema de distintos lenguajes distintos elementos
de sistema distinto todo estos son algunos de
los problemas que tiene que resolverse para poder tener un trabajo de desarrollo de ingredientes artificial
donde sea todo más productivo porque lo que hay ahora mismo es un puñetero cajón desastre, difícil de resolver si
no se pone un poco de control.
Y gran parte de este problema lo tiene Python, porque Python es el responsable de que tenga que existir la capa de CEC más más
porque por un lado Python es genial, como lenguaje a nivel versátil para poder ofrecer soluciones mucho más prácticas sin embargo, como no es eficiente ni es veloz y funciona de aquella manera y encima
es interpretado, tiene que obligatoriamente poner las capas de CC más más por debajo y además eso conectar con distintos tipos de hardware que hacen que sea todo aún más complicado distintos tipos de CPUs, de GPUs, de TPUs, que si escuda, que si no escuda, que si ahora es una TPU específica, un nuevo lanzamiento, un nuevo en fin puede haber infinidad de distintas capas de hardware por debajo y que tenga que haber estas tres capas. Repito, la culpa principal gran parte del problema es de Python, un lenguaje que tiene problemas muy serios que las traen el desarrollo de inteligencia artificial. Un lenguaje sin capacidad de escalar. Un lenguaje lento un
lenguaje que no trabaja en paralelo en concurrencia mientras los ingenieros científicos programan los modelos en Python y les permite tener una estupenda versatilidad, porque repito, Python es un grandísimo lenguaje, pero no es perfecto obviamente,
los que despliegan estos desarrollos, no pueden hacerlo en Python como hemos explicado antes, porque entonces funciona de una manera bastante mala. Porque necesitan que para que funcione de una manera eficiente tienen que usar lenguajes que sean escalables, que puedan ofrecer ventajas de utilización de recursos compartidos distintos servidores que puedan añadirse o quitarse y que trabajen en paralelo. Si no sería imposible entrenar un modelo como GPT si no se hace que el código en Python se ejecute dentro de un sistema escalable que pueda ser ampliado para dar más potencia de cálculo y ese lenguaje normalmente suele ser se más más para conseguir esta eficiencia por lo que tenemos que hacerlo sí o sí no nos queda otra hay que usar esta capa porque Python no lo va a permitir, y si yo ejecuto un modelo directamente
en Python sobre CPU, no llegó a ningún lugar para poder acceder desde Python a la capa de los frameworks y de la capa de los frameworks
a la capa del hardware, poder tener optimización y
poder escalar el código para poder utilizar, pues en el caso de GPT, por ejemplo, decenas, cientos miles de instancias de distintos servidores, trabajando en
paralelo, tengo que montar toda la infraestructura de
tres capas que es un infierno,
¿de acuerdo? Porque a día de hoy el mayor problema de la IA es la falta de velocidad del lenguaje Python, unido a la
propia necesidad de conseguir más potencia de computación. Esto provoca pues estos problemas basados en estas tres capas. Que para entender tenemos que ver frameworks como PyTorch o TensorFlow, que tienen una capa API de lo que sería byton que expone la capa de programación para crear modelos pero debajo está la capa de
c más más de la propia infraestructura y debajo de esta star-hardware como por ejemplo cuda o una CPU o una GPU o una CPU o lo que se quiera poner o
un motor neural en el caso de
Apple, etcétera con MPS. Tres capas en distintos lenguajes, que es difícil que se comuniquen eficientemente los unos con los otros y que se pueda trabajar a través de esta, así que cualquier cambio en una de ellas supone gran esfuerzo pero es que además Cuda es solo un hardware y cada día surgen nuevos tipos de hardware si yo programo algo para acuda y de pronto sale
un nuevo tipo de CPU, GPU, CPU, un nuevo tipo de hardware especializado,
etcétera, etcétera, va a requerir implementaciones específicas para conectar cada capa, lo que va a dificultar enormemente cualquier implementación porque voy a tener que descartar toda
la capa de Cuda y empezar casi desde cero. Por lo que, por versátil y potente que sea Python para conseguir una potencia realmente práctica, y funcionar vale pues tiene esa capa debajo en c más más y
bajo esta el hardware que requiere una programación específica.
La solución del lenguaje de programación Moyo es permitir programar estas tres capas con un único lenguaje que tenga las ventajas de cada uno de ellos la la potencia de la
que aparece más más y una extracción del hardware para que todo funcione a partir del framework que presenta modular AI que es capaz de entender y comunicarse con cualquier tipo de hardware sea el que sea y sacar lo mejor del mismo como una especie de controlador para distintos tipos de hardware que permita una única capa de programación y sacar las ventajas de cada uno de ellos y poder cambiar de uno a otro donde necesita hacer esto. Por eso modular AI ha lanzado Moyo como una súper clase de payton. Como coger Python, es como era UJTC a C. Insisto, Moyo está construido sobre Python, pero lo que hace es llevar este lenguaje más allá, añadiéndole capacidades que antes no tenía, como algunas heredadas de
otros lenguajes, como rush o incluso swift,
de forma que de esta manera qué es lo que se consigue, pues que pueda funcionar en esta sucesión de tres capas. ¿Y qué es o cómo se consigue esta magia? Pues esta magia se consigue a partir del uso de una nueva infraestructura, una nueva arquitectura de compilación, que es un módulo a partir de l l v m llamado m l I r o representación intermedia, multinivel, ¿de acuerdo? Una infraestructura de compilación desarrollada como parte del proyecto LLVM diseñada con el objetivo de ser una representación intermedia híbrida que puede soportar múltiples requisitos en una infraestructura unificada ¿Qué es lo que significa esta infraestructura de compilación MLIR comparado con LLVM, que es lo que
ahora mismo se utiliza
en la gran mayoría de sistemas entre
ellos swift. Pues bien, LVM funciona como una librería de bajo nivel que realiza una compilación en dos pasos. El RVM genera, en el caso de Swift, de acuerdo, vamos a hablar del caso específico de Swift, el LVM lo que hace es coger el lenguaje, el código
en Swift y compilo en un primer paso a lo que se conoce técnicamente como un beat code, es
un código intermedio parecido al que puede generar Java en byte code y que luego a partir de Java, la máquina virtual software de Java se encarga de interpretar
ese código intermedio. Pues bien, el LVM no se queda ahí, a partir de ese bit code lo que hace es generar desde ese bit code un código binario pegado a el hardware. Al tener un código binario compilado para ARM, para x86, para la plataforma que sea, ¿qué es lo que conseguimos? Conseguimos que haya un módulo de el propio lenguaje swift,
es decir, una capa de traducción guerra y ejecución que se pone en los sistemas a
nivel binario y que traduce el código ya
compilado a
nivel binario a las llamadas específicas de cada hardware porque existe este no intérprete, como en el caso de jaba sino este traductor como máquina virtual de bajo nivel, ¿okay? Pues bien, en comparación con el LVM, MLIR está diseñado para manejar una serie de tareas que son particularmente relevantes en la computación de alto rendimiento y que el LVM no soportaba hasta ahora, para computación de, insisto, alto rendimiento, aprendizaje automático y campos similares. Por ejemplo, es capaz de soportar grafos de flujo de datos
para representar grafos que fueron eso una forma común de representar cálculos en campos como el aprendizaje automático y es la de forma, la forma en la que la propia librería TensorFlow representa
sus cálculos, por ejemplo. También incluye optimizaciones de alto rendimiento, MYR soporta optimizaciones de estilo HPC de alto rendimiento de computación, Hype performance computing como la fusión
de bucle, el intercambio de estos, el test helado, etcétera técnicas que mejoran significativamente al rendimiento del código en contextos de cálculo computacional. También es capaz de realizar
y esta es la parte principal y más importante transformaciones de lenguajes de alto nivel para generación de código de bajo nivel
Emelir
puede realizar una serie de transformaciones que preparan el código para la ejecución en hardware específico, es decir, incluye elementos como inserción de DMA, gestión explícita de caché, teselado de memoria, vectorización de arquitectura de registro 1D y 2D, en fin tiene una serie de elementos que permiten coger lenguajes de más alto nivel y llevarlos a una compilación barra ejecución de bajo nivel binario pegado al código de cada hardware específico. Además soporta operaciones específicas de objetivo. Emely puede representar operaciones que son específicas para ciertos tipos de hardware y hacer que estas operaciones de aceleración específica de hardware se puedan trabajar directamente desde cualquier tipo de ejecución por lo tanto esto es lo que utiliza para poder coger y buscar la mejor forma de ejecutar de ejecutar cierto código a partir de distintos tipos de aceleraciones de hardware porque estaría preparado para cada tipo de acelerador y poder sacar el rendimiento específico de cada sistema en función de
sus capacidades, con transformaciones de gráficos de aprendizaje profundo para realizar todo tipo de transformaciones, cuantización, en fin, todo lo que son elementos de trabajo con elementos de aprendizaje automático herramientas de síntesis
de hardware y una infraestructura de compilación que utiliza una arquitectura que ha heredado distintas peculiaridades de arquitectura, como el propio LVM, el funcionamiento de Swiss, etcétera, para proporcionar la capacidad de analizar y volcar archivos emelir en texto para facilitar la depuración y las pruebas de el código es decir es una extensión, ¿vale? A medir es una extensión del proyecto, el LVM, que se centra en las necesidades específicas que carga que propone a LVM, necesidades específicas de los campos de computación, de alto rendimiento y aprendizaje automático para complementar el LVM permitiendo una gama más amplia
de optimizaciones y transformaciones que son pues bueno muy importantes para esto y de hecho una de las metas de
emely es permitir la compilación, como
ya hemos dicho, que esta es la clave, permitir la compilación
de alto a bajo nivel de lenguaje de programación con Python para optimizar la ejecución en diferentes tipos
de hardware. Utilizando, como ya hemos dicho, las transformaciones y optimizaciones que preparan
el código para ese hardware específico, consiguen que Moyo utilizando código Python y gracias a esta integración
que tiene Moyo con el la arquitectura de compilación Emely basada en el LVM, Lo que hace es que
el código escrito en Moyo con la misma sintaxis de Python, sintaxis que es ampliada porque es una superclase y por lo tanto permite hacer más cosas permite que se pueda compilar el código paíton a un nivel más bajo y optimizado para ejecutar eficientemente en distintos tipos de hardware, de forma que podría resultar pues en una mejora que, de hecho, se cuantifica, como ya hemos dicho, en treinta y cinco mil veces lo que es la ejecución del algoritmo de Mandelbrot. De acuerdo,
que ya hemos explicado antes en qué consiste, o sea que en esto hay que tener bastante, bueno pues hay que ser bastante Claro en cuanto a decir oye pues esto es una cosa que es importante, ¿de acuerdo? Por lo tanto lo que
módula de AI propone con Mojo es coger de un plumazo todos los problemas que tiene la actual estructura de trabajo, programación de inteligencia artificial, y solucionarla de un plus más. Solucionarla
gracias a el uso de Moyo y el uso de esta este nuevo sano arquitectura de compilación que complementa el
LVMMLir y gracias a la propia infraestructura que permite a
través de lo que van
a presentar esta conjugación de hardware para que podamos hacer un único código que sea universal. Que sea escalable de uso paralelo y que no tengamos que trabajar con distintos lenguajes y distintas infraestructuras para conseguir esto. Lo que se pretende, ¿vale? Es, básicamente, pues, como ya hemos dicho, mejorar
lo que es el lenguaje paíton, a través
de un nuevo lenguaje, moyo que insisto lo amplía, por lo que aunque ahora mismo no es así porque tienen que seguir trabajando en ello, El objetivo es que absolutamente todo lo que yo haga en Python pueda compilarse directamente en Moyo, y al compilarse obviamente voy a tener mejor eficiencia porque va a analizarme el código y va
a darme los errores directamente.
Sabemos que Python se basa en gran medida en C hice más más, por lo que Python es un lenguaje de alto nivel que, al basarse en estos lenguajes, para algunas de
sus operaciones de bajo nivel y bibliotecas de
rendimiento, pues no es nada eficiente, como por ejemplo
la librería Nunpai. Es uno de los ejemplos
más claros de por qué tienen que, porque la ejecución más eficiente de Nunpai, obliga a poder
a tener que hacer la implementación directamente en
CEC más más, porque son más rápidos para el cálculo numérico y otras tareas de alto rendimiento. Aparte, Mojo va a permitir la adición de tipos, ¿vale? De forma que Tanto Python a
través de las anotaciones de tipo como Mojo van
a permitir añadir tipos a las variables en el programa, por lo que Mojo será un lenguaje de tipado estático
por lo que ayudará
a detectar errores más rápidamente al proporcionar más información al compilador sobre cómo deben ser tratados los datos
ya no es va a ser una obligación utilizar este tipiado estático. Además Moyo está construido sobre la nueva infraestructura de compilación que hemos comentado, MLIR MultiLivery Intermedia y Representation,
que permite a las optimizaciones
de rendimiento y una mayor flexibilidad. Permite la creación de abstracciones con coste cero significa que puedes escribir código de alto nivel que se compila a código de bajo nivel de forma eficiente sin la sobrecarga que se asocia con las abstracciones de
alto nivel, por lo que podemos crear esta abstracción absoluta de código
de alto nivel en código más eficiente que se compila y que se ejecuta. De manera binaria a hardware, como con toda la eficiencia que tiene
ese más más, mucho además incorpora las mejores ideas de otros sistemas, adopta mejora las ideas de otros lenguajes y sistemas como rush, como swift, utiliza mucho los strutch, para probar una experiencia de programación más segura y fácil de utilizar. Mojo además facilita la escritura de
algoritmos para diferentes hardware como ya hemos comentado, tiene características de autoajuste que hace que el compilador pueda seleccionar automáticamente los mejores parámetros para un algoritmo, lo que puede llevar
a una ejecución más eficiente en una plataforma concreta y supera el rendimiento de un solo hilo de Python. Esto es clave, a diferencia de Python Mojo no tiene el bloqueo del intérprete global, no tiene el G y L. Lo que significa que puede ejecutar tareas en paralelo de manera más eficiente y de hecho lo hace de manera automática. No hay que programar la concurrencia El propio lenguaje ya se encarga de concurrir y paralizar todo el código de manera automática.
Podemos utilizar obviamente también la asincrónica y esto nos va
a permitir poder tener una mejor eficiencia y si encima nosotros programamos esta paralización de una forma más concreta conseguiremos aún más ventajas de forma que, como ya hemos dicho, podemos mejorar treinta y cinco mil veces
el rendimiento de Python en
el caso concreto de Mandelbrot ejecutado sobre CPU. Moyo es el único lenguaje construido para este compilador MLIR, lo que le permitirá acceder a todas las características de hardware más importantes disponibles tanto en
las plataformas actuales como lo más importante. Nuevas plataformas que aún no hayan salido. CPUs, GPUs, aceleradores de aprendizaje automático, FPGAs, motores neurales, ordenadores cuánticos, etcétera, etcétera, ¿vale? Tanto acceso al ecosistema completo de Python, lo que significa que puedes usar todas las bibliotecas como en un pie pandas, macro clip, etcétera, directamente en Moyo porque Moyo pertenece a todo el stack
de modular AI que permite
a los usuarios extender y personalizar el stack de adición de operaciones de pre
procesamiento post procesamiento y todos los
elementos que permiten bueno pues sacar
un mejor rendimiento sin tener que recopilar todo tu framework y todo tu desarrollo, o escribir código en C
más más para conseguir un buen rendimiento, ya no va a ser necesario ampliando la probabilidad para
ahorita de la inteligencia artificial, ya que según los creadores de el lenguaje Moyo, insisto entre ellos, Kirk Lander, nos aseguran que este lenguaje permite una extensibilidad y personalización nunca vista en el campo de
la inteligencia artificial. Permite extensiones igual que Swift y un montón de cosas muy interesantes de forma que permita a los desarrolladores científicos de datos, tienen un control mayor sobre cómo se construyen y optimizan sus modelos y algoritmos. Puntos serían estos, serían algunos puntos claves, que diferencian este nuevo lenguaje, ¿de acuerdo? Por lo tanto, pues hombre, la cosa pintada, interesante, ¿no? Básicamente, porque al final hay ciertas librerías como la mencionada Nunpai, que es una biblioteca de Python, que evoluciona soporte para trabajar con arreglos.
Enidimensionales los nd a raíz y funciones matemáticas de
alto nivel pues cuando yo hago cualquier tipo de implementación en un país lo primero
que me encuentro es pues eso, que Python pues que no tira, que no da, que que el lentico el muchacho, ¿vale? Entonces si yo puedo con un país hacer operaciones matemáticas básicas y avanzadas, funciones de álgebra lineal, transformadas de fugié, generación de números aleatorios, optimización de ejecución de operaciones matriciales
y vectoriales, y poder trabajar con todo esto, pues obviamente ¿Qué sucede? Que en un país una librería maravillosa, pero ¿qué sucede? Pues primero, que tiene una gran carga de
memoria porque va dentro de Pyton, que el rendimiento no es muy bueno porque bueno pues al final Tira de Python aunque por suerte se puede usar dentro de C más más y darle un poco más de
rendimiento, pero claro también tenemos el problema del paralelismo limitado, que tiene funciones paralelas integradas pero que es la capacidad que tienen para aprovechar ese paralelismo a nivel de hardware como múltiples núcleos es bastante limitada.
Por lo tanto al final pues bueno pues aunque sea una herramienta que funcione muy bien pues el propio el propio Python lo lastra en cierta manera y bueno pues en fin, es un poco tal, entonces qué pasa, que al final terminan por utilizar nunca y en programas te hice más más para mejorar
el rendimiento y bueno pues hacer que esto como Nunpai está implementado principalmente en Facebook fortrang, pues se consigue un mejor rendimiento sacando toda esa parte
de paitón puro para tareas de que sean más intensivas a nivel de computación, ¿vale? Entonces, en fin, no es lo más, como digo,
es muy versátil, esto nadie lo duda, pero es muy lento nada paralizado y luego tiene
el problema que hemos comentado de las distintas capas de inteligencia artificial, por lo que al final pues es un problema que en este sentido, parece con lo que nos han presentado que esta nueva, esta, podríamos llamar startup, presentada por Chris Lander que además ha tenido
un apoyo a muchos niveles muy grande sería una posible solución a este problema.
Y bueno, creo que ha sido intensidad la cosa, ¿no? La verdad que bueno, me ha costado bastante resumir todo lo que hemos ido viendo, también hay que entender que yo no soy un experto en Python, por lo tanto he tenido que consultar un montón de información, he tenido que documentarme bastante, he tenido que bueno pues para ser lo más fiel a lo que es bueno pues no contarles cosas que no tuviera en ningún sentido, ¿vale? Yo conozco Python, he trabajado con él, pero no soy ni mucho menos
un experto y por lo tanto hablar de un lenguaje en el que uno
no ex experto pues al final es un riesgo que bueno pues tienes que de alguna manera sopesar, ¿no? Y que tienes que documentarte bien, pues para no cometer errores, espero no haberlo cometido en esta recopilación de información, y sobre todo que les haya quedado claro todo lo que se propone, todos los cambios, los problemas actuales del desarrollo de la inteligencia artificial, y como modular AI esta compañía cofundada por estas dos personas, por Chris Lanner y Tim Davis, pues al final creo que esto puede llegar a algo bastante interesante. De hecho,
les informo, les comunico hasta ahora
no ha habido ningún lenguaje de programación más allá de swift, que me haya llamado la atención, que me haya despertado la curiosidad para aprender ni siquiera el propio Python, como ya les he comentado, no soy un experto en Python. Trabajaba, he trabajado en Cesar, he trabajado en Java, he trabajado en Java, he trabajado en Cotling, he trabajado en Python, he trabajado en infinidad de lenguajes, ¿de acuerdo? Pero
pues es que ninguno me
ha llamado especialmente la atención de lo que he probado y al final siempre he vuelto a swift porque swift es el lenguaje que me permite a día de hoy expresarme de la mejor manera y es el lenguaje que disfruto cuando desarrollo,
pero voy a darle una oportunidad a un hoyo, voy a intentar aprender este lenguaje ver sus posibilidades, insisto, un lenguaje que es una súper clase de Python. Es un lenguaje que está montado sobre el propio Python solucionando los problemas de infraestructura que tiene el propio lenguaje. Así que bueno pues ese sería un poco
la idea que tengo, poder aprender, Moyo el cual ahora mismo solo está disponible a través de un playground, a través de una invitación privada, ¿vale? Una invitación de acceso previo que pediré y bueno pues a ver si se me concede y puedo empezar a probarlo. Es un lenguaje que ahora mismo todavía, insisto, no está disponible, acaba
de ser presentado, ni siquiera
es código abierto tiene que ser terminado todavía para ser lanzado como
código abierto pero se ha hecho esta presentación para dar a conocer
a la comunidad esta, bueno pues, esta nueva iniciativa y sobre todo para conseguir apoyos de parte de distintas empresas y comunidad de bueno que tengan interés en poder trabajar con emo yo y en poder hacer de verdad esto etcétera, etcétera, etcétera y bueno pues tener aún más posibilidades así que en ese sentido yo después de nueve años sin aprender ningún nuevo lenguaje de programación. En profundidad creo que le voy a dar una oportunidad a este moño por todo lo que tiene porque insisto, paíton es un lenguaje que siempre me ha parecido bueno, que siempre me
ha gustado, pero que tiene las taras que hemos comentado y que me es lo que me ha echado para atrás para aprenderlo.
El hecho de, pues eso, de que no sea un tipado cien por ciento estricto que tenga los problemas de velocidad
que se ha interpretado etcétera es
lo que me ha echado para atrás entre otras muchas cosas como todo esto,
ahora se soluciona, vamos a darle una oportunidad a este nuevo hoyo basado en Python a ver qué tal funciona. Ya les contaré cuál es mi experiencia.
Y poco más, básicamente, como siempre puedes dar las gracias a todos aquellos que nos apoyan día a día, mes mes en las distintas plataformas gente que nos apoya como por ejemplo nuestros patriot en patrón punto com barra Apple Coding, donde tenemos a, pues bueno, a gente que nos está apoyando mes a mes y que pues está ahí, dándolo todo y consiguiendo pues que bueno podamos seguir haciendo estos programas y que bueno pues a día de hoy podamos seguir trabajando y dedicando el tiempo que podamos. El apoyo de esta gente más los patrocinios, las colaboraciones que tenemos en los distintos episodios y que nos permiten invertir en este tiempo con nuestros amigos, Eduardo Domínguez, Antonio J Pérez, Antonio Esposito, Miguel Pérez Carazón, Diego Goldan o Salvador Iglesias, y luego toda la gente que nos apoya en twitch y que está ahí en cada una de nuestros directos. En estos momentos hace dos semanas que no hago directos y de hecho habrán notado que durante todo el programa hay un pequeño sonido de eco en mi voz, porque estoy en una nueva habitación, en un nuevo despacho, nos hemos mudado a una nueva casa donde bueno pues tengo un despacho un poquito más grande que todavía está por amoblar, por lo tanto hemos tenido que suspender los directos de twitch llevamos dos semanas sin darlos primero porque estamos en mudanza, segundo porque no teníamos internet, ¿vale?
Porque nos ha dejado el operador de turno de fibra óptica sin internet durante más de una semana hasta que hemos tenido que coger el Vodafone Hogar 5G, esto es así, ¿vale? Aproveche, la coyuntura me acordé del producto porque yo mismo lo estaba anunciando y dije oye pues vamos a ver lo he pedido y la verdad que estoy súper contento vale es decir no es una fibra óptica son cien megas de bajada lo que da aproximadamente en mi caso con una conexión 4g plus pero
la verdad que estoy súper contento porque
tengo internet es una velocidad que me permite volver a dar clase que me permite tener reuniones que me permite hacer todo lo
que necesito y la verdad pues que
en ese sentido agradezco el poder haber resuelto este problema porque Sí espero a que el operador arregle la el problema que tengo, que es que el mi centralita de fibra está saturada, y tienen que ampliarla me pueden literalmente dar las uvas espero que no sea así por mi propio bien y por mi propia paz mental pero desde luego como empresa que trabaja online no viene nunca mal, nunca mal tener una conexión, digamos, de backup, ¿vale? Por lo tanto, en el momento en el que tenga fibra óptica, volveré a usar la fibra óptica pero si algún día el router explota o hay cualquier tipo de cosa rara o deja de funcionar, o se cae la fibra, o llega un, yo qué sé, un bicho y se come el cable yo, en en fin, mil cosas. Y te quedas sin internet pues en vez de estar vendido pues tienes ahí ese backup con ese Vodafone 5G que te ayuda y que luego pues oye no está nada mal pensado cuando te vas a vacaciones pues te lo lleves puesto vale en fin repito esto no es publicidad vale esto es mi experiencia personal que quiero transmitirles y qué bueno como pueden ver pues ahora mismo me oyen con un eco porque todavía no está totalmente decoradas, no está totalmente hecha la habitación, falta poner un montón de libros, de CDs, de tal, entonces cuando pongamos todo eso, pues el sonido de reverberación será inferior porque se irá placando vale aparte de que a lo mejor tengo que poner algunas placas de absorción de sonido por aquí vale es probable pero todo esto lo tengo que ir viendo poco a poco,
así que bueno pues ese es
un poco el tema vale por lo tanto llevamos dos semanas sin directos de tweets no sé si esta semana volverá a ver, pero desde luego estamos preparándolo todo porque sí va a haber una gran cobertura de la WWC, en la cual les espero si quieren ver la WWC con nosotros, les esperamos en twitch punto tv barra Apple Coding, donde estaremos con nuestro compañero y amigo Arturo Rivas, con también con nuestro compañero y amigo, Libernavani, con muchos invitados especiales, que nos hablarán de lo que Apple lance de esas famosas lentes esperamos de este nuevo ARK, de este nuevo sistema operativo XROS, un montón de cosas, de ver qué hace papel en inteligencia artificial que puede ser muy interesante y bueno pues todo esto lo comentaremos en directo en twitch punto tv barra Apple Coding, un canal de twitch completamente gratuito donde no tienen que pagar ni nada para poder vernos, pueden entrar, nos ven, único que pasa es pues que un par de veces cada hora, de hecho creo que son un minuto cada hora, pues ponen un par de anuncios, vale. Simplemente, como si fuera YouTube, bueno YouTube pone muchos más anuncios ¿de acuerdo? Entonces bueno pues ese sería un poco el precio entre comillas ¿vale?
Es decir, tienen que haber algún anuncio y si se suscriben pues ya no ven anuncios vale y pueden suscribirse de forma gratuita con su suscripción de Amazon Prime que tengan en ese sentido, así que pues esto es, vamos, mejor imposible. Pues nada, poco más, no me enrollo mucho más, muchísimas gracias a todos por estar ahí, espero que les haya gustado el programa, espero que les haya quedado todo mucho más claro y no oímos pronto si Jobs quiere. Hasta entonces Un saludo y goal, Applecoden.
Gracias por escuchar, Apple Coding. Un podcast perteneciente a la red independiente de podcast Cuonda. Suscríbete en wonda.comapellido. Oséganos en nuestras redes sociales.
Puedes escuchar más episodios de Apple Godín en Cuanda.com descubre nuevos podcasts en Wanda.com, la comunidad de podcasts independientes en español.