В своей статье «Тонкая настройка языковой модели для предварительно обученных трансформеров» Тилина Раджапаксе (https://medium.com/skilai/language-model-fine-tuning-for-pre-trained-transformers-b7262774a7ee)rel=) предоставляет следующий фрагмент кода для точной настройки предварительно обученная модель с использованием библиотеки 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 /.
У меня 2 вопроса:
Вопрос 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
. Верный?