1 pontos por GN⁺ 2024-05-26 | 1 comentários | Compartilhar no WhatsApp
  • TNGD é um método de treinamento de redes neurais que busca reduzir a carga computacional da otimização de segunda ordem executando a descida de gradiente natural (NGD) em um loop híbrido entre um computador termodinâmico analógico e GPUs
  • Métodos de treinamento de segunda ordem têm boas propriedades de convergência por utilizarem informações de curvatura da paisagem de perda, mas são difíceis de usar em treinamento em larga escala em hardware digital devido ao custo de calcular a matriz de informação de Fisher e resolver sistemas lineares
  • Implementa a regra de atualização de parâmetros da NGD usando as propriedades termodinâmicas de sistemas analógicos em equilíbrio e o processo físico de Ornstein–Uhlenbeck
  • O usuário mantém a arquitetura do modelo, e o computador analógico apenas acelera o treinamento, diferentemente de algumas abordagens de aceleração analógica de inferência que fixam o modelo no hardware
  • Em experimentos numéricos, mostrou resultados melhores do que métodos digitais modernos de treinamento de primeira e segunda ordem em classificação e ajuste fino de modelos de linguagem, e com paralelização suficiente o tempo de execução por iteração pode se aproximar do Adam e do SGD

O problema de custo de treinamento que o TNGD busca atacar

  • À medida que o custo de treinamento de modelos avançados de IA cresce, os modelos líderes mundiais já atingem um nível em que o treinamento custa centenas de milhões de dólares
  • No hardware digital, o fim da Moore’s Law e da Dennard’s Law está afetando o tempo de execução e a eficiência energética
  • Essas limitações aumentam a necessidade de hardware não convencional de propósito específico para melhorar a eficiência no treinamento de modelos de IA
  • O hardware digital também reduz o leque de algoritmos de treinamento disponíveis ao usuário
    • SGD, Adam e suas variações são amplamente usados no treinamento de DNNs e grandes modelos de IA
    • Otimizadores mais sofisticados são raramente usados em hardware digital devido ao alto overhead computacional

Vantagens e gargalos da otimização de segunda ordem

  • Métodos de segunda ordem capturam informações de curvatura da paisagem de perda, portanto têm propriedades de convergência teoricamente mais fortes
  • A descida de gradiente natural (NGD) precisa estimar quantidades de segunda ordem, como a matriz de informação de Fisher, e executar uma cara resolução de sistemas lineares a cada época
  • Métodos aproximados de NGD, como o K-FAC, mostraram potencial e até desempenho superior ao Adam, mas ainda são difíceis de aplicar a arquiteturas arbitrárias de redes neurais

Loop de treinamento híbrido digital-analógico

  • O TNGD funciona em um loop híbrido digital-analógico no qual a GPU se comunica com um computador termodinâmico analógico
  • Durante o treinamento, em intervalos regulares, são calculados o gradiente e a matriz de informação de Fisher ou outra matriz de curvatura semidefinida positiva, e entre esses intervalos a dinâmica analógica evolui
  • As propriedades termodinâmicas que emergem no estado de equilíbrio do sistema analógico são usadas como recurso computacional
  • O usuário fornece a arquitetura do modelo, e o computador analógico acelera apenas o processo de treinamento
    • Em contraste com algumas propostas de aceleração analógica de inferência, nas quais o modelo fica fixado no hardware e o usuário tem dificuldade para alterar livremente a arquitetura

Complexidade computacional e resultados experimentais

  • O TNGD é equivalente à NGD em certas faixas de parâmetros, mas evita a cara resolução de sistemas lineares
  • Implementa a regra de atualização de parâmetros da NGD usando o processo físico de Ornstein–Uhlenbeck
  • O tempo de execução por iteração escala linearmente com o número de parâmetros
  • Com paralelização adequada, é possível obter um tempo de execução próximo ao de otimizadores de primeira ordem como Adam e SGD
  • Em experimentos numéricos, em tarefas de classificação e no ajuste fino de modelos de linguagem, incluindo perguntas e respostas extrativas, o TNGD apresentou resultados superiores aos métodos digitais modernos de treinamento de primeira e segunda ordem

