Transformer实战——使用 run_glue.py 微调模型
0. 前言
我们已经学习了如何使用原生 PyTorch 和 Trainer 类从零开始微调 Transformer
模型。Hugging Face
还提供了一个强大脚本run_glue.py
,用于 GLUE 基准测试和类似 GLUE
的分类下游任务,可以为我们处理和组织整个训练/验证过程。如果希望快速进行原型开发,可以使用这个脚本。它可以微调 Hugging Face Hub
上的任何预训练模型,并且支持以任何格式输入自定义数据。
1. run_glue.py
run_glue.py
脚本可以执行九个不同的 GLUE
任务。使用这个脚本,可以实现使用 Trainer
类完成的所有任务,例如情感分析、多类别分类、多标签分类等。任务名称可以是以下 GLUE 任务之一:cola
、sst2
、mrpc
、stsb
、qqp
、mnli
、qnli
、rte
或 wnli
。
使用 run_glue.py
脚本微调模型:
$ export TASK_NAME= "My-Task-Name"
$ python run_glue.py \
--model_name_or_path bert-base-cased \
--task_name $TASK_NAME \
--do_train \ --do_eval \
--max_seq_length 128 \
--per_device_train_batch_size 32 \
--learning_rate 2e-5 \
--num_train_epochs 3 \
--output_dir /tmp/$TASK_NAME/
2. run_glue_no_trainer.py
Hugging Face
还提供了另一个脚本 run_glue_no_trainer.py
。与 run_glue.py
脚本的主要区别在于,run_glue_no_trainer.py
脚本能够修改优化器选项或添加自定义操作。
相关链接
Transformer实战(1)——词嵌入技术详解
Transformer实战(2)——循环神经网络详解
Transformer实战(3)——从词袋模型到Transformer:NLP技术演进
Transformer实战(4)——从零开始构建Transformer
Transformer实战(5)——Hugging Face环境配置与应用详解
Transformer实战(6)——Transformer模型性能评估
Transformer实战(7)——datasets库核心功能解析
Transformer实战(8)——BERT模型详解与实现
Transformer实战(9)——Transformer分词算法详解
Transformer实战(10)——生成式语言模型 (Generative Language Model, GLM)
Transformer实战(11)——从零开始构建GPT模型
Transformer实战(12)——基于Transformer的文本到文本模型
Transformer实战(13)——从零开始训练GPT-2语言模型
Transformer实战(14)——微调Transformer语言模型用于文本分类
Transformer实战(15)——使用PyTorch微调Transformer语言模型
Transformer实战(16)——微调Transformer语言模型用于多类别文本分类
Transformer实战(17)——微调Transformer语言模型进行多标签文本分类