Francis Villatoro explica que una observación aparentemente sencilla y evidente ya era conocida en el entrenamiento de redes neuronales, refiriéndose a la curva de pérdidas durante el proceso de aprendizaje.
Habla: Francis VillatoroSignificado #7candidato planeta enano ed138redes neuronales pequeñasalgoritmos de inteligencia artificialantropic y redes grandescurva de pérdidas en redes neuronalesentrenamiento de redes neuronalesparámetros de matrices vectoresentrenamiento de la red neuronalajuste de parámetros durante entrenamiento…recientemente. Bonito tema, Juan Carlos. Sí, súper interesante. Y ahora habrá que esperar a ver qué es lo que pasa con él, si se confirma, si no se confirma y si en algún momento se le pone un nombre más popular que creo que será necesario llegado el momento. Si alguien tiene alguna idea en el chat o en los comentarios sobre nombres que pueda recibir eso siempre es divertido así que compartidlo si ya luego hablaremos de ellos pero por ahora vamos a pasar a hablar con Francis que tienes que contarnos que las inteligencias artificiales tienen ahí algún errorcillo en los algoritmos que utilizan muchas de ellas en el aprendizaje al menos cuando son redes neuronales pequeñitas no estamos hablando de las grandes. que se usan en las empresas como Antropic o las que nos dan servicio Sí, además es una cosa extremadamente curiosa porque es una Cosa como muy obvia, muy sencilla de entender y sorprende que a nadie se le ocurriera que esto podía ser relevante porque ya se sabía en el entrenamiento de redes neuronales. Muchas veces cuando vemos en libros, etc., la curva de las pérdidas, de la calidad del entrenamiento, del error que comete la red: La red es un Sistema en el que yo meto una entrada, obtengo una salida y en el proceso de entrenamiento la red tiene una serie de parámetros, muchos parámetros, una serie de matrices y vectores que caracterizan la dinámica, el comportamiento de la red neuronal multicapa. Cada capa tiene sus matrices y sus vectores. Yo meto una entrada y claro, yo tengo que ajustar, entrenar la red, los parámetros. Yo no sé cuáles son los parámetros correctos, entonces voy. metiendo entradas y las salidas las comparo con los datos de entrenamiento. Yo sé cuál es la salida correcta, pues comparo la salida de la red neuronal con la salida correcta y eso me permite determinar el error que yo uso para corregir el estado actual de…
Francis Villatoro explica cómo funciona el proceso de entrenamiento de una red neuronal, detallando que requiere múltiples épocas para pasar por todos los datos de entrenamiento.
Habla: Francis VillatoroSignificado #1 · Palabras #1épocas de entrenamiento de red neuronaldatos de entrenamiento múltiples épocasredes neuronales pequeñas y grandes…de la red neuronal, calculo los errores y uso lo que se llama el gradiente, el algoritmo del descenso del gradiente. Ahora explicaré un poquito de qué va; y uso esos errores para modificar los pesos. Entonces, cada paso yo modifico los pesos y voy repitiendo. Estos pasos hasta que acabo con todo el conjunto de entrenamiento; en ese momento hablo de una época de entrenamiento y normalmente una red neuronal requiere múltiples épocas en las que voy pasando por todos los datos de entrenamiento. Una de las cosas que se había observado en ciertas redes, sobre todo en redes relativamente pequeñas, pero ahora hay evidencia también en una red grande: es que el error de la red durante el entrenamiento. No era monótono. Muchas veces en los libros vemos que el error es alto; el error baja rápidamente. Después se relaja y baja pero mucho más despacio. Es la curva ideal para el entrenamiento. Pero se habían observado muchos casos en los que el error baja y…
Francis Villatoro explica la diferencia entre precisión y exactitud en aritmética numérica, mencionando el uso de aritméticas más pequeñas como las de 32 bits (coma simple) que aún se proponen para redes neuronales.
Habla: Francis VillatoroPalabras #11precisión y exactitud aritmética numéricaaritméticas de 32 bits coma simpleredes neuronales con coma simple…ha de ser truncado o redondeado para que quepa en ese tamaño. Cuando yo tengo dos números, el tamaño de esa mantiza es lo que se llama la precisión del número. La precisión en la aritmética numérica, en la aritmética flotante, no es lo mismo que la exactitud. La precisión es solamente el tamaño en el que yo quepo. Hace años se utilizaban aritméticas más pequeñas; en lugar de 64 bits se utilizaban 32 bits. Eso es lo que se llama coma simple, números flotantes en coma simple. E incluso hoy en día en redes neuronales se ha propuesto. El uso de aritméticas mucho más limitadas, con mantillas muy cortas, con muy pocos exponentes y que sorprendentemente están dando, sobre todo en problemas de no gran número de datos; no estamos hablando de los grandes modelos de lenguaje de las grandes…
Francis Villatoro reflexiona sobre un problema común que surge en redes neuronales, asumiendo que los profesionales del campo son conscientes de él y toman medidas para solucionarlo.
Habla: Francis VillatoroSignificado #12redes neuronales problemita comúnmétodo numérico clases francis villatoroproblema redes neuronales profesionales…más caras, menos caras, pero es verdad. O sea, solo lo aplicas en principio cuando se ve que es necesario. Esto es conocido desde que hay bits, vamos. Desde que hay ordenadores, desde que las primeras mujeres empezaron a programar en la década de los 1940. Y entonces esto es un problemita que aparece en muchas circunstancias y aparece, por ejemplo, en redes neuronales. Y es una cosa que uno, yo, que he dado clase de método numérico durante 30 años, pues siempre he pensado que en redes neuronales la gente sabía esto y lo arreglaba. Y resulta que no, que las librerías estándares en Python que se usan más para la implementación de redes neuronales como PyTorch, como TensorFlow, como JAX, no lo tienen implementado; no hacen esta corrección. Y claro, uno puede decir: bueno, pero esa…
Francis Villatoro explica cómo el uso de exponenciales en redes neuronales puede llevar a que algunos números pequeños desaparezcan y se conviertan en cero debido a grandes diferencias de magnitud.
Habla: Francis VillatoroPalabras #6exponenciales y órdenes de magnitudnúmeros pequeños desaparecen en redes neuronalesgradientes para respuesta correcta red neuronallogik asociado a la probabilidad…un número pequeñito, pero bueno, está bien comparado con 1, pero la exponencial del otro menos 9 ahora es la exponencial de menos 18 y la exponencial de menos 18 en mucha aritmética podría ser 0. Y si usáis aritmética doble, pues pongamos entonces números del orden de 64, que yo tengo 400 categorías y las he ordenado entre el 1 y el 400. Ya tengo una diferencia enorme, 400 órdenes de magnitud cuando aplique las exponenciales. Eso hace que cuando yo aplique las exponenciales, algunos números pequeños desaparecen, se convierten en cero. Esto no es problema, si tengo muchos números, que algunos de ellos se pongan en cero, no hay problema. Pero en el entrenamiento yo trato de calcular esos gradientes para que la respuesta correcta de la red neuronal, claro, la respuesta correcta tiene asociado el mayor logik, es decir, la mayor probabilidad, es decir, con esta normalización la probabilidad Igual a 1 y los demás tienen probabilidades muy pequeñas. Hay circunstancias en las que todas las probabilidades de los demás son muy pequeñas, con lo que cuentan como si fueran cero. Porque yo tengo un número que es 1 dividido entre ese número 1 más todos…
Francis Villatoro explica cómo se utiliza la técnica de destilado en el entrenamiento de redes neuronales, aprovechando las respuestas de modelos grandes como ChatGPT o LLaMA.
Habla: Francis VillatoroPalabras #9destilado con chatgpt y llamaredes neuronales entrenadas clotentrenamiento acelerado con modelos grandestecnología barata para redes neuronales…¿no? O sea, pero tienen que usar una tecnología un poquito por detrás, una tontería de los Estados Unidos; de hecho ya hay empresas fabricando sus propias GPUs para entrenamiento en China con tecnología que no es de envidia. Pero bueno, en cualquier caso, En ese proceso se utiliza una técnica que se llama destilado; y en el destilado lo que yo hago es que una red neuronal ya entrenada, un gran modelo de lenguaje ya entrenado ChatGPT, CLOT, las grandes empresas, Lama, ya entrenado, me dé la respuesta buena a las preguntas. Entonces yo en la fase de entrenamiento no tengo que, puedo acelerar, digámoslo así, el entrenamiento buscando que las respuestas de mi red, que me cuesta más trabajo entrenar porque tengo una tecnología un poquito más barata para hacerlo, coincida con la que da el modelo grande. Entonces, lo que hacen los chinos, que se supone que lo han hecho y es una cosa que no pueden confesar de verdad, pero bueno, que lo dicen así en plan rumulología, es que supuestamente miles de usuarios chinos están usando la tecnología de Estados Unidos,…
Francis Villatoro explica la postura de las grandes compañías sobre los problemas encontrados por estudiantes al entrenar redes neuronales, indicando que no les preocupa debido a que utilizan pocas épocas de entrenamiento.
Habla: Francis VillatoroSignificado #14 · Palabras #2redes neuronales pequeñas estudiantesentrenamiento openai decenas de miles millonesproblema estudiantes afecta a nadieépocas entrenamiento redes neuronalesgrandes compañías y pocas épocasredes neuronales con parámetros afectan pocored neuronal investigadores chinosparámetros entrenamiento red neuronalopenai billones de parámetros…destilado. Y aquí la solución es prácticamente la misma que se obtiene en el otro caso. Entonces, estos son los dos ejemplos en los que ellos han puesto diferentes redes relativamente pequeñas y claro, aquí la gran pregunta es lo que comentaba Ignacio, ¿no? Lo que se ha comentado mucho en redes sociales: ¿Esto realmente nos preocupa? Porque, la verdad, lo que le pase a los estudiantes de mi clase cuando yo les obligue a entrenar redes neuronales relativamente pequeñas, pues le importa un comino a todos nuestros oyentes problema de los estudiantes. Si se encuentra con este tipo de problema, pues es asunto suyo, a nadie más afecta. Pero si esto pasa, por ejemplo, en el entrenamiento de OpenAI, eso significa que el entrenamiento va a costar unos cuantos decenas de miles de millones de dólares más que si esto no pasara, con que el entrenamiento sea más lento. Entonces, claro, uno dice: esto es preocupante. Bueno, claro, lo que te dicen las grandes compañías: no, no nos preocupa. Esto no nos preocupa porque, en realidad, este tipo de entrenamiento de las grandes redes neuronales que utilizan estas grandes compañías utilizan muy pocas épocas de entrenamiento, utilizan poquitas; de hecho, menos de 10 en muchos casos, incluso en algunos casos hasta 3, o sea, porque son redes tan grandes con tal número de parámetros que esto les afecta poco. Entonces, bueno, pues, en principio, estas pequeñas diferencias cancelativas son, entre comillas, irrelevantes para este tipo de problemas. Pero se Ha publicado un artículo, y se publicó en septiembre el 28 de septiembre, o sea, hace un par de semanas. De unos investigadores chinos que utilizan una red que no es pequeña, ¿vale? Una red que no es pequeña para la escala normal: es una red que tiene 450 millones de parámetros de entrenamiento, ¿vale? O sea que es pequeña comparada con las de OpenAI y que tienen billones con B, millones de millones de parámetros, ¿no? Aquí estamos hablando de solo 450 millones, pero 450 millones de parámetros son ya unos cuantos, ¿eh? Requieren... Y lo que han observado en una red en la que estaban entrenando con una cantidad de memoria por relativamente pequeña, 50.000 millones de tokens, ¿eh? Han observado que aparece este tipo de fenómeno en el proceso de entrenamiento: cuando el entrenamiento tiene…
Francis Villatoro describe un problema observado durante el entrenamiento de redes neuronales, donde estas pueden volverse inestables y generar errores significativos.
Habla: Francis VillatoroSignificado #9errores del 200 en gradientesredes neuronales inestables villatoroentrenamiento de redes relativamente grandes…de memoria por relativamente pequeña, 50.000 millones de tokens, ¿eh? Han observado que aparece este tipo de fenómeno en el proceso de entrenamiento: cuando el entrenamiento tiene muchas épocas, llega un momento en que de repente se va de olla y se va. Y se desvía una barbaridad con errores enormes, errores en los gradientes que pueden llegar a ser del 200%, del 200%, 219% en algunos parámetros. Es una barbaridad, con lo que incluso en el entrenamiento de este tipo de redes relativamente grandes también se observa este fenómeno y la solución es tan sencilla como cambiar unas restas en un cierto lugar y corregirlas. Por cierto, este artículo del 28 de septiembre se publicó antes que el de DeepMind y utiliza la misma técnica de resolver estas diferencias cancelativas, o sea que se ha publicado esto varias veces. Qué curioso, Francis; deja que te pregunte por esto porque…
Francis Villatoro explica un problema que surge tras entrenar una red neuronal más grande con más datos, donde esta muestra un rendimiento inferior a modelos anteriores durante la fase de prueba.
Habla: Francis VillatoroSignificado #4 · Palabras #16red neuronal más grande con datosrendimiento inferior en fase de pruebadesaprender cosas red neuronal…entrenando, todavía no hemos empezado, vamos a empezar ahora, ahora vamos a empezar, en 13 meses lo tendremos, y en 3 meses, todavía no lo tenemos. Y entonces es posible que algunas de esas cuestiones estuvieran relacionadas con este tipo de problemas. Tras entrenar a la red en circunstancias parecidas, una red más grande, con más datos, que supuestamente tiene que ser más poderosa y haber aprendido más cosas, de repente cuando vas a hacer la fase de prueba descubres que ha desaprendido muchísimas cosas y que es peor que la que ya tenías. Esto no lo puedo sacar al mercado ¿Y por qué? ¿Ha ocurrido? Pues lo mismo ha ocurrido por una razón de este tipo. Esto me interesa, y es lo que te quería preguntar antes porque dices que puede que en parte estos retrasos se deban a este error que se ha detectado, y que ya en otros contextos se conocía.…