Skip to content
3 / 12

Обучение на кластере: распределённые стратегии, контрольные точки и восстановление

Распределённое обучение бывает трёх видов, и выбор диктует размер модели. Data parallel: копия модели на каждой карте, батч делится, градиенты усредняются — просто и эффективно, пока модель помещается в память одной карты. Sharded data parallel (ZeRO, FSDP): состояния оптимизатора, градиенты и параметры разрезаются между картами, что резко снижает требования к памяти ценой дополнительного обмена. Model parallel (тензорный и конвейерный): сама модель делится между картами, нужен, когда она не влезает даже в шардированном виде. Отдельно от стратегии стоит отказоустойчивость: чем дольше обучение, тем выше вероятность, что узел упадёт, и без контрольных точек это означает потерю всей работы. Практика — сохранять состояние модели, оптимизатора, планировщика скорости обучения и позиции в данных; писать атомарно; хранить в объектном хранилище; и обязательно проверять восстановление, потому что «сохраняется» и «восстанавливается» — разные утверждения.

Обучение на кластере: распределённые стратегии, контрольные точки и восстановление | JScriptiser