2 puntos por GN⁺ 2023-09-07 | 1 comentarios | Compartir por WhatsApp
  • fast.ai observó una curva de pérdida que parecía indicar que un LLM recordaba después de ver una sola vez los ejemplos del dataset, mientras ajustaba finamente un modelo para Kaggle LLM Science Exam
  • Las redes neuronales comunes suelen aprender de forma gradual a lo largo de varias epochs, pero en este experimento la pérdida de entrenamiento caía en escalones en los límites de cada epoch, algo distinto a la experiencia habitual
  • Como aparecía un patrón similar independientemente de si se usaba Hugging Face Trainer, LoRA o fine-tuning completo, empezó a ser difícil atribuirlo a un simple bug de biblioteca
  • En los experimentos con tasa de aprendizaje cíclica y 1cycle, los cambios en pérdida de entrenamiento, pérdida de validación y MAP@3 coincidieron en general con la hipótesis de memorización, y el empeoramiento de la pérdida de validación no implicaba necesariamente una baja en la precisión
  • Si los LLM preentrenados aprenden muy rápido, habría que revisar estrategias de fine-tuning como catastrophic forgetting, data augmentation, mezcla de datos y dropout

Una curva de pérdida distinta a la del entrenamiento habitual de redes neuronales

  • Un clasificador de red neuronal ve repetidamente las entradas y sus etiquetas correctas, y ajusta las probabilidades de salida
    • Al proceso de recorrer una vez todos los datos de entrenamiento se le llama epoch
    • La pérdida (loss) indica qué tan equivocado está el modelo, y penaliza más las predicciones incorrectas hechas con mucha confianza
  • Normalmente, al inicio del entrenamiento la pérdida de entrenamiento baja rápido y luego se desacelera gradualmente, mientras que la pérdida de validación mejora más lentamente
    • Por lo general, no es fácil distinguir claramente el inicio y el fin de una epoch solo mirando el gráfico de pérdida
    • Existía la limitación empírica de que una red neuronal necesita varias epochs para aprender suficientemente una imagen específica
  • fast.ai descubrió un patrón distinto mientras entrenaba un modelo para resolver preguntas científicas de opción múltiple en Kaggle LLM Science Exam
    • Lo entrenaron durante 3 epochs con el gran dataset de preguntas creado por Radek Osmulski
    • Al final de cada epoch aparecía una caída en forma de escalón, en la que la pérdida de entrenamiento bajaba de golpe

De sospechar un bug a la hipótesis de memorización

  • Al principio sospecharon de un bug en el proceso de entrenamiento
    • Por ejemplo, si el modelo siguiera entrenando durante la evaluación del conjunto de validación, podría parecer que el modelo mejora repentinamente justo después de la validación
    • Primero revisaron la posibilidad de que fuera un problema del Trainer de Hugging Face que estaban usando
  • Desarrolladores open source del Discord de Alignment Lab AI respondieron que también habían visto curvas de pérdida similares
    • Como todos los primeros en responder usaban Trainer, la hipótesis de un bug de la biblioteca parecía plausible
    • Más tarde se compartieron casos en los que la misma curva aparecía incluso con loops de entrenamiento personalizados
  • También verificaron si era un fenómeno exclusivo de LoRA, pero el mismo patrón apareció con fine-tuning completo
    • En la comunidad de fine-tuning de LLM, este tipo de curva de pérdida ya era casi un fenómeno común

El patrón de memorización rápida observado en el experimento de Kaggle

  • La interpretación propuesta por colegas open source fue que la curva de pérdida mostraba sobreajuste
    • Al principio parecía imposible, porque implicaba que el modelo aprendía a reconocer entradas después de verlas una o dos veces
    • En el primer gráfico, la pérdida bajaba de 0.8 a 0.5 después de la primera epoch, y de 0.5 a menos de 0.2 después de la segunda epoch
    • Durante la mitad de la segunda y tercera epoch, casi no parecía haber aprendizaje nuevo
  • Si esta interpretación era correcta, el modelo prácticamente había memorizado el conjunto de entrenamiento con solo ver cada fila 3 veces
    • La señal que recibe el modelo en cada pregunta es solo la comparación entre la etiqueta correcta y su propia elección
    • Aun así, la pérdida de entrenamiento se reducía mucho

