
﻿WEBVTT
Kind: captions
Language: es

00:00:05.000 --> 00:00:08.000
Wanda, la comunidad de podcast independientes en español.

00:00:08.000 --> 00:00:14.000
Hola y bienvenidos a un nuevo episodio de Apple Coding Daily.

00:00:15.000 --> 00:00:20.000
Si hablamos de GPT, sabemos de lo que estamos hablando.

00:00:20.000 --> 00:00:23.000
Hablamos de inteligencia artificial, de IA generativa.

00:00:24.000 --> 00:00:32.000
De hecho, hace prácticamente pocos días se han cumplido un año, tiene un añito el servicio de ChatGPT.

00:00:32.000 --> 00:00:36.000
Como hemos hablado en muchas ocasiones, ChatGPT es un servicio que está

00:00:36.000 --> 00:00:40.000
utilizando, cuando salió estaba utilizando un modelo denominado GPT tres

00:00:40.000 --> 00:00:44.000
punto cinco, un modelo que, a su vez, era la evolución de GPT tres

00:00:44.000 --> 00:00:51.000
lanzado en en el año dos mil veintiuno.

00:00:52.000 --> 00:00:56.000
Por lo tanto, Open AI lleva desde dos mil dieciocho trabajando en estos

00:00:56.000 --> 00:01:00.000
modelos generativos de texto, basado en lo que es el paper que lanzó

00:01:00.000 --> 00:01:04.000
Google DeepMind en dos mil diecisiete, donde exploraba, donde lanzaba,

00:01:04.000 --> 00:01:08.000
donde presentaba el mundo concepto de los transformers, ¿qué es lo que

00:01:08.000 --> 00:01:14.000
hace que todo esto funcione?

00:01:15.000 --> 00:01:18.000
Si queréis saber más sobre en detalle sobre cómo funciona todo esto,

00:01:18.000 --> 00:01:21.000
tengo un episodio en el podcast Apple Coding, donde cuento la historia de

00:01:21.000 --> 00:01:24.000
OpenAI y donde explico de dónde vienen los modelos generativos de texto

00:01:24.000 --> 00:01:30.000
que estamos utilizando a día de hoy y cómo funcionan en profundidad.

00:01:31.000 --> 00:01:34.000
Aquí, lógicamente, por tiempo no podemos entrar en el detalle, pero lo

00:01:34.000 --> 00:01:37.000
que sí quiero que veamos es un tema que de nuevo, Apple ha puesto una

00:01:37.000 --> 00:01:42.000
solución encima de la mesa.

00:01:42.000 --> 00:01:46.000
Apple acaba de lanzar un paper que propone una solución muy importante

00:01:46.000 --> 00:01:50.000
para reducir la cantidad de recursos necesarios para poder ejecutar los

00:01:50.000 --> 00:01:54.000
grandes modelos de lenguaje que a día de hoy tenemos para, en fin, tipo

00:01:54.000 --> 00:01:58.000
GPT y otros que están apareciendo de código abierto y algunos

00:01:58.000 --> 00:02:06.000
propietarios, etcétera.

00:02:06.000 --> 00:02:07.000
Vamos a ver.

00:02:20.000 --> 00:02:22.000
Disculpe, señor Ramírez, tienes un momento.

00:02:22.000 --> 00:02:23.000
Sí, claro.

00:02:23.000 --> 00:02:24.000
Pasa, pasa, pase, cierra.

00:02:24.000 --> 00:02:26.000
¿En qué puedo ayudarte?

00:02:26.000 --> 00:02:34.000
Vala, es que ella lleva unos años en esta Presa, pero sigo siendo Junior y me preguntaba, ¿cuándo seré seño?

00:02:35.000 --> 00:02:37.000
A ver, Paco, ¿cómo te explico este homion?

00:02:38.000 --> 00:02:46.000
Seño, En esta empresa es un sentimiento, es algo que se arraiga en el alma y en tu forma de sentir la vida.

00:02:48.000 --> 00:02:51.000
Es tener conocimiento para volar más harto.

00:02:51.000 --> 00:02:53.000
¿Y cómo vuelo más alto?

00:02:53.000 --> 00:02:55.000
Paquito hijo, tú tienes estudio.

00:02:55.000 --> 00:02:58.000
Sabes que debes conocer, pases en el día.

00:02:58.000 --> 00:03:01.000
Anda, a ver aquí, toma, Estudiante, mira.

00:03:01.000 --> 00:03:09.000
You haikil, zuel yuan, T del del, esto de servidores que no sé qué pone vapor de agua o algo así, no sé, esto también.

00:03:09.000 --> 00:03:12.000
Arquitectura, esto es muy importante por aquí, muy importante.

00:03:13.000 --> 00:03:14.000
Seguridad que no tenemos lío, ¿ah?

00:03:14.000 --> 00:03:18.000
¿Y tú sabes qué es eso de la realidad, Armenta?

00:03:18.000 --> 00:03:19.000
de los Pokémon, ¿no?

00:03:19.000 --> 00:03:22.000
Que los cazaba En la calle, ¿no?

00:03:22.000 --> 00:03:23.000
Muy bien, pues, vale.

00:03:23.000 --> 00:03:28.000
También es Vice un Frog, que nos va a venir bien para proyecto y alguien tiene que hacerlo.

00:03:38.000 --> 00:03:43.000
Estos niños que hay que llevarlos de la manita, es que no me crecen y no me crecen.

00:03:43.000 --> 00:03:44.000
Ay, qué disgusto.

