pytorch - 为什么 GPT2Model 的某些权重没有初始化?
问题描述
我正在将 GPT2 预训练模型用于研究项目,当我使用以下代码加载预训练模型时,
from transformers.models.gpt2.modeling_gpt2 import GPT2Model
gpt2 = GPT2Model.from_pretrained('gpt2')
我收到以下警告消息:
GPT2Model 的一些权重没有从 gpt2 的模型检查点初始化,而是重新初始化:['h.0.attn.masked_bias', 'h.1.attn.masked_bias', 'h.2.attn.masked_bias', ' h.3.attn.masked_bias','h.4.attn.masked_bias','h.5.attn.masked_bias','h.6.attn.masked_bias','h.7.attn.masked_bias',' h.8.attn.masked_bias', 'h.9.attn.masked_bias', 'h.10.attn.masked_bias', 'h.11.attn.masked_bias'] 你应该在下游训练这个模型任务能够将其用于预测和推理。
据我了解,它表示上述层的权重不是从预训练模型初始化的。但是我们都知道注意力层('attn')在 GPT2 中非常重要,如果我们不能从预训练模型中获得它们的实际权重,那么使用预训练模型有什么意义呢?
如果有人能向我解释这个并告诉我如何解决这个问题,我真的很感激。
解决方案
添加了 masked_bias,但与原始实现相比,huggingface 社区提高了速度。由于原始权重已正确加载,因此不应对性能产生负面影响。查看此PR以获取更多信息。
推荐阅读
- c# - Slack 消息与 c# 的集成
- reactjs - WebpackError:未定义窗口
- c - 在给定数字 N 之后将列更改为行
- java - 在我关闭屏幕后,我的应用程序的活动有时会进入后台
- react-native - 如何在本机基础中将 Tab 更改为 RTL?
- .net - 如何在 LabVIEW 中清理 Viewpoint XLSX 工具包的已用内存?
- r - 如何在 R 和 h2o 中使用预训练的 word2vec hex 文件
- algorithm - 求解器与系统搜索的约束满足问题
- angularjs - 需要帮助在 AWS 上的无服务器架构中部署 angularjs 1.5 应用程序
- javascript - 如何修复错误:未实现:导航(哈希更改除外)