Обучение контрастным потерям при реализации нескольких графических процессоров
Не могли бы вы помочь мне понять, как тренировать любые типы контрастных потерь в режиме параллельных данных на нескольких графических процессорах? Я использую хоровод для работы с несколькими GPU. При обучении классификациям все довольно просто - каждый результат модели сравнивается с его меткой. Но когда выходы и функция потерь зависят от всей партии, я не уверен, как это работает.
Если, например, я тренируюсь на 8 графических процессорах с BS=64, "эффективный размер пакета" будет 64*8 в случае классификации. Но когда я использую любые потери, которые сравнивают выходные данные с другими выходами в пакете, какой смысл использовать несколько графических процессоров?
Спасибо!