00:03:48.000 --> 00:03:50.000
No, esta no es la empresa ideal, ¿verdad?

00:03:50.000 --> 00:03:54.000
Pero al menos el señor Ramírez tenía razón en algo, aunque sea de casualidad.

00:03:55.000 --> 00:04:02.000
El conocimiento es lo que te abrirá las puertas para mejorar en tu carrera profesional, conocimiento y experiencia.

00:04:03.000 --> 00:04:07.000
¿Quieres avanzar en tu carrera profesional apostando por el desarrollo móvil en entornos Apple?

00:04:07.000 --> 00:04:10.000
En Apple Coding Academy tenemos lo que estás buscando.

00:04:10.000 --> 00:04:14.000
Presentamos la cuarta edición de nuestro Swift Full Stack Bootcamp, un

00:04:14.000 --> 00:04:18.000
bootcamp diseñado para convertir a cualquier desarrollador, Sea cual sea

00:04:18.000 --> 00:04:22.000
la tecnología o lenguaje donde trabaje, en un senior iOS Developer con

00:04:22.000 --> 00:04:26.000
conocimiento en todo lo que en cualquier empresa o consultora piden, O lo

00:04:26.000 --> 00:04:32.000
que necesitas para montarte por tu cuenta si quieres trabajar por ti mismo.

00:04:32.000 --> 00:04:38.000
En el Swift full Stav bootcamp encontrarás Swift como elemento común a todo el Desarrollo y la formación.

00:04:38.000 --> 00:04:42.000
A partir de ahí aprenderás concurrencia de procesos, asincronía,

00:04:42.000 --> 00:04:46.000
arquitectura de proyectos para que ninguna combinación, sea cual sea, se te resista.

00:04:46.000 --> 00:04:50.000
Todo ello, por supuesto, aprendiendo UIKER y SWIFT UI al completo.

00:04:50.000 --> 00:04:54.000
Cómo aplicar test y una aproximación basada en TDD cien por cien,

00:04:54.000 --> 00:04:58.000
Seguridad, desarrollo del lado servidor, machine learning y, por supuesto,

00:04:58.000 --> 00:05:02.000
todo un módulo dedicado al próximo paso en el desarrollo en entornos

00:05:02.000 --> 00:05:06.000
Apple, Apple Vision Pro y Vision OS, un bootcamp único pensado tanto para

00:05:06.000 --> 00:05:10.000
desarrolladores en otras tecnologías, junior o senior, Que quieran

00:05:10.000 --> 00:05:14.000
reinventarse y dar un cambio en sus vidas hacia el muy demandado sector

00:05:14.000 --> 00:05:18.000
del desarrollo en entornos Apple o para aquellos desarrolladores Que ya

00:05:18.000 --> 00:05:22.000
trabajen con Apple, pero quieran especializarse y cubrir todas las lagunas

00:05:22.000 --> 00:05:26.000
que puedan llegar a tener o ponerse al día con las últimas novedades Y

00:05:26.000 --> 00:05:30.000
actualizaciones para iOS diecisiete y el resto de sistemas lanzados por

00:05:30.000 --> 00:05:35.000
Apple en el año dos mil veintitrés.

00:05:35.000 --> 00:05:39.000
Tienes toda la información en nuestra web, Acoding punto academy barra

00:05:39.000 --> 00:05:43.000
bootcamp, y descubre las distintas formas de financiación hasta en

00:05:43.000 --> 00:05:47.000
treinta y seis meses o, incluso, En doce meses sin intereses, nunca ha

00:05:47.000 --> 00:05:53.000
sido más fácil apostar por invertir en ti mismo para llegar más lejos.

00:05:53.000 --> 00:05:58.000
Da el paso y apuesta por tu formación, apuesta por ti, por ese senior IOS

00:05:58.000 --> 00:06:03.000
developer que llevas dentro y que encontrarás en el Swift food stack

00:06:03.000 --> 00:06:08.000
bootcamp de Apple Coding Academy.

00:06:23.000 --> 00:06:30.000
Actualmente, la inteligencia artificial tiene un problema bastante grande a nivel de recursos necesarios.

00:06:30.000 --> 00:06:41.000
Por ejemplo, se sobreentiende que modelos pequeños, modelos que tampoco tienen mucho peso, pues pueden ser ejecutados en local.

00:06:41.000 --> 00:06:45.000
Yo puedo, en mi móvil, tener un modelo entrenado que sea capaz de

00:06:45.000 --> 00:06:49.000
etiquetar imágenes, de reconocer sonidos, de reconocer patrones de

00:06:49.000 --> 00:06:53.000
movimiento, es lo que hace, por ejemplo, que en el Apple Watch me

00:06:53.000 --> 00:06:57.000
reconozca que me estoy lavando las manos, aunque a veces lo confunde

00:06:57.000 --> 00:07:01.000
cuando frigo los platos, en fin, Tenemos distintas posibilidades de uso de

00:07:01.000 --> 00:07:05.000
modelos de Deep Learning, pero lo más importante es que, para poder

00:07:05.000 --> 00:07:09.000
ejecutar un modelo entrenado, yo necesito cargar el completo del modelo en

00:07:09.000 --> 00:07:13.000
memoria, y esto es clave para que entendamos el actual problema que tiene

00:07:13.000 --> 00:07:18.000
la IA generativa.

00:07:18.000 --> 00:07:23.000
Por ejemplo, vamos a poner un modelo básico, un modelo como Whisper.

00:07:23.000 --> 00:07:27.000
Whisper es un modelo abierto de OpenAI permite la transcripción de voz a

