如何将multi task训练的某个模型抽取出来

# -*- coding: utf8 -*-
#
import hanlp
from hanlp.components.srl.span_bio.span_bio import SpanBIOSemanticRoleLabeler

HanLP = hanlp.load(
    hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH,
    devices=['cpu'],
)  # 世界最大中文语料库
samples = [
    # '我爱你们和北京。',
    # '我爱你们。',
    '与此同时,我们也为用户提供了客服申诉渠道、文档找回路径。',
    '华为支付事业群总裁马传勇:鸿蒙 HarmonyOS 3.0 正式版将于 7 月底发布',
    '口腔、鼻腔、咽腔口腔由上腭和下腭两部分构成。'
]

batch_result = HanLP(samples,
                     skip_tasks=['tok/coarse', 'dep', 'con', 'sdp', 'pos/ctb', 'ner/ontonotes', 'ner/msra',
                                 'ner/pku', 'pos/863'])
print(batch_result)

t = SpanBIOSemanticRoleLabeler()
t.load(save_dir='output')


def convert():
    t.model.embed.load_state_dict(HanLP.model.encoder.state_dict())
    t.model.decoder.load_state_dict(HanLP.model.decoders.srl.state_dict())
    t.save_weights(save_dir='output')


convert()
result = t.predict(batch_result['tok/fine'], len(batch_result['tok/fine']))
print(result)
# t.fit(
#     ONTONOTES5_CONLL12_CHINESE_TRAIN,
#     ONTONOTES5_CONLL12_CHINESE_DEV,
#     # ONTONOTES5_CONLL12_CHINESE_TEST,
#     save_dir='output',
#     embed=ContextualWordEmbedding('token',
#                                   "hfl/chinese-electra-180g-small-discriminator",
#                                   average_subwords=True,
#                                   max_sequence_length=512,
#                                   word_dropout=.1),
#
#     sampler=SortingSamplerBuilder(batch_size=2, batch_max_tokens=2048),
#     lr=1e-3,
#     crf=True,
#     # dependencies='tok',
# )

非常抱歉耽误大家的时间,我debug了好久,还是没看出问题在哪,故来烦请大家帮忙解决 :sweat_smile:

问题如下:
请看上面代码,我将multi task训练好的模型中的encoder和decoder的SRL模型的weight加载进来,然后进行预测,发现两个结果的输出并不一样,尤其对于第三句话:口腔、鼻腔、咽腔口腔由上腭和下腭两部分构成。,有两个ARG1

我应该怎么做才能使结果的输出和multi task的输出是一样的呢?
output.zip (2.2 KB)

output.zip为相关的配置文件和vocab