ZEN 是由創新工場 AI 工程院和香港科技大學聯合研究的一款基於 BERT 的中文預訓練模型。
在中文任務中,ZEN不僅性能優於BERT,也比之前中文預訓練模型更好。
ZEN 對高概率成詞的 n-gram 添加了獨有的編碼和向量表示,此模型可以提供更強的文本的編碼能力和理解能力。
其中run_pre_train.py是一個預訓練ZEN的樣例,使用scratch或BERT模型。
run_sequence_level_classification.py是在DC,SA,SPM,NLI任務(時序分類)上的微調ZEN的樣例。
命令如下
python run_pre_train.py \\
--pregenerated_data /path/to/pregenerated_data \\
--bert_model /path/to/bert_model \\
--do_lower_case \\
--output_dir /path/to/output_dir \\
--epochs 20 \\
--train_batch_size 128 \\
--reduce_memory \\
--fp16 \\
--scratch \\
--save_name ZEN_pretrain_base_
python run_sequence_level_classification.py \\
--task_name TASKNAME \\
--do_train \\
--do_eval \\
--do_lower_case \\
--data_dir /path/to/dataset \\
--bert_model /path/to/zen_model \\
--max_seq_length 512 \\
--train_batch_size 32 \\
--learning_rate 2e-5 \\
--num_train_epochs 30.0
run_token_level_classification.py是在CWS,POS,NER任務(token分類)上的微調ZEN的樣例。
命令如下
python run_token_level_classification.py \\
--task_name TASKNAME \\
--do_train \\
--do_eval \\
--do_lower_case \\
--data_dir /path/to/dataset \\
--bert_model /path/to/zen_model \\
--max_seq_length 128 \\
--do_train \\
--do_eval \\
--train_batch_size 128 \\
--num_train_epochs 30 \\
--warmup_proportion 0.1
閱讀更多 AI踐行者 的文章