1 comentários

 
GN⁺ 2024-05-26
Comentários do Hacker News
  • O ponto central é que o método do gradiente natural é um método de segunda ordem. A principal regra de atualização é ∇̃L(θ) = F⁻¹∇L(θ), e isso exige resolver um sistema linear
    Para isso, pode-se usar o método do artigo anterior dos autores, Thermodynamic Linear Algebra. Como é difícil implementar uma rede neural completa em um computador termodinâmico, o artigo propõe executá-lo em paralelo com uma GPU comum. A GPU calcula F e ∇L(θ), e o sistema linear é enviado para um computador termodinâmico que roda em paralelo com o sistema digital (Figura 1). No entanto, é importante notar que o gráfico “Runtime vs Accuracy” da Figura 3 usa um modelo de tempo do algoritmo TNGD, já que o computador necessário ainda não existe
  • Muito legal e interessante. Os autores propõem um loop de treinamento híbrido digital-analógico que incorpora a curvatura da paisagem de perda, ou seja, as derivadas de segunda ordem, e mostram por simulação numérica que, se esse método for implementado em um sistema físico, o custo computacional de cada iteração do loop de treinamento cresce linearmente com o número de parâmetros
    Se for possível usar as leis da termodinâmica para fazer o trabalho de treinar modelos de IA e assim superar os limites de escalabilidade e os desafios do hardware digital e dos métodos de treinamento atuais, sou a favor de buscar esse caminho
  • O artigo trata principalmente de resultados de treinamento e otimização em deep learning/redes neurais, mas fico curioso sobre quão facilmente o mesmo framework de otimização poderia ser aplicado a outros tipos de problemas de otimização difíceis ou grandes. Pensei a mesma coisa quando vi pela primeira vez textos sobre a Extropic(https://www.extropic.ai/)
    Procurei no site informações públicas sobre APIs ou a stack de software para ver se dá para modelar problemas de otimização fora de redes neurais, mas parece que isso ainda não foi divulgado. Ainda existem muitos problemas valiosos de otimização combinatória NP-difícil ou de otimização analítica em larga escala, e pessoalmente tenho interesse em problemas de EDA e projeto de semicondutores. A computação quântica adiabática também era uma tecnologia que prometia resolver problemas de otimização, e a computação quântica ainda segue focada principalmente em soluções de pequena escala. Espero que essas novas startups de “computação termodinâmica” ofereçam uma tecnologia legal para explorar esse tipo de problema
  • Usar termodinâmica para calcular atualizações de segunda ordem de forma mais eficiente é claramente algo legal e digno de exploração, mas continuo cético quanto à utilidade prática disso no contexto de deep learning
    Já existem métodos de segunda ordem[1] que rodam de forma muito eficiente em hardware clássico, mas quase não são usados na prática e perdem espaço para métodos de primeira ordem como ADAM. Isso acontece porque, para otimizar funções de perda muito não lineares como as de modelos de deep learning, no fim das contas é preciso usar taxas de aprendizado muito baixas, seja com método de primeira ou de segunda ordem. Então, métodos de segunda ordem podem até oferecer uma atualização de parâmetros um pouco melhor por passo, mas muitas vezes o custo cresce ainda mais, o que geralmente reduz bastante o valor prático
    [1] https://andrew.gibiansky.com/blog/machine-learning/hessian-f...
    • Concordo que é legal, e também concordo que é difícil fazer métodos de segunda ordem valerem a pena. Às vezes o dataset é tão grande que já é difícil estimar de forma razoável até mesmo o gradiente de um minibatch
      Estimar de forma útil informações de segunda ordem para o dataset inteiro é ainda mais difícil, especialmente considerando que o motivo de usar minibatches em primeiro lugar é a viabilidade computacional
  • Não li o artigo em detalhe, mas alguém poderia explicar o que há de atraente nisso? Pela Tabela 1, parece ter a mesma complexidade assintótica do SGD em termos de tamanho da amostra
    Considerando que os modelos grandes e superparametrizados de hoje em dia têm muitos extremos muito parecidos entre si, nem sei se isso é realmente necessário. Se não for quase linear, e sim algo que nem chega a ser sublinear, não vejo muito motivo para me interessar
  • Isso me lembra o recozimento simulado que aprendi em uma aula de IA há uns 10 anos
    https://en.wikipedia.org/wiki/Simulated_annealing
  • Qual seria a melhor hipótese atual sobre como neurônios animais aprendem?
  • O Geoffrey Hinton não falou algo assim mais ou menos um ano atrás?
  • Não entendi. Os cálculos de gradiente descendente acontecem com muita frequência e o estado/entrada muda o tempo todo, então isso significaria ter que reinicializar a paisagem térmica com muita frequência; qual seria o sentido disso? Não parece haver nenhuma chance de ganho de velocidade aqui
    Talvez fosse mais plausível fazer algo com campo eletromagnético ou sua interferência, quem sabe até com alguma estrutura 3D
  • Até “é preciso um computador termodinâmico analógico” eu estava acompanhando, mas aí pensei: peraí, o quê? Seria bom se alguém com formação decente em física pudesse explicar
    • O apêndice C do artigo explica isso bem. Ele monta uma matriz integradora com vários amplificadores operacionais, constantes de tempo RC (provavelmente usando potenciômetros digitais) e uma interface ADC/DAC multicanal conectada ao PC. Essencialmente, é um dispositivo dedicado a resolver equações diferenciais
      Então é uma combinação de computação analógica à moda antiga com código moderno baseado em GPU. Na prática, leva mais tempo por causa do overhead da interface de hardware e da espera até o integrador estabilizar, mas entendo que a ideia é que uma implementação otimizada poderia acelerar a convergência e superar soluções puramente digitais. A ideia central é que o gradiente descendente tradicional é, em essência, uma operação linear, enquanto o gradiente real percorrido está sobre uma superfície curva, então, se tudo for tratado apenas no domínio digital, é preciso passar por várias etapas desnecessárias para aproximá-lo. O problema é que, como muitos aprenderam com dificuldade desde Seymour Cray, no fim das contas CMOS sempre vence. Isso porque toda a capacidade de investimento de uma indústria inteira é aplicada à otimização de CMOS
    • Pelo que entendi, a https://extropic.ai está fazendo exatamente isso, e a https://normalcomputing.ai/ dos autores do artigo provavelmente também
    • A essência é usar as leis da natureza para treinar modelos de IA e superar os limites e problemas de escalabilidade do hardware digital e dos métodos de treinamento existentes
    • Um exemplo poderia ser um quantum annealer. Nesse caso, “programar” se parece mais com definir condições iniciais adequadas e deixar o relaxamento termodinâmico levar ao ponto ótimo
    • Se for possível construir esse tipo de produto, pode ser algo atraente. No mundo todo, dezenas de bilhões de dólares por ano, talvez até mais, são gastos em otimização numérica, e se isso puder ser acelerado de forma significativa, o potencial de lucro pode ser enorme