在他的文章“预训练变形金刚的语言模型微调”中,Thilina Rajapakse ( https://medium.com/skilai/language-model-fine-tuning-for-pre-trained-transformers-b7262774a7ee ) 提供了以下代码使用库微调预训练模型的片段simpletransformers
:
from simpletransformers.language_modeling import LanguageModelingModel
import logging
logging.basicConfig(level=logging.INFO)
transformers_logger = logging.getLogger("transformers")
transformers_logger.setLevel(logging.WARNING)
train_args = {
"reprocess_input_data": True,
"overwrite_output_dir": True,
}
model = LanguageModelingModel('bert', 'bert-base-cased', args=train_args)
model.train_model("data/train.txt", eval_file="data/text.txt")
model.eval_model("data/test.txt")
然后他补充说:
我们假设您已将数据集中的所有文本组合成两个文本文件 train.txt 和 test.txt,它们可以在 data/ 目录中找到。
我有两个问题:
问题 1
上面突出显示的句子是否意味着整个语料库将被合并到一个文本文件中?因此,假设训练语料库由 1,000,000 个文本文件组成,我们是否应该将它们全部合并到一个文本文件中,并使用这样的代码?
import fileinput
with open(outfilename, 'w') as fout, fileinput.input(filenames) as fin:
for line in fin:
fout.write(line)
问题2
我认为我可以使用预训练模型:bert-base-multilingual-cased
. 正确的?