00:07:27.000 --> 00:07:31.000
texto, un modelo que realmente tiene una eficiencia increíble, que

00:07:31.000 --> 00:07:35.000
funciona a nivel de multiidioma y que es capaz de hacer un montón de

00:07:35.000 --> 00:07:39.000
cosas, pero si hemos explorado un poco el mundo de la inteligencia

00:07:39.000 --> 00:07:43.000
artificial generativa Para ejecutar, para poder usarlo de manera local en

00:07:43.000 --> 00:07:47.000
nuestra máquina, lo primero que habremos visto es que tenemos distintas

00:07:47.000 --> 00:07:54.000
versiones de los distintos modelos.

00:07:54.000 --> 00:07:57.000
Si yo quiero utilizar Whisper, tengo un modelo Whisper base que ocupa

00:07:57.000 --> 00:08:00.000
quinientos megas, tengo un modelo Whisper un poquito más avanzado que

00:08:00.000 --> 00:08:03.000
ocupa cerca del giga, Y luego tengo el modelo large, que viene a ocupar

00:08:03.000 --> 00:08:08.000
unos tres gigas y pico.

00:08:08.000 --> 00:08:11.000
¿Qué diferencia hay entre uno y otro?

00:08:11.000 --> 00:08:15.000
Porque pasa igual, por ejemplo, con los modelos de stable difusion, que es

00:08:15.000 --> 00:08:19.000
la lo que es el modelo abierto de generación de imágenes que permite,

00:08:19.000 --> 00:08:24.000
pues, generar imágenes a partir de proms de texto.

00:08:24.000 --> 00:08:27.000
Stable Diffusion tiene una versión grande que ocupa seis siete gigas, pero

00:08:27.000 --> 00:08:30.000
luego tiene otras un poquito más pequeñas, ocupan tres, dos, incluso una

00:08:30.000 --> 00:08:35.000
de menos de un giga.

00:08:36.000 --> 00:08:42.000
De hecho, Google acaba de lanzar, Presentó hace muy pocos días el nuevo modelo Geminay.

00:08:43.000 --> 00:08:47.000
Geminay es un modelo que sustituye al anterior modelo Palm, que es el que

00:08:47.000 --> 00:08:51.000
daba servicio a su servicio Google Bart, que lo que hace es sustituir a

00:08:51.000 --> 00:08:56.000
este por un modelo mucho más eficiente.

00:08:56.000 --> 00:08:59.000
Yemini va a tener tres versiones.

00:08:59.000 --> 00:09:09.000
Actualmente hemos visto Yemini Pro, que es la que está lanzada, El el año que viene tendremos Gemini Ultra y también vamos a tener un Gemini Nano.

00:09:09.000 --> 00:09:12.000
Gemini Nano es un modelo que está pensado para ser cargado En local en los

00:09:12.000 --> 00:09:15.000
móviles Android de la propia Google, en los Google Pixel, de forma que es

00:09:15.000 --> 00:09:20.000
un modelo que es más pequeñito.

00:09:21.000 --> 00:09:27.000
Gemini Nano es un modelo de menos de un giga de memoria que es capaz de ser cargado y utilizado en los móviles.

00:09:27.000 --> 00:09:30.000
De igual manera, Gemini Pro es un modelo que ocupa mucho más y necesita

00:09:30.000 --> 00:09:33.000
ser utilizado en la nube, y Gemini Ultra será un modelo muy grande, como

00:09:33.000 --> 00:09:38.000
GPT cuatro, que ocupará bastante.

00:09:39.000 --> 00:09:42.000
Entonces, ¿por qué tenemos estas diferencias de tamaños?

00:09:42.000 --> 00:09:45.000
Las tenemos a nivel de Dos parámetros importantes.

00:09:46.000 --> 00:09:53.000
Uno es la cantidad de información con la que han sido entrenados, con el número de parámetros con el que se entrenan.

00:09:53.000 --> 00:09:57.000
Los modelos más pequeños se entrenan con menos datos, son menos

00:09:57.000 --> 00:10:01.000
eficientes, son menos están más limitados a ciertas funcionalidades muy

00:10:01.000 --> 00:10:05.000
concretas Y, por lo tanto, no son tan de uso general o no tienen tanto

00:10:05.000 --> 00:10:11.000
conocimiento como modelos que sean más grandes.

00:10:11.000 --> 00:10:17.000
Es como si yo tengo un disco duro con menos información, pues obviamente, pues podré hacer menos cosas, ¿vale?

00:10:17.000 --> 00:10:25.000
Si yo tengo un modelo entrenado con menos imágenes, ocupará menos, pero no será tan bueno reconociendo dichas imágenes, esto lo tenemos claro.

00:10:26.000 --> 00:10:36.000
El siguiente nivel, en el que podemos hablar de reducción de tamaños, es el que denominamos como la cuantización de los modelos.

00:10:37.000 --> 00:10:43.000
La cuantización viene a ser algo muy parecido a lo que hacía el, lo que hacía un fichero de audio mp tres.

00:10:43.000 --> 00:10:53.000
Un mp tres lo que hace básicamente es eliminar información de audio que supuestamente los otros no escuchamos, ¿de acuerdo?

00:10:53.000 --> 00:10:58.000
Por lo tanto, cuanta más información se elimina de la onda que nosotros

00:10:58.000 --> 00:11:03.000
no escuchamos y se cuantizan los datos para que ocupen menos, eliminando

00:11:03.000 --> 00:11:08.000
información supuestamente innecesaria o información que tal vez es

