Да, это напрямую связано со способом обучения BERT. В частности, я призываю вас взглянуть на оригинальную бумагу BERT , в которой авторы вводят значение [CLS]
токена:
[CLS]
является специальным Символ добавляется перед каждым входным примером [...].
В частности, он используется для целей классификации и, следовательно, является первым и самым простым выбором для любой тонкой настройки для задач классификации. То, что делает ваш соответствующий фрагмент кода, в основном просто извлекает этот [CLS]
токен.
К сожалению, документация DistilBERT библиотеки Huggingface явно не ссылается на это, но вам лучше проверить их Документация BERT , в которой также освещаются некоторые проблемы с токеном [CLS]
, аналогичные вашим проблемам:
Наряду с MLM BERT обучался с использованием цели прогнозирования следующего предложения (NSP) с использованием [CLS] токен как последовательность приблизительная. Пользователь может использовать этот токен (первый токен в последовательности, построенной из специальных токенов), чтобы получить прогноз последовательности, а не прогноз токена. Однако усреднение по последовательности может дать лучшие результаты, чем использование токена [CLS].