Обсуждение статьи "Нейросети в трейдинге: Снижение потребления памяти методом оптимизации Adam (Adam-mini)"

 

Опубликована статья Нейросети в трейдинге: Снижение потребления памяти методом оптимизации Adam (Adam-mini):

Одним из направлений повышения эффективности процесса обучения и сходимости моделей является улучшение методов оптимизации. Adam-mini представляет собой адаптивный метод оптимизации, разработанный для улучшения базового алгоритма Adam.

Начиная знакомство с нейронными сетями, мы обсуждали различные подходы к оптимизации параметров моделей. В своей работе мы используем разные подходы. Лично я наиболее часто использую метод Adam, который позволяет адаптивно настраивать оптимальную скорость обучения каждого параметра модели. Однако за эту адаптивность нужно платить. В алгоритме Adam используются моменты 1 и 2 порядка для каждого параметра модели, хранение которых потребляет память в 2 раза больше самой модели. Это потребление памяти стало серьезным препятствием при обучении больших моделей. На практике, для поддержания алгоритма с высоким потреблением памяти необходимо использовать выгрузку на CPU, что увеличивает задержку и замедляет процесс обучения. В свете указанных проблем становятся более актуальные вопросы поиска новых или совершенствование известных методов оптимизации параметров моделей. 

Одно из интересных решений было предложено в работе "Adam-mini: Use Fewer Learning Rates To Gain More", опубликованной в июле 2024 года. Её авторы предложили модификацию метода Adam без ущерба для его производительности. Новый оптимизатор под названием Adam-mini делит параметры модели на блоки, выбирает одну скорость обучения для каждого блока и имеет следующие преимущества:

  • Легкость: Adam-mini значительно сокращает количество скоростей обучения, используемых в Adam, что позволяет сократить потребление памяти на 45—50%.
  • Эффективность: Несмотря на экономию ресурсов, Adam-mini показывает сопоставимую или даже лучшую производительность, по сравнению с базовым методом Adam.


    Автор: Dmitriy Gizlyk

     
    Здравствуйте, я хотел спросить вас, когда я запускаю Study, у меня выдает ошибку  Error of execution kernel UpdateWeightsAdamMini: 5109, в чем причина и как ее решить, заранее большое спасибо.
     
    ezequiel moya #:
    Здравствуйте, я хотел спросить вас, когда я запускаю Study, у меня выдает ошибку  Error of execution kernel UpdateWeightsAdamMini: 5109, в чем причина и как ее решить, заранее большое спасибо.

    Добрый день, можете выложить журнал выполнения и архитектуру используемой модели? 

     

    Здравствуйте, посылаю вам записи Studio Encode и Study. Что касается архитектуры, то она почти такая же, как вы представили, за исключением того, что количество свечей в исследовании — 12, а данных этих свечей — 11. Также в выходном слое у меня всего 4 параметра.

    Файлы:
    20240804.log  23 kb
     
    Dmitry Gizlyk #:

    Buenas tardes, ¿puedes publicar el registro de ejecución y la arquitectura del modelo utilizado? 

    Здравствуйте, посылаю вам записи Studio Encode и Study. Что касается архитектуры, то она почти такая же, как вы представили, за исключением того, что количество свечей в исследовании — 12, а данных этих свечей — 11. Также в выходном слое у меня всего 4 параметра.
    Файлы:
    20240804.log  23 kb