albert_pytorch icon indicating copy to clipboard operation
albert_pytorch copied to clipboard

加载Brightmart模型时,AlbertForMaskedLM中的cls.predictions.project_layer参数无法正确加载

Open hong-feng opened this issue 5 years ago • 5 comments

project_layer的参数应该与bert.embeddings.word_embeddings_2的参数对应

hong-feng avatar Mar 25 '20 07:03 hong-feng

@hong-feng 用modeling_albert_bright.py文件

lonePatient avatar Mar 25 '20 07:03 lonePatient

@hong-feng 两个模型权重大小不一致的 不能对应上 只能加载bright版本

lonePatient avatar Mar 25 '20 07:03 lonePatient

@lonePatient 我用的是modeling_albert_bright.py文件中的MLM类,加载的是brightmart albert_xlarge_zh_183k模型。看代码tie weight那一步只有对decoder层和embedding层权重的绑定,没有考虑project_layer和embeddings_2的, 并且在load_tf_weights_in_albert函数中也没有对project_layer层的参数进行处理,因此最终project_layer层的参数是随机初始化的

hong-feng avatar Mar 26 '20 16:03 hong-feng

@hong-feng 你是要fine-tuning还是pretrianed?decoder部分使用project共享的话,好像会出问题。

lonePatient avatar Mar 27 '20 00:03 lonePatient

@hong-feng 你是要fine-tuning还是pretrianed?decoder部分使用project共享的话,好像会出问题。 我是加载brightmart的模型做了下预测,因为预测的结果异常,检查后发现这个参数加载的问题。 image这是我目前的解决方案

hong-feng avatar Mar 27 '20 07:03 hong-feng