00:11:08.000 --> 00:11:13.000
necesaria, pero que, Digamos que el resultado final que se obtiene no

00:11:13.000 --> 00:11:18.000
está perjudicando en demasiado el resultado final.

00:11:18.000 --> 00:11:22.000
Si yo, para obtener una calidad de audio que esté aquí, necesito

00:11:22.000 --> 00:11:26.000
dieciséis datos, pero teniendo solo diez datos puedo obtener una calidad

00:11:26.000 --> 00:11:30.000
aquí, que es un poco más baja, pero la diferencia entre esta y esta,

00:11:30.000 --> 00:11:34.000
prácticamente es inapreciable o la mayoría de la gente ni siquiera se va

00:11:34.000 --> 00:11:38.000
a dar cuenta, me puedo permitir, en vez de usar esto, usar esto y me

00:11:38.000 --> 00:11:47.000
ahorro seis Elementos completos, ¿vale?

00:11:47.000 --> 00:11:49.000
Entonces, ese es el concepto de la cuantización.

00:11:50.000 --> 00:11:54.000
La cuantización lo que hace es eliminar, A base de un análisis, ciertos

00:11:54.000 --> 00:11:58.000
nodos que se consideren repetidos, pero también lo que hace es reducir la

00:11:58.000 --> 00:12:02.000
precisión de bits De el modelo.

00:12:03.000 --> 00:12:07.000
Yo puedo tener un modelo un modelo que esté a treinta y dos bits, por lo

00:12:07.000 --> 00:12:11.000
tanto, los valores con lo que se con los que se está trabajando son de

00:12:11.000 --> 00:12:15.000
ese tamaño, pero puedo reducirlo a dieciséis, a ocho, a cuatro bits, por

00:12:15.000 --> 00:12:19.000
lo tanto, La representación máxima de valores que puede tener ese modelo

00:12:19.000 --> 00:12:23.000
se va a reducir.

00:12:23.000 --> 00:12:27.000
Si yo puedo tener un modelo a dieciséis bits, quiere decir que puede

00:12:27.000 --> 00:12:31.000
representar toda la información con valores entre cero y sesenta y cinco

00:12:31.000 --> 00:12:35.000
mil quinientos treinta y cinco, pero si lo reduzco a ocho bits, Entonces,

00:12:35.000 --> 00:12:39.000
solo puede representar la información con valores entre cero y doscientos

00:12:39.000 --> 00:12:43.000
cincuenta y cinco, por lo que la cantidad de Rango de posibles números

00:12:43.000 --> 00:12:47.000
que puedo utilizar para representar la información que quiero representar

00:12:47.000 --> 00:12:51.000
en los modelos Va a ser menor, por lo que la precisión del modelo va a

00:12:51.000 --> 00:12:58.000
ser menor, su eficiencia va a ser menor y también, obviamente, ocupará menos.

00:12:58.000 --> 00:13:02.000
Si yo, Al cuantizar un modelo de dieciséis bits a ocho, puedo obtener unos

00:13:02.000 --> 00:13:06.000
resultados que en el modelo de dieciséis están en un noventa por ciento

00:13:06.000 --> 00:13:10.000
de eficiencia y en el de ocho están en un ochenta y dos, pues oye, a lo

00:13:10.000 --> 00:13:14.000
mejor me merece la pena sacrificar ese ocho por ciento de eficiencia En

00:13:14.000 --> 00:13:18.000
los resultados finales, si por el camino me he ahorrado la mitad espacio

00:13:18.000 --> 00:13:22.000
de lo que ocupa el modelo.

00:13:22.000 --> 00:13:24.000
Ese es el concepto de la cuantización.

00:13:24.000 --> 00:13:28.000
Para que nos hagamos una idea, a día de hoy hay varios modelos que están

00:13:28.000 --> 00:13:32.000
intentando, de alguna forma, competir con OpenAI, pero no los engañemos,

00:13:32.000 --> 00:13:36.000
OpenAI está muy lejos del resto de la industria, del resto de la

00:13:36.000 --> 00:13:43.000
industria porque GPT cuatro es inalcanzable para nadie.

00:13:43.000 --> 00:13:48.000
A día de hoy hay varios hay varios test orgánicos que permiten validar la

00:13:48.000 --> 00:13:53.000
eficiencia en ciertas operaciones de un modelo generativo de texto de un

00:13:53.000 --> 00:13:58.000
elemento que se llama LLM, que es el concepto general, ¿vale?

00:13:58.000 --> 00:14:00.000
Pues este LLM se puede validar.

00:14:01.000 --> 00:14:06.000
GBT cuatro está muy por encima de cualquiera de los otros modelos que

00:14:06.000 --> 00:14:11.000
actualmente están disponibles, como Llama, como Mistral, como GeminiPro, etcétera.

00:14:11.000 --> 00:14:16.000
Todos estos modelos, los que están saliendo ahora, son capaces de alcanzar

00:14:16.000 --> 00:14:21.000
en algunas de las de los valores medidos, a GPT tres punto cinco, por lo

00:14:21.000 --> 00:14:26.000
que digamos que Toda la industria que está alrededor de OpenAI e intenta

00:14:26.000 --> 00:14:31.000
competir con ellos está a punto, o está consiguiendo, Acercarse a GPT

00:14:31.000 --> 00:14:36.000
tres punto cinco, que es como OpenEA y estaba en dos mil veintiuno, no

00:14:36.000 --> 00:14:41.000
ahora, que estamos a punto de entrar a dos mil veinticuatro.