Cambios de pérdida vistos con una tasa de aprendizaje cíclica

  • Al entrenar el modelo de Kaggle durante 2 epochs, usaron un programa de tasa de aprendizaje cíclica basado en el paper de Leslie Smith de 2015, Cyclical Learning Rates for Training Neural Networks
  • La curva de la primera epoch se parecía al patrón habitual de entrenamiento
    • Durante el primer 10%, calentaron la tasa de aprendizaje
    • Luego redujeron la tasa de aprendizaje según un programa coseno
    • Después de que la tasa de aprendizaje subió lo suficiente, la pérdida de entrenamiento y la de validación disminuyeron rápido, y luego se desaceleraron
  • En la segunda epoch, como no se volvió a mezclar el dataset, los batches iniciales reaparecieron con una tasa de aprendizaje baja
    • Esos batches también habían sido expuestos solo con una tasa de aprendizaje baja en la primera epoch, por lo que el modelo no pudo aprender mucho de ellos
    • Cerca del final del primer 10%, cuando reaparecieron los batches vistos con una tasa de aprendizaje alta en la primera epoch, la pérdida de entrenamiento cayó de golpe
  • En ese mismo tramo, la pérdida de validación empeoró
    • Puede interpretarse no como una mejor generalización del modelo, sino como un estado en el que memorizó los datos de entrenamiento y se volvió muy seguro de las respuestas correctas
    • Como la función de pérdida penaliza más las respuestas incorrectas hechas con mucha confianza, la pérdida de validación empeora
  • En la parte final de la curva, la pérdida de entrenamiento volvió a empeorar
    • No es habitual que la pérdida de entrenamiento empeore con una tasa de aprendizaje razonable
    • Bajo la hipótesis de memorización, esto se interpreta como que el modelo no logró memorizar eficazmente los batches que vio con una tasa de aprendizaje baja, y seguía en un estado de confianza excesiva por los batches inmediatamente anteriores
    • Después, a medida que el modelo se reajustó a un nivel de confianza más razonable, la pérdida de validación volvió a bajar

Experimento 1cycle y diferencias en la métrica de evaluación

  • En el siguiente experimento usaron 1cycle training durante 3 epochs
    • Calentaron la tasa de aprendizaje solo una vez, durante el 10% de los batches iniciales del entrenamiento
    • En el resto de los batches, redujeron la tasa de aprendizaje con un programa coseno
    • No repitieron un calentamiento y una caída separados en cada epoch como en el experimento anterior
    • Aumentaron el rank de LoRA para ralentizar la velocidad de aprendizaje
  • La curva resultante coincidió en general con la interpretación anterior, pero el aumento de la pérdida de validación apareció en la epoch 3, no en la epoch 2
    • En el experimento anterior, en la segunda epoch la pérdida de entrenamiento bajó hasta alrededor de 0.2, lo que permitía predicciones con mucha confianza
    • En el experimento 1cycle, recién en la tercera epoch se llegó a ese nivel de confianza, y el aumento de la pérdida de validación también apareció entonces
  • El empeoramiento de la pérdida de validación no significa sobreajuste real necesariamente
    • La métrica del leaderboard de Kaggle es Mean Average Precision @ 3, una precisión basada en el ranking de las 3 principales predicciones de opción múltiple
    • El MAP@3 de validación por batch del entrenamiento 1cycle siguió mejorando en la última epoch, aunque la pérdida de validación empeoró
  • Los logs adicionales y el notebook para reproducirlo pueden verse en el reporte de Johno

