Telegram Group & Telegram Channel
Тут Meta релизнули новую либу для обучения моделей - optimizers и я решил рассказать вам про основные особенности чуть более подробно, чем это сделали @data_secrets 😎

Для чего она нужна? Optimizers сильно расширяют функционал контроля обучения моделей для ускорения их сходимости. По видимому, в бигтехах устали от самописно-костыльных решений и Meta решила помочь всем и сразу🍷 Более того, красота этого оптимизатора в том, что его можно встроить в существующий пайплайн обучения модели, улучшив сходимоть обучаемой модели.

На данный момент в либе единственным оптимизатором является Distributed Shampoo, с помощью которого реализованы остальные методы оптимизации: SGD, Adagrad, RMSProp и Adam. К нему добавили новые гиперпараметры max_preconditioner_dim и precondition_frequency , которые позволяют регулировать размерность и частоту обновления матрицы preconditioner - оператора, который используется для преобразования задачи оптимизации, чтобы ускорить сходимость, изменяя масштаб его градиентов. Ограничивая его размер, мы регулируем объем вычисления и затраты на память, что может быть важно при обучении больших моделей. Частота обновления preconditioner влияет на точность сходимости, однако при высоких значениях требует больше памяти. Да, админу пришлось хорошо вспомнить линал, чтобы разобраться в подкапотных тонкостях😱

Порадовало, что Distributed Shampoo поддерживает разные варианты распределенного обучения, включая DDP и FSDP. Для DDP предусмотрена поддержка ZeRO-1, что снижает требования к памяти и времени выполнения. Однако для FSDP требуется использование дополнительной памяти для восстановления исходных параметров. Кстати в DDP можно обучать квантизованные модельки (BF16, FP16, FP32)🕺

Либа поддерживает чекпоинты, но в типе DTensor, который не поддерживается торчом, поэтому нужно применять методы distributed_state_dict и load_distributed_state_dict 🥺

Теперь основной вопрос - как эту всю красоту использовать?

Имея основной метод оптимизации, мы заменяем его на конфиг метода из либы (i.e. SGDGraftingConfig ), оставляя при этом старые значения некоторых гиперпараметров. Другие гиперпараметры тюнятся для повышения эффективности сходимости и этому делу посвящена целая глава в ридми проекта. Все это дело оборачивается в DistributedShampoo , который и является основным методом оптимизации.

Но что именно происходит, когда мы заменяем наш метод оптимизации на Shampoo? Понятно, что имея такой инструментарий, мы хотим применять этот оптимизатор для уточнения сходимости ранее обученных моделей. Но как подобрать верные параметры Shampoo, чтобы он не дестабилизировал модель, а действительно улучшил ее? Зная гиперпараметры заменяемого оптимизатора, мы можем вычислить последовательность и размер шагов обучения и приблизить Shampoo к этому процессу. На языке линала это происходит так:

1) Мы берём норму шага обучения из прошлого оптимизатора
2) Нормализуем шаг Shampoo, чтобы он имел ту же норму
3) Масштабируем нормализованный шаг Shampoo, умножая его на произведение нормы шага нашего оптимизатора и коэффициента обучения

В результате мы получили новый оптимизатор, настроенный на обучение нашей модели с любого этапа, который может обеспечить нам лучшую сходимость модели👏
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/kitty_bytes/27
Create:
Last Update:

Тут Meta релизнули новую либу для обучения моделей - optimizers и я решил рассказать вам про основные особенности чуть более подробно, чем это сделали @data_secrets 😎

Для чего она нужна? Optimizers сильно расширяют функционал контроля обучения моделей для ускорения их сходимости. По видимому, в бигтехах устали от самописно-костыльных решений и Meta решила помочь всем и сразу🍷 Более того, красота этого оптимизатора в том, что его можно встроить в существующий пайплайн обучения модели, улучшив сходимоть обучаемой модели.