00:14:41.000 --> 00:14:45.000
Esto, básicamente, nos recuerda lo que sucedió cuando Apple presentó en

00:14:45.000 --> 00:14:49.000
dos mil siete el iPhone y Android no fue capaz de ponerse a su nivel hasta

00:14:49.000 --> 00:14:54.000
muchos años después, Porque aparte Apple iba avanzando, lógicamente.

00:14:54.000 --> 00:14:59.000
Entonces, ahora está pasando lo mismo y, de hecho, es probable que con Apple pase igual.

00:14:59.000 --> 00:15:02.000
Cuando Apple lance sus modelos generativos, no esperemos que sean igual de

00:15:02.000 --> 00:15:05.000
buenos que GPT cuatro, porque, obviamente, OpenAI tiene una ventaja

00:15:05.000 --> 00:15:08.000
competitiva con respecto al resto de compañías que el resto de

00:15:08.000 --> 00:15:13.000
compañías tienen que alcanzarlas, incluida APE.

00:15:13.000 --> 00:15:17.000
Bien, pues aquí, volviendo un poco, habiéndonos puesto en situación,

00:15:17.000 --> 00:15:21.000
Tenemos que entender una cosa muy importante, y es que vamos a coger como

00:15:21.000 --> 00:15:25.000
ejemplo un modelo abierto que ha salido hace poco Y que realmente está

00:15:25.000 --> 00:15:29.000
dando unos resultados muy buenos y está haciendo que la comunidad, pues,

00:15:29.000 --> 00:15:33.000
esté bastante ilusionada con las posibilidades de ejecutar un modelo que

00:15:33.000 --> 00:15:37.000
está directamente, bueno, pues, en fin, un modelo de lenguaje que se

00:15:37.000 --> 00:15:41.000
puede ejecutar en local.

00:15:42.000 --> 00:15:45.000
Estamos hablando de Mixtral, ¿vale?

00:15:45.000 --> 00:15:50.000
Mixtral, hay un modelo que se llama Mistral y este Mixtral lo que hace es

00:15:50.000 --> 00:15:55.000
una versión del propio Mistral, lo que hace básicamente es que en vez de

00:15:55.000 --> 00:16:00.000
tener un única, digamos, una única fuente de datos, tiene como varios

00:16:00.000 --> 00:16:05.000
expertos que se interlazan dentro de el total de parámetros consiguiendo

00:16:05.000 --> 00:16:10.000
un modelo de unos cuarenta y cinco mil millones de parámetros en su entrenamiento.

00:16:11.000 --> 00:16:16.000
Ojo, porque GPT tres, GPT tres Tiene ciento setenta y cinco mil millones de

00:16:16.000 --> 00:16:21.000
parámetros, este dato se conoce, y estamos hablando de un modelo que lo

00:16:21.000 --> 00:16:26.000
alcanza en las pruebas que se han hecho con cuarenta y cinco mil millones

00:16:26.000 --> 00:16:31.000
de parámetros, haciendo una mezcla, por eso se llama mixtral, De ocho

00:16:31.000 --> 00:16:36.000
modelos expertos que se intercomunican dentro del propio modelo en sí

00:16:36.000 --> 00:16:41.000
para proporcionarse cierta información y conseguir un resultado final.

00:16:41.000 --> 00:16:45.000
No es como, En vez de tener un único modelo, es como tener ocho modelos interconectados.

00:16:46.000 --> 00:16:51.000
Mixtral es un modelo que, en el modelo que se está trabajando a día de

00:16:51.000 --> 00:16:56.000
hoy, ocupa cuarenta y cinco gigas, cuarenta y cinco gigas, cuando está

00:16:56.000 --> 00:17:01.000
cuantizado a ocho bits, porque si usamos el que está a dieciséis bits,

00:17:01.000 --> 00:17:07.000
que tiene más precisión, estamos hablando de noventa y un gigas.

00:17:08.000 --> 00:17:13.000
Porque una cosa es, también luego el modelo ocupa algo menos en disco,

00:17:13.000 --> 00:17:18.000
pero, y aquí vamos al problema principal, Cuando yo necesito, como he

00:17:18.000 --> 00:17:23.000
dicho al principio, usar un modelo entrenado, tengo que cargarlo entero en

00:17:23.000 --> 00:17:28.000
memoria, Por lo que Mixtral en dieciséis bits solo puede ser probado en

00:17:28.000 --> 00:17:34.000
máquinas que tengan al menos ciento veintiocho gigas de RAM.

00:17:36.000 --> 00:17:45.000
En fin, como ustedes entenderán, esto es algo que está bastante alejado de la media de usuarios del mundo informático.

00:17:45.000 --> 00:17:50.000
Este es el motivo por el que, a día de hoy, toda la guía generativa

00:17:50.000 --> 00:17:55.000
funciona en la nube, prácticamente toda, salvo ciertos modelos que están

00:17:55.000 --> 00:18:00.000
muy bien cuantizados y que solo necesitan cinco, seis, tres, diez, veinte

00:18:00.000 --> 00:18:05.000
gigas de memoria en equipos que lo pueden permitir.

00:18:06.000 --> 00:18:09.000
Entonces, claro, imagínense lo que es tener este modelo de dieciséis bits.

00:18:09.000 --> 00:18:13.000
Por ejemplo, Apple tiene una implementación de Mixtral que permite

00:18:13.000 --> 00:18:17.000
ejecutarse a través de la librería MLX, que es una librería de la que

