Discussão do artigo "Redes neurais em trading: Redução de consumo de memória com o método de otimização Adam-mini"

 

Novo artigo Redes neurais em trading: Redução de consumo de memória com o método de otimização Adam-mini foi publicado:

Uma das abordagens para aumentar a eficiência no treinamento e na convergência de modelos é aprimorar os métodos de otimização. O Adam-mini é um método adaptativo projetado para aprimorar o algoritmo base Adam.

Ao começar a explorar redes neurais, discutimos diferentes abordagens para otimizar os parâmetros dos modelos. Em trabalho, utilizamos diversas estratégias. Pessoalmente, uso frequentemente o método Adam, que ajusta adaptativamente a taxa de aprendizado ideal para cada parâmetro do modelo. No entanto, essa adaptabilidade tem um custo. O algoritmo Adam usa momentos de primeira e segunda ordem para cada parâmetro, o que demanda o dobro da memória do próprio modelo. Esse alto consumo de memória torna-se um obstáculo significativo no treinamento de modelos grandes. Na prática, para lidar com esse consumo elevado, é necessário fazer offloading para o CPU, o que aumenta a latência e desacelera o treinamento. Diante desses desafios, torna-se ainda mais relevante buscar novos métodos ou aprimorar os já conhecidos para otimizar os parâmetros dos modelos.  

Uma solução interessante foi apresentada no artigo "Adam-mini: Use Fewer Learning Rates To Gain More", publicado em julho de 2024. Os autores propuseram uma modificação no método Adam que mantém seu desempenho. O novo otimizador, chamado Adam-mini, divide os parâmetros do modelo em blocos e atribui uma única taxa de aprendizado para cada bloco, proporcionando as seguintes vantagens:

  • Simplicidade: o Adam-mini reduz significativamente o número de taxas de aprendizado utilizadas pelo Adam, diminuindo o consumo de memória em cerca de 45 a 50%.
  • Eficiência: apesar da economia de recursos, o Adam-mini apresenta desempenho comparável ou até superior ao método Adam básico.


    Autor: Dmitriy Gizlyk

     
    Olá, gostaria de lhe perguntar: quando executo o Study, recebo o erro de execução do kernel UpdateWeightsAdamMini: 5109, qual é o motivo e como resolvê-lo?
     
    ezequiel moya #:
    Olá, gostaria de lhe perguntar, quando executo o Study, recebo o erro de execução do kernel UpdateWeightsAdamMini: 5109, qual é o motivo e como resolvê-lo, desde já agradeço.

    Boa tarde, você pode postar o log de execução e a arquitetura do modelo que está usando?

     

    Olá, estou lhe enviando as gravações do Studio Encode e do Study. Quanto à arquitetura, é quase a mesma que você apresentou, exceto que o número de candles no estudo é 12 e os dados desses candles são 11. Além disso, na camada de saída, tenho apenas 4 parâmetros.

    Arquivos anexados:
    20240804.log  23 kb
     
    Dmitry Gizlyk #:

    Boas tardes, você poderia publicar o registro de projeto e a arquitetura do modelo utilizado?

    Olá, estou lhe enviando as gravações do Studio Encode e do Study. Com relação à arquitetura, é quase a mesma que você apresentou, exceto que o número de velas no estudo é 12 e os dados dessas velas são 11. Além disso, na camada de saída, tenho apenas 4 parâmetros.
    Arquivos anexados:
    20240804.log  23 kb