Почему в GPT используется декодер, а не энкодер
Что проверяют
Понимаете ли вы, чем задача авторегрессионной генерации отличается от задачи получения представления, и следует ли из этого выбор блока. Вопрос базовый для любой позиции, связанной с языковыми моделями.
Как отвечать
GPT обучается предсказывать следующий токен по предыдущим. Для этого внимание должно быть причинным: позиция видит только то, что слева от неё. Маска, запрещающая заглядывать вперёд, и есть отличительная черта декодерного блока.
Энкодер устроен наоборот: его самовнимание двунаправленное, каждый токен видит всю последовательность. Это отлично для классификации и извлечения признаков, но для генерации слева направо не годится вовсе: обучаясь так, модель на каждом шаге уже видит ответ, и предсказательной задачи не остаётся. Поэтому энкодерные модели учат заполнять пропуски, а не продолжать текст.
Строго говоря, GPT это не целый декодер из исходной архитектуры. Из него убран блок перекрёстного внимания, потому что кодировать нечего: отдельной входной последовательности нет, вход и выход это один поток. Остаются причинное самовнимание и полносвязный блок.
Полезно назвать два практических следствия. Первое: при причинной маске одна последовательность длины n даёт сразу n обучающих примеров за проход, тогда как маскированное языковое моделирование учится лишь на малой доле закрытых позиций. Второе: причинность позволяет кэшировать ключи и значения, поэтому каждый новый токен не требует пересчёта всей истории.
Где спотыкаются
Отвечают тавтологией: декодер декодирует, энкодер кодирует. От кандидата ждут слов про причинную маску и авторегрессию, без них ответ не засчитывают.
Второе: думают, что декодер в GPT сохраняет перекрёстное внимание к какому-то энкодеру. Его там нет, и это принципиально: схема из энкодера и декодера осталась в моделях перевода и прочих задачах преобразования последовательности в последовательность.
Третье: заявляют, что модель только из декодера не умеет понимать текст, а умеет лишь генерировать. Разница в маске внимания, а не в способностях: скрытые состояния годятся и для классификации, и для векторных представлений, а сами задачи понимания формулируются через продолжение текста.