【问题标题】:Retrain a BERT Model重新训练 BERT 模型
【发布时间】:2022-01-01 21:45:25
【问题描述】:

我已经使用 pytorch 训练了一个 BERT 模型,用于分类任务的大约一百万个文本数据。在用新数据测试这个模型后,我得到了 False Positives 和 False Negatives。现在我只想用 FN 和 FP 重新训练现有模型。我不想将 FN 和 FP 附加到现有数据集,然后再次训练整个模型。如何仅使用这些 FN 和 Fp 重新训练这个 bert 模型,而不是以前训练的模型。

【问题讨论】:

    标签: nlp pytorch text-classification bert-language-model pre-trained-model


    【解决方案1】:

    在不知道训练循环的代码的情况下,训练后的想法应该如下所示:

    results = model(data)
    wrong_datapoints = []
    for i, result in enumerate(results)
    
        if result != labels[i]:
            wrong_datapoints.append((data[i],labels[i]))
    
    
    (data_new, labels_new) = list(zip(*wrong_datapoints))
    
    model.train(data_new, labels_new)
    

    如果您想要更具体的内容,则必须提供当前火车循环的代码。

    【讨论】:

    • 感谢您的反馈。但我想保留它的模型版本,因为我们每周都会对其进行训练,所以我们对其进行建模。而且迭代一​​百万条记录也需要很多时间。我正在考虑加载以前版本的 bin 文件(v1.0),然后仅使用新数据点重新训练它以创建另一个版本 v2.0
    • 您可能想澄清您的问题以说明这一点。但是,进行版本控制并不能消除在训练后跟踪数据点结果的需要,需要在训练完成后对训练数据进行一次循环。毕竟,您需要确定“新数据点”是什么。
    猜你喜欢
    • 1970-01-01
    • 2020-12-08
    • 2021-12-07
    • 2021-10-22
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2021-06-08
    相关资源
    最近更新 更多