В своей статье «Тонкая настройка языковой модели для предварительно обученных трансформаторов» Тилина Раджапаксе (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 /.
У меня есть 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
. Правильно?