Por qué podría ser posible aprender de un solo ejemplo

  • No existe una ley fundamental que diga que una red neuronal no pueda reconocer una entrada a partir de un solo ejemplo
    • Investigadores y profesionales solo han considerado, por experiencia, que las redes neuronales necesitan muchos ejemplos
    • Si la superficie de pérdida que explora el descenso de gradiente estocástico (SGD) es irregular, es difícil moverse mucho de una sola vez
  • Se conocen factores que hacen más suave la superficie de pérdida
  • Los LLM preentrenados podrían tener una superficie de pérdida muy suave en regiones cercanas a la pérdida mínima
    • Es posible que muchos trabajos de fine-tuning de la comunidad open source ocurran en este tipo de regiones
    • Esto se conecta con la premisa del paper de ULMFiT de 2018
  • La idea básica de ULMFiT era que un modelo bueno en modelado de lenguaje crea internamente abstracciones ricas y jerarquías de capacidades
    • Esas jerarquías pueden aplicarse a otras tareas con poco fine-tuning
    • Los LLM actuales son mucho más grandes que los modelos tratados en ULMFiT, por lo que podrían tener jerarquías de abstracción más ricas
  • El fine-tuning para preguntas científicas de opción múltiple podría parecerse más a extraer y usar capacidades y conocimientos que ya están dentro del modelo
    • Puede que no se necesiten muchos ajustes de pesos
    • Un modelo de lenguaje preentrenado con una pequeña cabeza de clasificación aleatoria podría estar en una posición desde la cual se mueve suavemente hacia una buena configuración de pesos
    • En el optimizador Adam, gradientes consistentes y suaves pueden aumentar la tasa de aprendizaje dinámica efectiva, produciendo pasos grandes

Preguntas que surgen para las estrategias de fine-tuning

  • Si un modelo aprende muy rápido, los supuestos básicos de los métodos de entrenamiento existentes podrían tambalearse
    • Un modelo que aprende lentamente puede mirar datos diversos durante muchas epochs y extraer gradualmente información generalizable
    • Un modelo que aprende rápido puede recordar de inmediato los ejemplos que vio y producir fenómenos distintos
  • El catastrophic forgetting podría volverse más notable
    • Si después de ver 10 ejemplos de una relación muy común ve 1 contraejemplo menos común, puede memorizar el contraejemplo en lugar de reducir un poco el recuerdo de los 10 ejemplos anteriores
  • El efecto de data augmentation para evitar el sobreajuste también podría debilitarse
    • Si el LLM extrae bien la representación de la información de entrada, aunque se mezcle con paraphrasing o back-translation, podría estar recibiendo en la práctica la misma información
  • Como posibles mitigaciones están dropout y stochastic depth
    • El dropout ya se usa un poco en técnicas de fine-tuning como LoRA
    • Parece que stochastic depth todavía no se ha usado en NLP a un nivel significativo
  • Otro método es mantener una mezcla rica de datasets durante todo el entrenamiento
    • Llama Code sufrió catastrophic forgetting: mientras mejoraba su rendimiento en código, otras capacidades empeoraron mucho
    • En ese momento, la proporción de datos no relacionados con código era del 10%
    • Si la mezcla hubiera estado más cerca de 50/50, quizá habría podido ganar rendimiento en programación sin perder capacidades existentes

