Привет!
Столкнулся с проблемой. Она связана с конкретной задачей, но полагаю, что общие советы по тренировке Трансформеров будут полезны
В дипломе решаю задачу distractor generation (генерация неправильных опций в вопросах с несколькими вариантами ответов).
Делаю на базе статьи о модели
BDG, сейчас играюсь с имплементацией от авторов
В оригинале авторы тренировали BERT, подавая ему на вход
textparagraph <sep> question <sep> corectanswer <sep> distractor[0:i] <mask>
. Авторы тренировали bert-base-cased на RTX Titan, 6 эпох, 30 размер батча
У меня в наличии только P100 / V100. Чтобы уменьшить скорость обучения, я заменил bert на distilbert и уменьшил батч сайз до 12. Тем не менее, тренировка все занимает большое время (10 часов на эпоху).
1. На какие трансформеры еще стоит обратить внимание? Хочется, чтобы модель были сравнима с оригинальным Бертом по качеству, но тренировались гораздо быстрее (чтобы быстро запускать разные эксперименты)
2. Что еще можно изменить в тренировке для ускорения?
Батч сайз увеличить не получается, не хватает памяти gpu. Если уменьшать maxlen, то придется сокращать большое количество семплов