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: |

As a result, the pandemic saw many newcomers to Telegram, including prominent anti-vaccine activists who used the app's hands-off approach to share false information on shots, a study from the Institute for Strategic Dialogue shows. Perpetrators of these scams will create a public group on Telegram to promote these investment packages that are usually accompanied by fake testimonies and sometimes advertised as being Shariah-compliant. Interested investors will be asked to directly message the representatives to begin investing in the various investment packages offered. The regulator said it had received information that messages containing stock tips and other investment advice with respect to selected listed companies are being widely circulated through websites and social media platforms such as Telegram, Facebook, WhatsApp and Instagram. Asked about its stance on disinformation, Telegram spokesperson Remi Vaughn told AFP: "As noted by our CEO, the sheer volume of information being shared on channels makes it extremely difficult to verify, so it's important that users double-check what they read." To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat.
from br


Telegram Kitty Bytes AI
FROM American