Descida de gradiente natural termodinâmica
(arxiv.org)- 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
Comentários do Hacker News
∇̃L(θ) = F⁻¹∇L(θ), e isso exige resolver um sistema linearPara 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
Fe∇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 existeSe 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
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
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...
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
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
https://en.wikipedia.org/wiki/Simulated_annealing
Talvez fosse mais plausível fazer algo com campo eletromagnético ou sua interferência, quem sabe até com alguma estrutura 3D
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