Приветствую.
Часто случается, что тренировка модели упирается в объем видеопамяти.
В частности, размер минибатча пропорционально увеличивает потребление видеопамяти.
Делать минибатчи маленькими тоже не хочется — теряется обобщающая способность.
Насколько понимаю, основная работа обучения это матричные (вернее тензорные) операции.
Наверняка есть трюки, чтобы матрицу не грузить в память целиком.
Например, матрица разбивается на подматрицы (матрица матриц), и операции ведутся с этими подматрицами, а потом это как-то объединяется.
Эх, забыл линейную алгебру
Еще такой момент. В tensorflow и др. пакетах есть multigpu-конфигурации.
Насколько я понимаю, из одной видюхи в другую много информации не гоняется, т.к. это накладно. Т.е. софт всё таки умеет распределять данные на более мелкие порции...
Есть ли какие-то способы чтобы
и рыбку съесть и минибатчт сохранить достойного размера и обойтись разумным количеством видеопамяти?
Модератор-националист Kerk преследует оппонентов по политическим мотивам.