使用 Simple Transformers 微调预训练语言模型
Fine tuning a pretrained language model with Simple Transformers
在他的文章中 'Language Model Fine-Tuning For Pre-Trained Transformers' 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")
然后他补充道:
We assume that you have combined all the text in your dataset into two
text files train.txt and test.txt which can be found in the data/
directory.
我有两个问题:
问题 1
上面突出显示的句子是否暗示整个语料库将合并到一个文本文件中?所以假设训练语料库由 1,000,000 个文本文件组成,我们是否应该使用这样的代码将它们全部合并到一个文本文件中?
import fileinput
with open(outfilename, 'w') as fout, fileinput.input(filenames) as fin:
for line in fin:
fout.write(line)
问题二
我想我可以使用预训练模型:bert-base-multilingual-cased
。正确吗?
问题 1
是的,train_model()
和 eval_model()
方法的输入需要是单个文件。
将来可能会支持从多个文件动态加载
问题 2
是的,您可以使用 bert-base-multilingual-cased
模型。
您会找到更详细、更新的语言模型训练指南here。
来源-我是库的创建者
在他的文章中 'Language Model Fine-Tuning For Pre-Trained Transformers' 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")
然后他补充道:
We assume that you have combined all the text in your dataset into two text files train.txt and test.txt which can be found in the data/ directory.
我有两个问题:
问题 1
上面突出显示的句子是否暗示整个语料库将合并到一个文本文件中?所以假设训练语料库由 1,000,000 个文本文件组成,我们是否应该使用这样的代码将它们全部合并到一个文本文件中?
import fileinput
with open(outfilename, 'w') as fout, fileinput.input(filenames) as fin:
for line in fin:
fout.write(line)
问题二
我想我可以使用预训练模型:bert-base-multilingual-cased
。正确吗?
问题 1
是的,train_model()
和 eval_model()
方法的输入需要是单个文件。
将来可能会支持从多个文件动态加载
问题 2
是的,您可以使用 bert-base-multilingual-cased
模型。
您会找到更详细、更新的语言模型训练指南here。
来源-我是库的创建者