Forwarded from Machinelearning
PyTorch представил усовершенствованные методы Activation Checkpointing (AC), цель которых - снижение потребления памяти при обучении.
Традиционный подход в
eager mode
сохраняет промежуточные активации для обратного прохода, что зачастую приводит к значительному расходу ресурсов. AC позволяет не сохранять эти тензоры, а вычислять их заново при необходимости, тем самым жертвуя вычислительным временем ради экономии памяти.Новая техника – Selective Activation Checkpoint (SAC). В отличие от обычного AC, который затрагивает всю выбранную область, SAC дает гранулярный контроль над тем, какие операции следует пересчитывать, а какие – сохранять. Это достигается за счет использования
policy_fn
, определяющей, нужно ли сохранять результаты конкретной операции. SAC будет полезен для избегания перевычисления ресурсоемких операций, например, матричных умножений.Для
torch.compile
стала доступна Memory Budget API. Эта функция автоматически применяет SAC с оптимальной политикой, исходя из заданного пользователем бюджета памяти (от 0 до 1). Бюджет 0 соответствует обычному AC, а 1 – поведению torch.compile
по умолчанию. @ai_machinelearning_big_data
#AI #ML #Pytorch
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3