我已经训练了一个(AllenNLP)多任务模型。我想保留编码器/骨干的权重,并继续在新数据集上使用新头进行训练。我怎么能用 AllenNLP 做到这一点?
对于如何做到这一点,我有两个基本想法:
我按照这个 AllenNLP 教程加载了经过训练的模型,然后我想更改配置和模型头以继续在新数据集上进行训练,而不是仅仅进行预测……但我有点迷失在如何做到这一点。
我想应该可以(a)将先前训练的编码器的状态字典保存在一个文件中,然后(b)指向新模型的配置文件中的那些权重(而不是指向“bert-base-例如,“装箱”-权重)。但是看着PretrainedTransformerEmbedder 类,我看不到如何将自己的模型权重传递给该类。
作为一个额外的问题:是否也可以单独保存头部的权重并用这些权重初始化新的头部?
任何帮助表示赞赏:)