Сколько символов можно ввести в "подсказку" для GPT-2
Я использую модель OpenAI GPT-2 с github
Я думаю, что параметр top_k определяет, сколько токенов выбирается. Является ли это параметром, определяющим размер приглашения?
Если top_k = 40, насколько большим может быть приглашение?
1 ответ
GPT-2 работает не на уровне персонажа, а на уровне подслова. Максимальная длина текстовых сегментов в обучении составила 1024 подслова.
Он использует словарь, основанный на кодировании пар байтов. При таком кодировании частые слова остаются нетронутыми, редкие слова разбиваются на несколько единиц, в конечном итоге вплоть до байтового уровня. На практике сегментация выглядит так (69 символов, 17 подслов):
Hello , ▁Stack Over flow ! ▁This ▁is ▁an ▁example ▁how _a ▁string ▁gets ▁segment ed .
Во время обучения нет разницы между подсказкой и ответом, поэтому единственное ограничение состоит в том, что подсказка и ответ не могут быть длиннее 1024 подслов в общей сложности. Теоретически вы можете продолжать генерировать и дальше, но, как считает историческая модель, больше никогда не будет.
Выбор top_k
влияет только на требования к памяти. Длинный запрос также требует больше памяти, но, вероятно, это не главное ограничение.