Модель языка GPT-2: умножение вывода декодер-преобразователь с вложением токена или другой весовой матрицы - PullRequest
1 голос
/ 12 февраля 2020

Я читал код языковой модели GPT2. Преобразование скрытых состояний в распределение вероятностей по словарному запасу было выполнено в следующей строке:

lm_logits = self.lm_head(hidden_states)

Здесь

self.lm_head = nn.Linear(config.n_embd, config.vocab_size, bias=False)

Однако в оригинальной статье они предложили умножить скрытые состояния на матрицу встраивания токенов, тогда как реализация huggingface использовала другую матрицу.

Есть ли в этом какое-то преимущество? Я что-то пропустил?

1 Ответ

0 голосов
/ 13 февраля 2020

Оба слоя имеют одинаковый вес. https://github.com/huggingface/transformers/issues/2824

...