Эти понятия связаны с параллельными вычислениями. Было бы полезно немного узнать о параллельных вычислениях, например, MPI .
. Вы можете думать о world
как о группе, содержащей все процессы для вашего распределенного обучения. Обычно каждый графический процессор соответствует одному процессу. Процессы в world
могут взаимодействовать друг с другом, поэтому вы можете распределять свою модель распределенно и при этом получать правильное обновление градиента. Таким образом, размер мира - это количество процессов для вашего обучения, которое обычно представляет собой количество графических процессоров, которые вы используете для распределенного обучения.
Rank
- это уникальный идентификатор, присвоенный процессу, чтобы другие процессы знали, какопределить конкретный процесс. Локальный ранг - это уникальный локальный идентификатор для процессов, выполняющихся в одном узле , здесь мое мнение отличается от @ zihaozhihao.
Давайте рассмотрим конкретный пример. Предположим, что мы проводим наше обучение на 2 серверах или узлах и на каждом по 4 графических процессора. Размер мира 4 * 2 = 8. Ранги для процессов будут [0, 1, 2, 3, 4, 5, 6, 7]
. В каждом узле местный ранг будет [0, 1, 2, 3]
.
Я также написал пост о коллективах MPI и основных понятиях. Ссылка здесь .