1 comentarios

 
GN⁺ 2023-09-07
Opiniones de Hacker News
  • Gracias por subir este artículo a HN. Soy uno de los coautores, y fue realmente interesante indagar junto con Johno en este extraño fenómeno de la memorización rápida de los LLM.
    He trabajado con redes neuronales durante 30 años y con ajuste fino de modelos de lenguaje desde 2017, pero este comportamiento me sorprendió mucho. Otras personas también han visto fenómenos similares en LLM, pero todavía no he visto un análisis de este tipo, y puede que se nos haya pasado algo.

    • En el paper de Palm-E (https://palm-e.github.io/), resulta interesante que, al descongelar el LLM y entrenarlo solo con nuevos datos de imágenes, como era de esperarse se produce mucho olvido catastrófico en tareas de procesamiento de lenguaje natural, pero ese impacto se reduce mucho a medida que aumenta el tamaño del LLM antes del entrenamiento.
      El modelo de 12B tuvo una caída promedio de rendimiento de -87.3%, el de 84B de -61.6% y el de 562B de apenas -3.9%. Se sentía como estar casi llegando a alguna intuición, y me pregunto si evitar el olvido catastrófico podría ser simplemente una cuestión de escala.
    • Me parece un gran error que falte cuál es el modelo base, y no creo que esto deba atribuirse como un fenómeno de los LLM en general.
      No soy investigador, pero está claro que no todos los LLM tienen la misma arquitectura, e incluso con arquitecturas similares pueden evolucionar para comportarse funcionalmente de formas bastante distintas ante la misma entrada. Sin embargo, muchos artículos parecen tratar a los LLM como si fueran una sola arquitectura y un solo modelo.
    • Jeremy, siempre me gusta tu trabajo. Como la astronomía es mi especialidad, agrego un detalle técnico: el ejemplo de MOND descrito aquí en realidad debería tener como respuesta correcta la opción (E).
    • Jeremy, si calculas una vez la pérdida del lote, actualizas el gradiente y luego vuelves a calcular la pérdida del mismo lote con no_grad, parece que podrías calcular con precisión cuánto aprendió el modelo en un solo paso.
      Graficar la diferencia entre la primera y la segunda pérdida a nivel de lote o de observación/pregunta podría arrojar resultados interesantes.
    • Muy interesante. Hace tiempo se habló de algo parecido en un issue de Hugging Face transformers, y en ese momento también concluimos que la memorización era la causa más probable. Es bueno ver que otros llegaron a la misma conclusión.
      https://github.com/huggingface/transformers/issues/18730
  • No sé si la gente realmente usa la expresión “over confident” en este sentido. Es una expresión bastante confusa, y lo que ocurre aquí debería llamarse sobreajuste.
    Si pensamos los datos como puntos, un modelo que generaliza bien intenta construir la función más simple que ajuste bastante bien los puntos de los datos de entrenamiento. Pero si se sigue entrenando, los parámetros pueden volverse muy grandes y la curva de la función puede oscilar fuertemente, saliéndose mucho del rango real de los datos, con tal de pasar exactamente por los datos de entrenamiento.
    Así que técnicamente ajusta mejor los datos de entrenamiento, pero se convierte en una función rara que produce salidas extremas para datos nuevos, y su generalización se vuelve casi la peor posible. Dicho eso, el sobreajuste no es lo mismo que la memorización. Un modelo grande puede memorizar un conjunto de datos pequeño sin sobreajustarse, y como tiene tantísimos parámetros solo necesita cambios pequeños para ajustar los datos de entrenamiento. En ese caso el entrenamiento se detiene, pero no hay generalización; a esto se le llama subdeterminación.
    También hay modelos que emiten salida y confianza juntas, por lo que “exceso de confianza” podría significar que el modelo predijo erróneamente una confianza alta, es decir, una baja varianza del error.

    • Si vemos como función una red neuronal a la que se le aplica argmax sobre las probabilidades de salida, esto no es sobreajuste en absoluto. La exactitud de clasificación en datos no vistos, es decir, en el conjunto de validación, sigue mejorando.
      El punto central aquí es la calibración: https://en.m.wikipedia.org/wiki/Calibration_(statistics). Significa que las probabilidades de salida de la red neuronal no reflejan las probabilidades observadas reales. Si las probabilidades se estiman sistemáticamente por debajo, se habla de “subconfianza”; si se estiman por encima, de “exceso de confianza”.
      En este caso, aunque la calibración empeore y suba la pérdida de validación, el clasificador para datos no vistos puede seguir mejorando.
    • No usaría la palabra sobreajuste para un modelo cuya exactitud mejora. Me parece engañoso.
    • Como la pérdida del conjunto de entrenamiento mejora y la pérdida del conjunto de validación empeora, creo que es una especie de sobreajuste. Pero no es el sobreajuste común en el que empeora la exactitud del conjunto de validación.
      Aquí, la exactitud en los datos de validación siguió mejorando, pero cuando se equivoca, se equivoca con más confianza que antes. Por ejemplo, si antes se equivocaba diciendo que la respuesta era X con 60% de confianza, ahora sigue equivocándose con X, pero con una confianza mayor, como 70%. Por eso es una forma extraña de sobreajuste, y “exceso de confianza” parece una expresión más específica y adecuada.
  • No soy experto en LLM, pero desde la perspectiva general del aprendizaje automático esto no resulta tan sorprendente.
    Ya existe un modelo generativo con decenas de miles de millones de parámetros que asigna cierta masa de probabilidad a las muestras de ajuste fino. Ahora se calcula el gradiente que aumenta esa masa de probabilidad y se da un paso en esa dirección. En definitiva, lo que sorprende al autor es que ese único paso aumente mucho la masa de probabilidad de la muestra.
    Pero los modelos generativos están enormemente sobreparametrizados y ya asignan cierta masa de probabilidad a las muestras de ajuste fino. Si en un espacio de parámetros de decenas de miles de millones de dimensiones no hubiera una dirección que aumente rápidamente la probabilidad de una cantidad relativamente pequeña de muestras, eso sí sería más sorprendente.

    • Pensé lo mismo. No me sorprendió en absoluto, así que me pregunté si estaba pasando algo por alto.
  • ¿No era ya una consecuencia más o menos evidente del hecho de que la mayoría de los LLM actualmente se entrenan solo durante una época?
    Porque si se entrenan solo una época, eso implica que con solo recorrer los datos por segunda vez ya existe preocupación de sobreajuste. Sin embargo, parece contradecir un poco los resultados de este paper [0], que encontró que los datos antiguos siguen siendo tan buenos como los nuevos al menos hasta 4 épocas.
    [0]: https://arxiv.org/abs/2305.16264

    • Una corrección menor: muchos LLM públicos se entrenan al menos un poco más de una época, y normalmente se hacen varias épocas sobre subconjuntos específicos de datos, como Wikipedia.
    • No se entrenan solo una época. Se hacen varias épocas sobre datos de alta calidad. El equipo de Llama de Meta también mostró que, si se entrena más y con más tokens, la pérdida sigue bajando.
  • Puede que no esté relacionado, pero le pedí a ChatGPT que escribiera código para controlar programáticamente los detalles de los filtros de columnas de una hoja de cálculo de Excel desde PowerShell.
    Todo lo que intentó no funcionó; estuvo muy cerca, pero no llegó a funcionar. Al final encontré código en C# que arreglaba el problema, lo pegué en ChatGPT y, después de que lo leyera, le pedí que arreglara el problema en PowerShell; dijo que entendía la solución, modificó el script y funcionó perfectamente.
    Por alguna razón, ese comportamiento me abrió bastante los ojos. Al proporcionarle en la pregunta material con el que no había sido entrenado, lo resolvió. Entiendo cómo es posible desde el punto de vista del aprendizaje de lenguaje, pero me pareció realmente genial que un LLM pudiera hacer algo así.

    • Es una anécdota interesante. Creo que actualmente hay una tendencia común a enfocarse demasiado en la recuperación de conocimiento en los modelos y a subestimar la parte de “modelo de lenguaje”.
      Estas cosas son tan buenas para hablar y explicar que es fácil antropomorfizarlas. Son tan buenas que terminamos tomando un logro gigantesco y casi mágico de ingeniería estadística como si fuera un bloque básico trivial. Pero ese bloque es un ladrillo de oro.
      Traducir de lenguaje natural a código, de texto a audio, de imagen a imagen, de un lenguaje natural a otro; editar, resumir, ampliar y extrapolar: eso es lo que hacen estos modelos. El “conocimiento” incorporado es solo contexto.
      Veo los embeddings vectoriales de forma un poco distinta: son una forma de catalogación semántica, como el sistema decimal Dewey, que permite la búsqueda. Pero hacer recuperación de datos directamente desde el modelo para cosas como “¿quién era el presidente de Estados Unidos en 1984?” personalmente no me parece muy interesante.
  • Me pregunto si alguna vez se han usado LLM para reforzar sus propios datos de entrenamiento.
    Me pregunto qué pasaría si se entrenara un LLM con pocas entradas, luego se generaran muchas entradas sintéticas y se agregaran a los datos de entrenamiento. Lo pienso como una especie de “soñar”. Tal vez solo agregaría ruido, pero como un LLM puede reforzar por sí mismo el contexto y mejorar su salida “pensando en voz alta”, me pregunto si no podría hacer lo mismo con los datos de entrenamiento.

    • Sí. Bastante investigación reciente usa salidas de LLM como datos de entrenamiento, y ha sido una línea de investigación muy exitosa.
    • En la práctica, eso es RLHF. Usando como guía un pequeño conjunto de datos seleccionado por humanos que indica qué son buenas y malas salidas, se hace que el LLM se autoentrene solo con sus propias salidas.
    • Curiosamente, esta conclusión es exactamente opuesta a la del comentario hermano, que sostiene que un corpus pequeño seleccionado por humanos puede ser más efectivo que un gran conjunto de datos sintéticos.
    • Si un modelo se entrena con los mismos datos que él mismo generó, no se agrega información nueva al sistema. Terminaría reforzando tanto lo que ya acierta como lo que falla, así que no habría mejora.
      Sin embargo, es común generar datos sintéticos de entrenamiento con un modelo grande para entrenar otro modelo más pequeño. Así se puede transferir el conocimiento de un modelo a otro.
    • Puedes encontrar la respuesta probándolo directamente: genera datos aleatorios según algún modelo, ajusta una regresión lineal u otra distribución, luego toma muestras de esa distribución y agrégalas al conjunto de entrenamiento.
  • Siento que el título se presta a malentendidos.
    En el contexto del aprendizaje, aprender a partir de un solo ejemplo es algo deseable, y memorizar no lo es, ¿no? Lo primero es algo que se busca para acercarse a la forma en que aprenden los animales; lo segundo es un modo de falla frecuente. El artículo parece mostrar un caso de memorización no explicada, no de aprendizaje.

  • Al entrenar un ViT desde cero vi una curva de pérdida parecida, y siempre me llamó la atención, pero tenía preocupaciones mayores y no la investigué a fondo.
    La diferencia es que durante cada época la pérdida de entrenamiento sube. La caída abrupta entre épocas es lo bastante grande como para que, en general, la pérdida de entrenamiento baje y la pérdida de validación también siga bajando. El modelo se acerca bastante al estado del arte, así que parece “normal”.
    Nunca he entrenado redes neuronales convolucionales a esta escala, así que no sé si se vería algo similar allí, pero si ocurriera, supongo que alguien lo habría mencionado. Por eso pienso que estas curvas de pérdida extrañas tal vez sean una característica particular de los modelos basados en Transformer.

    • En el texto original se decía que los LLM necesitan una abstracción potente, y las redes Transformer básicamente son ese caso; al entrenarlas desde cero se nota claramente.
      El modelo pasa bastante tiempo sin ir casi a ninguna parte y parece completamente inútil, hasta que en algún momento, tras varios ciclos de entrenamiento, los pesos encuentran algún mínimo en la superficie de error y de pronto empieza a hacer bien su trabajo. Esto se debe a que el Transformer aprendió una abstracción que funciona sobre todos los datos de entrada desde la perspectiva del mecanismo de atención. Piensa en la forma en que recorres una oración al leer. Lo explico de memoria a partir de un artículo que vi antes en HN, así que no es una explicación perfecta.
    • También he visto curvas de pérdida de entrenamiento de otras personas en las que suben durante la época y luego caen fuerte al final. No lo he experimentado personalmente y no tengo idea de la causa.
    • Después de la primera época, el tiempo promedio desde la última vez que el elemento de datos actual se usó para entrenar es corto al comienzo de la época y va aumentando a medida que avanza. Esperaría que ese tiempo tenga una correlación positiva con la pérdida de la iteración actual.
    • Si la pérdida sube incluso en la primera época, eso sí parece algo raro.
  • Ahora me pregunto si esto significa que sería computacionalmente eficiente hacer que el modelo aprenda o memorice al vuelo información como el contexto actual del chat, como parte de sus pesos.
    La codificación one-shot que el hipocampo hace muy bien permite convertir experiencias en recuerdos recuperables conectados con conceptos semánticos aprendidos previamente. De hecho, mejora desde la infancia hasta la adultez a medida que se vuelve más rica la conceptualización semántica de los eventos.
    Si la memorización de eventos en los LLM se acelera gracias a este marco semántico profundo, ¿podría esto ofrecer una ruta hacia ventanas de contexto largas?

    • Podría ser, pero hay muchas cosas que no sabemos. El problema es si la memorización al vuelo viene acompañada de olvido catastrófico de otra información, y cómo controlar la memorización de contenido reciente frente al recuerdo de contenido antiguo.
    • Solo es la idea de un principiante, pero me gusta. Necesitarías tu propia copia modificable del modelo, y normalmente eso es enorme. Además, requiere retropropagación, así que también implica un poco más de cómputo.
      Con modelos locales más pequeños que GPT-3.5/4 quizá podría ser posible. También habría que decidir qué dejar como memoria de largo plazo y qué como memoria de corto plazo.
  • Si esto es cierto, respalda la idea de que los conjuntos de datos seleccionados por humanos, mucho más pequeños que los conjuntos de datos sintéticos generados por LLM, tienen un valor mucho mayor.

    • Gana quien tiene más información. Si la información tiene estructura, se puede aprovechar en gran medida para generar datos sintéticos.
      Un ejemplo es Apple Sim. Es un repositorio de modelos 3D de interiores; al controlar el renderizador, se puede generar información en varios niveles y luego usarla con fotos reales. Como este enfoque se usa en imágenes en general, el espacio vectorial resulta bastante natural para los embeddings. En términos algebraicos, no hace falta agregar mucha estructura.
      Si el dominio tiene una naturaleza fuertemente algebraica, también se pueden generar ejemplos correctos de forma arbitraria, y le recomendaría esa situación a cualquiera.
    • Google llegó a esa conclusión hace unos 2 años, pero todavía no ha mostrado resultados claros. La palabra clave arriba es seleccionados.
    • Probablemente exista algún indicador de valor que equilibre cantidad y calidad, y en un momento como el actual, en el que entendemos a medias cómo funciona la tecnología, parece que se puede aprovechar ese indicador. Es decir, hay una ganancia potencial que obtener de los datos sintéticos.
      Dicho eso, creo que algún día se impondrá la ley de que no hay almuerzo gratis, y los datos sintéticos tampoco siempre se preocupan por el proceso de generación de datos de los valores atípicos.
    • Me cuesta estar de acuerdo. Más bien, creo que la IA de la época de ULMFiT finalmente acabó con la necesidad de datos seleccionados por humanos.
      ChatGPT 4 ya se usa como modelo oráculo para entrenar modelos de IA cotidianos. Un modelo oráculo verdaderamente enorme hará que casi todo sea innecesario, salvo una cantidad muy pequeña de aportes humanos.
    • ¿Por qué solo podemos teorizar sobre estas cosas? ¿Por qué no podemos saber cómo y por qué funcionan?