Сколько символов можно ввести в приглашение для GPT-2

Я использую модель OpenAI GPT-2 из github.

Я думаю, что параметр top_k определяет, сколько токенов будет отобрано. Является ли это также параметром, определяющим размер подсказки?

Если top_k = 40, насколько большим может быть приглашение?


person Hanley Soilsmith    schedule 12.08.2020    source источник


Ответы (1)


GPT-2 работает не на уровне символов, а на уровне подслов. Максимальная длина текстовых сегментов, на которых проводилось обучение, составила 1024 подслова.

Он использует словарь, основанный на byte-pair- кодировка. При таком кодировании частые слова остаются нетронутыми, а нечастые слова разбиваются на несколько единиц, в конечном итоге вплоть до байтового уровня. На практике сегментация выглядит так (69 символов, 17 подслов):

Hello , ▁Stack Over flow ! ▁This ▁is ▁an ▁example ▁how _a ▁string ▁gets ▁segment ed .

Во время обучения нет разницы между подсказкой и ответом, поэтому единственным ограничением является то, что подсказка и ответ не могут быть длиннее 1024 подслов. Теоретически вы можете продолжать генерировать дальше, но модель истории считает, что она никогда не может быть длиннее.

Выбор top_k влияет только на требования к памяти. Длинный запрос также требует больше памяти, но это, вероятно, не главное ограничение.

person Jindřich    schedule 13.08.2020
comment
применяется ли тот же предел (1024) при выводе? - person Woody; 29.06.2021