GPT-2 语言模型:将解码器-转换器输出与令牌嵌入或另一个权重矩阵相乘
Posted
技术标签:
【中文标题】GPT-2 语言模型:将解码器-转换器输出与令牌嵌入或另一个权重矩阵相乘【英文标题】:GPT-2 language model: multiplying decoder-transformer output with token embedding or another weight matrix 【发布时间】:2020-05-27 23:15:41 【问题描述】:我正在阅读 GPT2 语言模型的代码。隐藏状态到词汇概率分布的转换在以下行中完成:
lm_logits = self.lm_head(hidden_states)
这里,
self.lm_head = nn.Linear(config.n_embd, config.vocab_size, bias=False)
然而, 在original paper 中,他们建议将隐藏状态与令牌嵌入矩阵相乘,而huggingface 的实现使用另一个矩阵。
这样做有什么好处吗?我错过了什么吗?
【问题讨论】:
你在变压器库的 github 中提出过这个问题吗?这可能是一个更好的地方来询问这个特定的设计选择。 【参考方案1】:两个层共享相同的权重。 https://github.com/huggingface/transformers/issues/2824
【讨论】:
以上是关于GPT-2 语言模型:将解码器-转换器输出与令牌嵌入或另一个权重矩阵相乘的主要内容,如果未能解决你的问题,请参考以下文章