Есть ли разница между tensor2tensor и pytorch с точки зрения памяти? - PullRequest
2 голосов
/ 05 мая 2020

Я пытаюсь обучить модель seq2seq (трансформатор) с помощью pytorch и tensor2tensor. При использовании tensor2tensor размер пакета может быть примерно 1024, в то время как модель pytorch показывает ошибку CUDA нехватки памяти с размером пакета 8.

Используется ли какой-либо метод, используемый в tensor2tensor для наилучшего использования памяти.

Если кто знает, скажите, пожалуйста.

Заранее спасибо.

1 Ответ

1 голос
/ 05 мая 2020

В Tensor2Tensor по умолчанию размер пакета указывается в количестве токенов (подслов) на один GPU. Это позволяет использовать большее количество коротких последовательностей (предложений) в одном пакете или меньшее количество длинных последовательностей. В большинстве других наборов инструментов используется фиксированный размер пакета, указанный в количестве последовательностей. В любом случае, может быть хорошей идеей ограничить максимальную длину предложения в обучении до разумного числа , чтобы предотвратить ошибки нехватки памяти и чрезмерное заполнение. Некоторые наборы инструментов также предпочитают указывать общий размер пакета для всех видеокарт.

...