00:18:17.000 --> 00:18:21.000
ya hablamos En un episodio anterior, que es la que permite ejecutar todos

00:18:21.000 --> 00:18:25.000
los modelos actuales basados en NumPy, en la librería Python de cálculo

00:18:25.000 --> 00:18:29.000
de arrays, cálculo computacional, pues esa librería, bueno, el episodio

00:18:29.000 --> 00:18:33.000
lo dejo por aquí por si quieren verlo y refrescarse la memoria, Tienen

00:18:33.000 --> 00:18:37.000
una versión de MLX en el que con tres líneas tenemos ejecutado Mixtral,

00:18:37.000 --> 00:18:41.000
pero claro, necesitamos cuarenta y ocho gigas de RAM para que aquello

00:18:41.000 --> 00:18:47.000
arranque, ¿de acuerdo?

00:18:47.000 --> 00:18:50.000
Algo entre cuarenta y cinco y cincuenta gigas de RAM para que aquello

00:18:50.000 --> 00:18:53.000
arranque en el modelo, repito, cuantizado de ocho bits, no el modelo

00:18:53.000 --> 00:18:57.000
completo que ocupa Noventa y tantos, ¿vale?

00:18:57.000 --> 00:19:01.000
Que también hay por ahí una demo que permite, pero claro, hay que tener

00:19:01.000 --> 00:19:05.000
un M dos Ultra con ciento veintiocho gigas de RAM, que yo creo que esto no

00:19:05.000 --> 00:19:10.000
lo tiene el el el común de los mortales no tiene acceso a ese tipo de equipos.

00:19:11.000 --> 00:19:14.000
Entonces, ese es el motivo por el que la gran mayoría de inteligencia

00:19:14.000 --> 00:19:17.000
artificial generativa Se ejecuta en la nube porque es imposible, es muy

00:19:17.000 --> 00:19:20.000
complicado que en local la gente pueda tener tal cantidad de RAM

00:19:20.000 --> 00:19:24.000
disponible para poder ejecutar estos modelos.

00:19:24.000 --> 00:19:35.000
Pues bien, buscando la solución de dicha problemática, Apple acaba de presentar un paper que Intenta solucionar este problema.

00:19:36.000 --> 00:19:46.000
Es un paper llamado LLM in a Flash, inferencia de modelos de lenguaje grandes de manera eficiente.

00:19:47.000 --> 00:19:52.000
Es una forma, es una propuesta de, una propuesta técnica en la que lo que

00:19:52.000 --> 00:19:57.000
hace, lo que Apple hace es proponer una manera de poder no, para no

00:19:57.000 --> 00:20:02.000
necesitar cargar todo el modelo dentro de la memoria, sino que podamos

00:20:02.000 --> 00:20:07.000
tener, y esta primera aproximación están al cincuenta por ciento que la

00:20:07.000 --> 00:20:12.000
mitad del modelo pueda estar en disco, en una memoria flash, la que tiene

00:20:12.000 --> 00:20:17.000
cualquier Mac, y la otra mitad sí necesita estar cargado en memoria, por

00:20:17.000 --> 00:20:22.000
lo que entonces Podríamos ejecutar modelos de guía generativa que no

00:20:22.000 --> 00:20:28.000
cupieran en nuestra RAM.

00:20:28.000 --> 00:20:32.000
Si yo quiero ejecutar un huésped que ocupa cuatro gigas, pues solo

00:20:32.000 --> 00:20:36.000
necesitaría dos gigas para poder ejecutar ese modelo, los otros dos

00:20:36.000 --> 00:20:42.000
Podrían estar directamente guardados en disco.

00:20:42.000 --> 00:20:46.000
De igual manera, si yo quiero ejecutar un modelo como este mixtral De

00:20:46.000 --> 00:20:50.000
cuarenta y ocho gigas, pues podría ejecutarlo en una máquina que tuviera

00:20:50.000 --> 00:20:54.000
solo veinticuatro, solo veinticuatro.

00:20:55.000 --> 00:20:59.000
Apple propone esto como una primera aproximación, como un punto de inicio,

00:20:59.000 --> 00:21:03.000
para empezar a investigar al respecto Y poder conseguir que solo las

00:21:03.000 --> 00:21:07.000
partes necesarias para ciertos cálculos en ciertos momentos sean

00:21:07.000 --> 00:21:11.000
necesarios que estén en memoria Y el resto de elementos puedan estar en

00:21:11.000 --> 00:21:15.000
disco y se pueda cargar y descargar dinámicamente de la memoria la

00:21:15.000 --> 00:21:19.000
información del modelo, Según este, se va infiriendo, se va ejecutando

00:21:19.000 --> 00:21:26.000
sobre el motor neural para así optimizar y que no se necesite tanta memoria RAM.

00:21:27.000 --> 00:21:31.000
Esto permitiría, obviamente, poder ejecutar modelos mucho más precisos en

00:21:31.000 --> 00:21:35.000
dispositivos que no tengan tanta memoria Y, por lo tanto, llegar a lo que

00:21:35.000 --> 00:21:39.000
Apple pretende, que es que toda la IEA se pueda ejecutar, como ha hecho

00:21:39.000 --> 00:21:43.000
Apple hasta ahora, En local en los dispositivos usando el motor neural,

00:21:43.000 --> 00:21:47.000
que no haya que usar la nube, porque la nube, como hemos dicho muchas

00:21:47.000 --> 00:21:51.000
veces, es el ordenador de otro, por lo que yo le estoy cediendo mi

