1 puntos por GN⁺ 2024-05-26 | 1 comentarios | Compartir por WhatsApp
  • TNGD es un método de entrenamiento de redes neuronales que ejecuta el descenso por gradiente natural (NGD) en un bucle híbrido entre una computadora termodinámica analógica y una GPU, con el objetivo de reducir la carga computacional de la optimización de segundo orden
  • Los métodos de entrenamiento de segundo orden aprovechan la información de curvatura del paisaje de pérdida y tienen buenas propiedades de convergencia, pero en hardware digital son difíciles de usar para entrenamientos a gran escala debido al costo de calcular la matriz de información de Fisher y resolver sistemas lineales
  • Implementa la regla de actualización de parámetros de NGD usando las propiedades termodinámicas de un sistema analógico en equilibrio y un proceso físico de Ornstein–Uhlenbeck
  • El usuario mantiene la arquitectura del modelo y la computadora analógica solo acelera el entrenamiento, por lo que difiere de algunos enfoques de aceleración de inferencia analógica que fijan el modelo al hardware
  • En experimentos numéricos, obtuvo mejores resultados que los métodos digitales modernos de entrenamiento de primer y segundo orden en clasificación y fine-tuning de modelos de lenguaje, y con suficiente paralelización puede lograr tiempos de ejecución por iteración cercanos a Adam y SGD

El problema de costos de entrenamiento al que apunta TNGD

  • A medida que crece el costo de entrenar modelos de IA avanzados, los modelos líderes a nivel mundial ya requieren cientos de millones de dólares para su entrenamiento
  • En el hardware digital, el fin de la Ley de Moore y la Ley de Dennard está afectando los tiempos de ejecución y la eficiencia energética
  • Estas restricciones aumentan la necesidad de hardware especializado no tradicional para mejorar la eficiencia del entrenamiento de modelos de IA
  • El hardware digital también reduce la variedad de algoritmos de entrenamiento que los usuarios pueden elegir
    • SGD, Adam y sus variantes se usan ampliamente en el entrenamiento de DNN y grandes modelos de IA
    • Los optimizadores más sofisticados rara vez se usan en hardware digital debido a su alto overhead computacional

Ventajas y cuellos de botella de la optimización de segundo orden

  • Los métodos de segundo orden capturan la información de curvatura del paisaje de pérdida, por lo que teóricamente tienen propiedades de convergencia más sólidas
  • El descenso por gradiente natural (NGD) debe estimar cantidades de segundo orden, como la matriz de información de Fisher, y realizar en cada época una costosa resolución de sistemas lineales
  • Los enfoques de aproximación de NGD como K-FAC han mostrado potencial y también mejor desempeño que Adam, pero siguen siendo difíciles de aplicar a arquitecturas arbitrarias de redes neuronales

Bucle de entrenamiento híbrido digital-analógico

  • TNGD funciona como un bucle híbrido digital-analógico en el que una GPU se comunica con una computadora termodinámica analógica
  • Durante el entrenamiento, a intervalos regulares se calculan el gradiente y la matriz de información de Fisher, u otra matriz de curvatura semidefinida positiva, y entre esos intervalos evoluciona la dinámica analógica
  • Las propiedades termodinámicas que aparecen en el estado de equilibrio del sistema analógico se usan como recurso computacional
  • El usuario proporciona la arquitectura del modelo y la computadora analógica solo acelera el proceso de entrenamiento
    • Esto contrasta con algunas propuestas de aceleración de inferencia de IA analógica que fijan el modelo al hardware, lo que dificulta que el usuario cambie libremente la arquitectura

Complejidad computacional y resultados experimentales

  • TNGD es equivalente a NGD en ciertos rangos de parámetros, pero evita la resolución de sistemas lineales, cuyo costo es excesivamente alto
  • Usa un proceso físico de Ornstein–Uhlenbeck para implementar la regla de actualización de parámetros de NGD
  • El tiempo de ejecución por iteración escala linealmente con el número de parámetros
  • Con una paralelización adecuada, puede lograr tiempos de ejecución cercanos a los de optimizadores de primer orden como Adam y SGD
  • En experimentos numéricos, TNGD obtuvo mejores resultados que los métodos digitales modernos de entrenamiento de primer y segundo orden en tareas de clasificación y fine-tuning de modelos de lenguaje, incluido question answering extractivo