На данный момент в либе единственным оптимизатором является Distributed Shampoo, с помощью которого реализованы остальные методы оптимизации: SGD, Adagrad, RMSProp и Adam. К нему добавили новые гиперпараметры max_preconditioner_dim и precondition_frequency , которые позволяют регулировать размерность и частоту обновления матрицы preconditioner - оператора, который используется для преобразования задачи оптимизации, чтобы ускорить сходимость, изменяя масштаб его градиентов. Ограничивая его размер, мы регулируем объем вычисления и затраты на память, что может быть важно при обучении больших моделей. Частота обновления preconditioner влияет на точность сходимости, однако при высоких значениях требует больше памяти. Да, админу пришлось хорошо вспомнить линал, чтобы разобраться в подкапотных тонкостях😱

Порадовало, что Distributed Shampoo поддерживает разные варианты распределенного обучения, включая DDP и FSDP. Для DDP предусмотрена поддержка ZeRO-1, что снижает требования к памяти и времени выполнения. Однако для FSDP требуется использование дополнительной памяти для восстановления исходных параметров. Кстати в DDP можно обучать квантизованные модельки (BF16, FP16, FP32)🕺

Либа поддерживает чекпоинты, но в типе DTensor, который не поддерживается торчом, поэтому нужно применять методы distributed_state_dict и load_distributed_state_dict 🥺

Теперь основной вопрос - как эту всю красоту использовать?

Имея основной метод оптимизации, мы заменяем его на конфиг метода из либы (i.e. SGDGraftingConfig ), оставляя при этом старые значения некоторых гиперпараметров. Другие гиперпараметры тюнятся для повышения эффективности сходимости и этому делу посвящена целая глава в ридми проекта. Все это дело оборачивается в DistributedShampoo , который и является основным методом оптимизации.

Но что именно происходит, когда мы заменяем наш метод оптимизации на Shampoo? Понятно, что имея такой инструментарий, мы хотим применять этот оптимизатор для уточнения сходимости ранее обученных моделей. Но как подобрать верные параметры Shampoo, чтобы он не дестабилизировал модель, а действительно улучшил ее? Зная гиперпараметры заменяемого оптимизатора, мы можем вычислить последовательность и размер шагов обучения и приблизить Shampoo к этому процессу. На языке линала это происходит так:

1) Мы берём норму шага обучения из прошлого оптимизатора
2) Нормализуем шаг Shampoo, чтобы он имел ту же норму
3) Масштабируем нормализованный шаг Shampoo, умножая его на произведение нормы шага нашего оптимизатора и коэффициента обучения

В результате мы получили новый оптимизатор, настроенный на обучение нашей модели с любого этапа, который может обеспечить нам лучшую сходимость модели👏

BY Kitty Bytes AI


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/kitty_bytes/27

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"The inflation fire was already hot and now with war-driven inflation added to the mix, it will grow even hotter, setting off a scramble by the world’s central banks to pull back their stimulus earlier than expected," Chris Rupkey, chief economist at FWDBONDS, wrote in an email. "A spike in inflation rates has preceded economic recessions historically and this time prices have soared to levels that once again pose a threat to growth." "Russians are really disconnected from the reality of what happening to their country," Andrey said. "So Telegram has become essential for understanding what's going on to the Russian-speaking world." Telegram does offer end-to-end encrypted communications through Secret Chats, but this is not the default setting. Standard conversations use the MTProto method, enabling server-client encryption but with them stored on the server for ease-of-access. This makes using Telegram across multiple devices simple, but also means that the regular Telegram chats you’re having with folks are not as secure as you may believe. He floated the idea of restricting the use of Telegram in Ukraine and Russia, a suggestion that was met with fierce opposition from users. Shortly after, Durov backed off the idea. "Markets were cheering this economic recovery and return to strong economic growth, but the cheers will turn to tears if the inflation outbreak pushes businesses and consumers to the brink of recession," he added.
from sg


Telegram Kitty Bytes AI
FROM American