说来惭愧,BERT等预训练模型用来做下游任务做了这么久了,居然一直不知道怎么用未标注数据训练它们,这里以BERT为例子介绍一下如何使用自己的未标注数据快速训练预训练模型。
其实也很简单,BERT的github上面就有:https://github.com/google-research/bert
分为两步,第一步:准备一个txt文件,这个文件就是你要训练BERT的自己的数据。训练的目的其实就是让BERT能对你数据中的那些黑话(专有名词等)有所熟悉。格式大改这样就行:
然后执行:
python create_pretraining_data.py \
--input_file=./sample_text.txt \
--output_file=/tmp/tf_examples.tfrecord \
--vocab_file=$BERT_BASE_DIR/vocab.txt \
--do_lower_case=True \
--max_seq_length=128 \
--max_predictions_per_seq=20 \
--masked_lm_prob=0.15 \
--random_seed=12345 \
--dupe_factor=5
max_predictions_per_seq是每个序