1 comentarios

 
GN⁺ 2024-05-26
Comentarios de Hacker News
  • La clave es que el descenso de gradiente natural es un método de segundo orden. La actualización principal es ∇̃L(θ) = F⁻¹∇L(θ), y eso requiere resolver un sistema lineal.
    Para esto se puede usar el método del artículo anterior del autor, Thermodynamic Linear Algebra. Como es difícil implementar una red neuronal completa en una computadora termodinámica, el artículo propone ejecutarla en paralelo con una GPU común. La GPU calcula F y ∇L(θ), y el sistema lineal se delega a una computadora termodinámica que corre en paralelo con el sistema digital (figura 1). Sin embargo, es importante notar que la gráfica “Runtime vs Accuracy” de la figura 3 usa un modelo de tiempo del algoritmo TNGD, porque la computadora necesaria todavía no existe.
  • Genial e interesante. Los autores proponen un bucle de entrenamiento híbrido digital-analógico que refleja la curvatura del paisaje de pérdida, es decir, las segundas derivadas, y muestran mediante simulaciones numéricas que, si este método se implementara como un sistema físico, el costo computacional de cada iteración del bucle de entrenamiento crecería linealmente con la cantidad de parámetros.
    Si se puede hacer que las leyes de la termodinámica hagan el trabajo de entrenar modelos de IA y así superar los límites de escalado y los problemas difíciles del hardware digital y los métodos de entrenamiento actuales, estoy a favor de buscar esa dirección.
  • El artículo trata principalmente resultados de entrenamiento y optimización en deep learning/redes neuronales, pero me pregunto qué tan fácilmente podría aplicarse el mismo marco de optimización a otros tipos de problemas de optimización difíciles o grandes. Pensé lo mismo cuando vi por primera vez un artículo relacionado con Extropic(https://www.extropic.ai/).
    Busqué en el sitio web información pública sobre alguna API o stack de software para ver si se podían modelar problemas de optimización fuera de las redes neuronales, pero parece que aún no está disponible. Todavía hay muchos problemas de optimización combinatoria NP-difíciles y problemas de optimización analítica a gran escala que valen mucho la pena resolver; personalmente me interesan los problemas de EDA y diseño de semiconductores. La computación cuántica adiabática también fue una tecnología que prometía resolver problemas de optimización, y la computación cuántica todavía avanza sobre todo con soluciones a pequeña escala. Espero que estas nuevas startups de “computación termodinámica” también ofrezcan tecnología interesante para explorar este tipo de problemas.
  • Usar la termodinámica para calcular de forma más eficiente actualizaciones de segundo orden sin duda es genial y vale la pena explorarlo, pero sigo siendo escéptico sobre su utilidad real en el contexto del deep learning.
    Ya existen métodos de segundo orden[1] que corren de forma muy eficiente en hardware clásico, pero en la práctica casi no se usan y quedan desplazados por métodos de primer orden como ADAM. Para optimizar funciones de pérdida muy no lineales, como las de los modelos de deep learning, al final se necesita una tasa de aprendizaje muy baja, sea un método de primer o segundo orden. Por eso, aunque los métodos de segundo orden pueden dar una actualización de parámetros un poco mejor por paso, a menudo el costo aumenta más que esa mejora, así que normalmente no valen la pena.
    [1] https://andrew.gibiansky.com/blog/machine-learning/hessian-f...
    • Estoy de acuerdo en que es genial, y también en que es difícil hacer que los métodos de segundo orden valgan la pena. A veces el dataset es tan grande que incluso estimar razonablemente el gradiente de un minibatch es difícil.
      Estimar de forma útil la información de segundo orden para todo el dataset es aún más difícil, sobre todo si se considera que, para empezar, usamos minibatches por viabilidad computacional.
  • No leí el artículo en detalle, ¿alguien puede explicar cuál es el atractivo? Viendo la tabla 1, parece tener la misma complejidad asintótica que SGD en términos de tamaño de muestra.
    Considerando que los modelos grandes y sobredimensionados de hoy tienen muchos extremos parecidos entre sí, ni siquiera sé si esto sea realmente necesario. Si no es cuasilineal ni sublineal, no veo por qué debería interesarme.
  • Me recuerda al recocido simulado que aprendí en una clase de IA hace unos 10 años.
    https://en.wikipedia.org/wiki/Simulated_annealing
  • ¿Cuál es la mejor estimación actual de cómo aprenden las neuronas animales?
  • ¿Geoffrey Hinton no dijo algo así hace más o menos un año?
  • No lo entiendo. El cálculo del descenso de gradiente ocurre con muchísima frecuencia y el estado/la entrada cambian constantemente, así que habría que reinicializar el paisaje térmico muy seguido; ¿qué sentido tiene eso? No veo cómo podría haber una mejora de velocidad aquí.
    Tal vez se podría hacer algo con campos electromagnéticos o su interferencia, quizá con una estructura 3D.
  • Todo suena bien hasta “se necesita una computadora termodinámica analógica”; espera, ¿qué? Me gustaría que alguien que haya estudiado física en serio lo explicara.
    • El apéndice C del artículo lo explica bastante bien. Construyen una matriz de integradores con varios amplificadores operacionales, constantes de tiempo RC (probablemente usando potenciómetros digitales) y una interfaz ADC/DAC multicanal conectada a una PC. En esencia, es un dispositivo dedicado para resolver ecuaciones diferenciales.
      Así que es una combinación de cómputo analógico a la antigua con código moderno basado en GPU. En la práctica tardaría más por el overhead de la interfaz de hardware y el tiempo de espera hasta que los integradores se estabilicen, pero entiendo que el argumento es que una implementación optimizada podría acelerar la convergencia y superar a una solución puramente digital. La idea central es que el descenso de gradiente tradicional es, en esencia, una operación lineal, mientras que el gradiente que se sigue en realidad está sobre una superficie curva, por lo que procesarlo solo en el dominio digital obliga a aproximarlo mediante varios pasos innecesarios. El problema es que, como muchos aprendieron por las malas desde Seymour Cray, al final CMOS siempre gana. Porque la capacidad financiera de toda una industria se dedica a optimizar CMOS.
    • Según entiendo, https://extropic.ai está haciendo exactamente esto, y es muy probable que https://normalcomputing.ai/, la empresa de los autores del artículo, también lo esté haciendo.
    • La idea central es aprovechar las leyes naturales para entrenar modelos de IA y superar los límites y problemas de escalado del hardware digital y los métodos de entrenamiento existentes.
    • Un ejemplo podría ser un recocedor cuántico. Aquí, “programar” se parece más a establecer condiciones iniciales adecuadas y dejar que la relajación termodinámica llegue al óptimo.
    • Si se puede construir un producto así, podría ser atractivo. En todo el mundo se gastan cada año decenas de miles de millones de dólares, quizá más, en optimización numérica, y si se puede acelerar de forma significativa, podría ser muy rentable.