00:21:51.000 --> 00:21:55.000
información a otro y no me hace mucha gracia en muchas ocasiones, Porque

00:21:55.000 --> 00:21:59.000
sí, Google me promete que no va a hacer nada y que es solo para mejorar

00:21:59.000 --> 00:22:04.000
servicios, Open AI que tiene detrás a Microsoft, etcétera.

00:22:04.000 --> 00:22:08.000
Pero la realidad es que yo estoy cediendo mis datos y que esos datos pueden

00:22:08.000 --> 00:22:12.000
ser usados para reentrenar los modelos, por lo que, En fin, si hay ahí

00:22:12.000 --> 00:22:16.000
cosas de propiedad industrial, cosas que sean secreto industrial, cosas

00:22:16.000 --> 00:22:20.000
que sean de, pues oye, a lo mejor a mí no me apetece que mis datos de mi

00:22:20.000 --> 00:22:26.000
empresa o de mis investigaciones o de mi trabajo puedan estar disponibles ahí también.

00:22:26.000 --> 00:22:32.000
Entonces, una cosa muy importante es la privacidad, que es en lo que Apple trabaja mucho.

00:22:33.000 --> 00:22:37.000
Pues bien, esta sería una, no una solución, este sería un primer paso

00:22:37.000 --> 00:22:41.000
hacia una solución que permitiría una manera más eficiente de ejecutar,

00:22:41.000 --> 00:22:45.000
de inferir los modelos entrenados.

00:22:45.000 --> 00:22:53.000
Lo que Apple propone son dos soluciones que se complementan la una con la otra, una de ellas llamada el windowing.

00:22:53.000 --> 00:22:57.000
El windowing, básicamente, Es una manera a través de la cual Apple

00:22:57.000 --> 00:23:01.000
consigue que, en vez de tener que ver todo el modelo a la vez para poder

00:23:01.000 --> 00:23:05.000
inferirlo y por lo tanto necesitar cargarlo entero en memoria, ha

00:23:05.000 --> 00:23:09.000
conseguido una técnica a partir de la cual solo necesito ver la parte

00:23:09.000 --> 00:23:13.000
exacta de la red neuronal que se está ejecutando y, por lo tanto, solo

00:23:13.000 --> 00:23:22.000
necesito ver una parte de ese modelo, que es la que yo voy a tener en memoria.

00:23:23.000 --> 00:23:26.000
El sistema estaría calculando de forma continua qué partes del modelo

00:23:26.000 --> 00:23:29.000
necesita para ir ejecutándolo Y a través de otra de las técnicas, que

00:23:29.000 --> 00:23:32.000
sería la carga dinámica de filas y columnas, podría ir cargando los

00:23:32.000 --> 00:23:35.000
elementos desde disco En grupos de necesidad, es decir, lo que hace es

00:23:35.000 --> 00:23:38.000
previamente analizar el modelo, comprobar qué partes de las de los

00:23:38.000 --> 00:23:41.000
perceptrón, ¿qué parte de la red neuronal sería necesaria e ir

00:23:41.000 --> 00:23:44.000
cargándola por grupos a través de de otra de, como digo, esta nueva

00:23:44.000 --> 00:23:47.000
técnica de filas y columnas, que permitiría ir cargando por grupos

00:23:47.000 --> 00:23:50.000
relacionados las distintas partes de la red neuronal que se cargarían en

00:23:50.000 --> 00:23:53.000
memoria y que permitirían ir ejecutando, y cuando esa parte ya no fuera

00:23:53.000 --> 00:23:56.000
necesaria, se descargaría de memoria y se volvería a dejar solo en

00:23:56.000 --> 00:24:09.000
almacenamiento.

00:24:10.000 --> 00:24:15.000
Por lo tanto, insisto, podríamos ejecutar estos modelos con menos necesidades de RAM.

00:24:15.000 --> 00:24:19.000
Apple ha estado haciendo cálculos y ha visto que puede conseguir la misma

00:24:19.000 --> 00:24:23.000
eficiencia actual de un modelo cargado en tenon memoria poniendo esta

00:24:23.000 --> 00:24:27.000
ventana al cincuenta por ciento, por lo que ese es el límite que ahora

00:24:27.000 --> 00:24:31.000
mismo, como base de investigación, Apple ha establecido, que pudiendo

00:24:31.000 --> 00:24:35.000
usar Solo la mitad de memoria necesaria para ejecutar, para inferir un

00:24:35.000 --> 00:24:39.000
modelo entrenado, podríamos conseguir que ese modelo se ejecutara de una

00:24:39.000 --> 00:24:43.000
forma eficiente, igual que si estuviera cargado en memoria, pero

00:24:43.000 --> 00:24:47.000
necesitando la mitad de memoria, porque el resto estaría como en una

00:24:47.000 --> 00:24:56.000
especie de disco de como como si fuera un disco de de disco normal, ¿no?

00:24:56.000 --> 00:25:01.000
De memoria de intercambio ¿qué hay en el que la memoria flash se usa como si fuera memoria RAM?

00:25:01.000 --> 00:25:03.000
Pues algo parecido, ¿de acuerdo?

00:25:03.000 --> 00:25:06.000
Eso es un poco la técnica que están proponiendo, Y ellos mismos nos

00:25:06.000 --> 00:25:09.000
dicen, como hemos dicho antes, que esto es un primer paso, es una forma de

00:25:09.000 --> 00:25:12.000
proponer a la comunidad este cambio Para que la comunidad ahora pueda

00:25:12.000 --> 00:25:15.000
empezar a explorar formas de mejorar esta técnica para que no sea

