Градиентное квантование в параллельных данных SGD с пользовательским квантователем

Я хотел бы провести параллельное обучение SGD с собственным градиентным квантованием (чтобы уменьшить связь). Каждый рабочий узел отправляет закодированный (сжатый) градиент на главный узел. Главный узел декодирует сжатый градиент и обновляет параметры. Я буду использовать свои собственные функции кодирования (квантования) и декодирования.

Мне было интересно, в каких рамках глубокого обучения это сделать относительно просто. Спасибо!

1 ответ

Tensorflow имеет встроенный распределенный подход (сервер параметров). Тензорный поток Распределенный

Horovod от uber engg исключительно посвящен этой проблеме. Horovod обзор Horovod github. Я лично предпочитаю подход Horovod, поскольку он масштабируется по тензорному потоку и pytorch. И действительно, многие команды сегодня используют diff takeits для задач diff. Так что, если вы тратите время, упростите портирование между наборами инструментов.

Другие вопросы по тегам