Как тренировать нейронную сеть, если размер модели больше, чем имеющийся объём памяти устройства?
Всегда можно создать модель НС, размер которой будет больше, чем объём памяти одиночного вычислительного устройства(сервера/видеокарты/ноды). Какие способы/принципы используются при обучении таких НС?
В моём случае актуальным является PyTorch и там я нашёл как использовать параллелизм модели. Single-Machine Model Parallel Best Practices
Если по простому, то раскидываем слои модели по разным устройствам и они поочереди считаются. Для ускорения процесса используется поточность - пока вторая карта считает последние слои, первая уже начинает считать первые слои на следующем примере.
Если не ошибаюсь, то нума работает в рамках одного сервера - она не может объединить всю стойку в одно целое. Вы хотите сказать, что размер модели ограничен устройством с максимальным количеством памяти?
Т.е. если у карт нвидиа максимальный объём памяти у устройства 192 гб, то и максимальный размер модели не может превышать этот размер?