00:25:15.000 --> 00:25:18.000
necesario para poder reducir ese porcentaje y que, a lo mejor, pues

00:25:18.000 --> 00:25:21.000
simplemente con un veinte por ciento de lo que ocupa en total un modelo,

00:25:21.000 --> 00:25:24.000
pues se pueda trabajar con un modelo entrenado, que yo tengo un modelo de

00:25:24.000 --> 00:25:27.000
diez gigas, pero solo necesite, por ejemplo, dos para poder ejecutar este

00:25:27.000 --> 00:25:30.000
modelo, cosa que ahora mismo Necesitaría los diez porque necesitaría

00:25:30.000 --> 00:25:33.000
cargarlo entero, y si estamos hablando de modelos que ocupan lo que

00:25:33.000 --> 00:25:36.000
ocupan, pues imagínense, Imagínense, de hecho, lo que ocupa GPT cuatro,

00:25:36.000 --> 00:25:39.000
que no se sabe cuántos parámetros tiene, pero se calcula que podría

00:25:39.000 --> 00:25:42.000
llegar a tener entre setecientos mil millones y ochocientos dos mil

00:25:42.000 --> 00:25:58.000
millones, ¿vale?

00:25:58.000 --> 00:26:01.000
Repito, GPT tres punto cinco tiene ciento setenta y cinco mil millones, y

00:26:01.000 --> 00:26:04.000
GPT cuatro se le calcula, pero no se sabe el dato, Entre setecientos mil y

00:26:04.000 --> 00:26:07.000
ochocientos mil millones de parámetros.

00:26:08.000 --> 00:26:11.000
Estamos hablando que Mixtral tiene cuarenta y cinco mil millones,

00:26:11.000 --> 00:26:14.000
muchísimos menos, y aún así Ocupa en una en un modelo de dieciséis

00:26:14.000 --> 00:26:19.000
bits de dieciséis bits cuantizado noventa gigas.

00:26:19.000 --> 00:26:23.000
¿Saben lo que puede ocupar GPT cuatro y cómo funciona?

00:26:23.000 --> 00:26:25.000
Pues ese es el quid de la cuestión.

00:26:25.000 --> 00:26:29.000
Por lo tanto, este es un primer paso muy importante que, de nuevo,

00:26:29.000 --> 00:26:33.000
demuestra que Apple trabaja activamente en mejorar la inteligencia

00:26:33.000 --> 00:26:37.000
artificial a todos los niveles y que proponen soluciones que al final

00:26:37.000 --> 00:26:41.000
lleguen a el destino que Apple quiere para todos nosotros, que es la

00:26:41.000 --> 00:26:48.000
ejecución local de estos modelos y prescindir en la mayor medida posible de la nube.

00:26:49.000 --> 00:26:50.000
Ahí está el tema.

00:27:01.000 --> 00:27:02.000
Y poco más.

00:27:02.000 --> 00:27:07.000
Yo sé que estos programas son complejos, Ale, son temas técnicos.

00:27:07.000 --> 00:27:10.000
He intentado hacérselo entender de la manera más sencilla posible, pero

00:27:10.000 --> 00:27:13.000
también tenemos que entender que toda la IA generativa, todo esto hay

00:27:13.000 --> 00:27:16.000
ahora todo este boom del último año, que es maravilloso, que yo estoy

00:27:16.000 --> 00:27:19.000
ahí en la cresta de la ola surfeando y y maravillándome de cada una de

00:27:19.000 --> 00:27:25.000
las cosas que van apareciendo.

00:27:25.000 --> 00:27:28.000
El nuevo Midjourney seis que está a punto de aparecer, que ya hace unas

00:27:28.000 --> 00:27:31.000
imágenes, si el cinco ya hace unas imágenes increíbles, el seis ya va a

00:27:31.000 --> 00:27:34.000
ser para volverse loco.

00:27:35.000 --> 00:27:39.000
La forma de integrar GPT con David, con con lectores de documentos, con

00:27:39.000 --> 00:27:43.000
procesamientos, en fin, la verdad que la guía generativa, no hace falta

00:27:43.000 --> 00:27:47.000
que se lo diga, Es toda una revolución, aunque no podemos olvidar tampoco

00:27:47.000 --> 00:27:51.000
que son productos en beta, como diría un sabio, son beta y mucho beta,

00:27:51.000 --> 00:27:55.000
porque, En fin, sabemos perfectamente que GPT comete errores, sabemos

00:27:55.000 --> 00:27:59.000
perfectamente que muchas veces cuando vamos incluso al modelo de pago No

00:27:59.000 --> 00:28:03.000
funciona porque está caído o que las imágenes es muy complicado que

00:28:03.000 --> 00:28:07.000
genere imágenes que sean coherentes las unas las unas con las otras.

00:28:07.000 --> 00:28:14.000
Estamos andando el camino para llegar a esto, y Apple, que es lo importante, forma parte,

00:28:14.000 --> 00:28:18.000
veces no se vea, De ese camino que estamos recorriendo.

00:28:18.000 --> 00:28:22.000
Si les ha gustado, por favor, dennos un like, compartan el episodio, como

00:28:22.000 --> 00:28:27.000
siempre, suscríbanse si están en YouTube, y nos oímos pronto si dios quiere.

00:28:27.000 --> 00:28:31.000
Hasta entonces, un saludo y go Apple

00:29:07.000 --> 00:29:14.000
Puedes escuchar más episodios de Apple Coding en Wanda punto com, la comunidad de podcast independientes en español.