【发布时间】:2021-06-30 10:40:05
【问题描述】:
我正在尝试使用我自己的数据集微调 Bert 模型以进行下一句预测,但它不起作用。 谁能告诉我我的数据集的结构应该是什么?如何使用拥抱脸训练器()进行微调?
def train(bert_model,bert_tokenizer,path,eval_path=None):
out_dir = "/content/drive/My Drive/next_sentence/"
training_args = TrainingArguments(output_dir=out_dir,
overwrite_output_dir=True,
num_train_epochs=1,
per_device_train_batch_size=30,
save_steps=100,
save_total_limit=5,
)
data_collator = DataCollatorForLanguageModeling(tokenizer=bert_tokenizer)
trainer = Trainer(
model=bert_model,
args=training_args,
data_collator=data_collator,
train_dataset="c:/data.txt",
tokenizer=BertTokenizer)
trainer.train()
trainer.save_model(out_dir)
import transformers
from torch.nn.functional import softmax
from transformers import BertTokenizer, BertTokenizerFast, BertForNextSentencePrediction,TextDatasetForNextSentencePrediction
import torch
from transformers import Trainer, TrainingArguments
from transformers.data.data_collator import DataCollatorForLanguageModeling
def main():
bert_tokenizer = BertTokenizer.from_pretrained("bert-base-cased")
bert_model = BertForNextSentencePrediction.from_pretrained("bert-base-cased")
train_data_set_path = "c:/data.txt"
train(bert_model,BertTokenizer,train_data_set_path)
#prepare_data_set(bert_tokenizer)
main()
【问题讨论】:
-
请分享一个最小可重现的例子。
标签: prediction next bert-language-model sentence