Роберта токенизация нескольких последовательностей - PullRequest
1 голос
/ 27 апреля 2020

Roberta Tokenizer в объятиях-преобразователях описывает метод токенизации Роберты следующим образом:

- single sequence: ``<s> X </s>``
- pair of sequences: ``<s> A </s></s> B </s>``

Мне любопытно, почему токенизация нескольких последовательностей не <s> A </s><s> B </s>?

Опираясь на вышесказанное, если бы я должен был кодировать более двух последовательностей вручную, я должен кодировать их как <s> A </s></s> B </s></s> C </s> или как <s> A </s><s> B </s><s> C </s>

1 Ответ

3 голосов
/ 28 апреля 2020

Как и во многих других вопросах, на этот вопрос, вероятно, лучше всего ответить «потому что он прошел предварительную подготовку таким образом».

Основным преимуществом моделей в семействе трансформаторов является безумное количество предварительной подготовки, которое идет на их. Если вы не готовы повторить недели / месяцы этой стадии предварительной подготовки, я думаю, что лучше всего принять эту функцию в том виде, в каком она есть.

В связи с этим это также означает, что предлагаемый вами подход к кормлению в более чем два предложения за раз, вероятно, не сработают, см. эту связанную проблему; Поскольку RoBERTa не обучена принимать ввод более чем из двух предложений, она может не работать без большого набора данных для предварительной подготовки.

Я думаю, что для более подробной информации о реализации c, вам, вероятно, также стоит подумать для самого трекера проблем с обнимающимися лицами это звучит как многообещающая функция, над которой другим может быть интересно поработать / использовать для себя. Но имейте в виду, что лимит токенов остается прежним, и 512 токенов - это не много для трех и более предложений ...

...