Локальна акумуляція градієнтів прискорює навчання у 1,7 раза

Швидкість навчання часто стає обмеженою через простої в конвеєрах (pipelines). Такий час очікування називають «бульбашкою» (bubble).

Новий метод під назвою PACI вирішує цю проблему. Він усуває ці «бульбашки» та прискорює навчання у 1,69 раза.

Більшість команд використовують стратегію під назвою 1F1B-flush. Цей метод забезпечує узгодженість ваг, але створює порожні слоти, де система очікує на дані. Час очікування сповільнює весь процес.

Інші асинхронні методи намагаються виправити це. Вони використовують складні прийоми, такі як збереження ваг (weight stashing) або створення дублікатів. Ці методи споживають занадто багато пам'яті та часто роблять навчання нестабільним.

PACI обирає інший шлях. Він використовує локальну акумуляцію градієнтів. Це дозволяє підтримувати конвеєр завантаженим без необхідності глобальної синхронізації.

Ось чому PACI має значення:

  • Він забезпечує таку ж стабільність, як і стандартні методи.
  • Він використовує таку ж кількість пам'яті.
  • Він досягає швидкості швидших, але важчих конфігурацій.
  • Він скорочує час досягнення цільової точності (time-to-accuracy) у 1,69 раза.

У тестах із GPT-2 Medium PACI досяг цільової точності набагато швидше. Це демонструє, що можна обміняти незначний дрейф ваг (weight drift) на величезний приріст ефективності.

Для інженерних команд це означає 40% скорочення витрат на обладнання. Ви отримуєте швидші результати без купівлі додаткових GPU або збільшення обсягу пам'яті.

Дослідники протестували це на 8-етапному конвеєрі з моделями типу GPT. Вам може знадобитися налаштувати вікно акумуляції, якщо ви зміните глибину конвеєра або розмір пакету (batch size).

Ви можете протестувати це самостійно. Автори надають обгортку (wrapper) для локальної акумуляції у своєму репозиторії. Замініть свій поточний синхронізатор flush на неї, щоб побачити прискорення.

Source: https://dev.to/olaughter/local-gradient-accumulation-speeds-training-17x-2mdk

Optional learning community: https://t.me/GyaanSetuAi