130 строк
1)
если поставить per_device_train_batch_size=2, gradient_accumulation_steps = 8
то у нас градиент при обучении будет счтаться на основе 16 примеров из датасета
и датасет из 130 строк будет пройдет 1 раз за 9 итераций
и если ,при этом, я укажу num_train_epochs = 6, то всего будет выполнено 54 шага.
2)
Я так понимаю чтобы подобрать правильно per_device_train_batch_size и gradient_accumulation_steps
нужно увеличивать per_device_train_batch_size пока не закончится vram и потом исходя из желаемого еффективного размера подобрать gradient_accumulation_steps.
Но как знать какой еффективный размер оптимален?
Как добиться максимального качества обучения (максимальной потери лосса) а рамках подбора этих параметров если скорость обучения не имеет значения ?(per_device_train_batch_size,gradient_accumulation_steps,num_train_epochs)
еще хотел уточнить стоит ли использовать with torch.cuda.amp.autocast() при тренинге?
Обсуждают сегодня