From d0717eac2139a6b95dc84d0302d4ea964e1db2f8 Mon Sep 17 00:00:00 2001 From: Steffy-zxf <48793257+Steffy-zxf@users.noreply.github.com> Date: Mon, 28 Oct 2019 14:12:14 +0800 Subject: [PATCH] update autodl finetuner (#196) * update autodl * fix reader that drops dataset in predicting phase * update the directory of tmp.txt --- README.md | 16 +- RELEASE.md | 6 +- demo/autofinetune/README.md | 28 +++ demo/autofinetune/hparam.yaml | 11 ++ demo/autofinetune/img_cls.py | 130 ++++++++++++++ demo/autofinetune/run_autofinetune.sh | 10 ++ demo/sequence-labeling/README.md | 4 +- demo/sequence-labeling/predict.py | 4 +- demo/sequence-labeling/sequence_label.py | 4 +- demo/text-classification/run_classifier.sh | 1 + demo/text-classification/text_classifier.py | 4 + docs/imgs/demo.png | Bin 0 -> 287160 bytes paddlehub/__init__.py | 2 + paddlehub/autofinetune/autoft.py | 59 ++++-- paddlehub/autofinetune/evaluator.py | 92 ++++++---- paddlehub/commands/autofinetune.py | 52 ++++-- paddlehub/dataset/__init__.py | 1 + paddlehub/dataset/tnews.py | 105 +++++++++++ paddlehub/dataset/toxic.py | 4 +- paddlehub/finetune/task/basic_task.py | 34 +++- paddlehub/finetune/task/sequence_task.py | 139 +++++++++++---- paddlehub/reader/cv_reader.py | 4 +- paddlehub/reader/nlp_reader.py | 27 ++- paddlehub/version.py | 2 +- requirements.txt | 2 +- setup.py | 2 +- tutorial/autofinetune-cv.md | 29 +-- tutorial/autofinetune-nlp.md | 20 ++- tutorial/autofinetune.md | 122 +++++++------ tutorial/strategy_exp.md | 187 +++++++------------- 30 files changed, 771 insertions(+), 330 deletions(-) create mode 100644 demo/autofinetune/README.md create mode 100644 demo/autofinetune/hparam.yaml create mode 100644 demo/autofinetune/img_cls.py create mode 100644 demo/autofinetune/run_autofinetune.sh create mode 100644 docs/imgs/demo.png create mode 100644 paddlehub/dataset/tnews.py diff --git a/README.md b/README.md index b1afcda5..264ab387 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE) [![Version](https://img.shields.io/github/release/PaddlePaddle/PaddleHub.svg)](https://github.com/PaddlePaddle/PaddleHub/releases) -PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习工具,可以结合预训练模型更便捷地开展迁移学习工作。通过PaddleHub,您可以: +PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习工具,可以结合预训练模型更便捷地开展迁移学习工作。PaddleHub特性: * 便捷地获取PaddlePaddle生态下的所有预训练模型,涵盖了图像分类、目标检测、词法分析、语义模型、情感分析、语言模型、视频分类、图像生成、图像分割等主流模型。 * 更多详情可查看官网:https://www.paddlepaddle.org.cn/hub @@ -17,9 +17,9 @@ PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习 * [回归任务](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.2/demo/sentence_similarity) * [句子语义相似度计算](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.2/demo/sentence_similarity) * [阅读理解任务](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.2/demo/reading-comprehension) -* PaddleHub支持超参优化(Auto Fine-tune),给定Fine-tune任务运行脚本以及超参搜索范围,Auto Fine-tune即可给出对于当前任务的较佳超参数组合。 - * [PaddleHub超参优化功能autofinetune使用教程](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.2/tutorial/autofinetune.md) -* PaddleHub引入『**模型即软件**』的设计理念,支持通过Python API或者命令行工具,一键完成预训练模型地预测,更方便的应用PaddlePaddle模型库。 +* 支持超参优化(AutoDL Finetuner),自动调整超参数,给出效果较佳的超参数组合。 + * [PaddleHub超参优化功能AutoDL Finetuner使用示例](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.2/demo/autofinetune) +* 引入『**模型即软件**』的设计理念,通过Python API或者命令行实现一键预测,更方便地应用PaddlePaddle模型库。 * [PaddleHub命令行工具介绍](https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7) @@ -105,9 +105,9 @@ PaddleHub如何完成迁移学习,详情参考[wiki教程](https://github.com/ PaddleHub如何自定义迁移任务,详情参考[wiki教程](https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub:-%E8%87%AA%E5%AE%9A%E4%B9%89Task) -如何使用PaddleHub超参优化功能,详情参考[autofinetune使用教程](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.2/tutorial/autofinetune.md) +PaddleHub如何自动优化超参数,详情参考[AutoDL Finetuner使用教程](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.2/tutorial/autofinetune.md) -如何使用ULMFiT策略微调PaddleHub预训练模型,详情参考[PaddleHub 迁移学习与ULMFiT微调策略](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.2/tutorial/strategy_exp.md) +PaddleHub如何使用ULMFiT策略微调预训练模型,详情参考[PaddleHub 迁移学习与ULMFiT微调策略](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.2/tutorial/strategy_exp.md) ## FAQ @@ -115,8 +115,6 @@ PaddleHub如何自定义迁移任务,详情参考[wiki教程](https://github.c **A:** 因为ernie/bert module的创建时和此时运行环境中PaddlePaddle版本不对应。可以将PaddlePaddle和PaddleHub升级至最新版本,同时将ernie卸载。 ```shell -# 若是CPU环境,则 pip install --upgrade paddlepaddle -$ pip install --upgrade paddlepaddle-gpu $ pip install --upgrade paddlehub $ hub uninstall ernie ``` @@ -149,7 +147,7 @@ print(res) ## 用户交流群 -* 飞桨PaddlePaddle 交流群:432676488(QQ群) +* 飞桨PaddlePaddle 交流群:796771754(QQ群) * 飞桨 ERNIE交流群:760439550(QQ群) diff --git a/RELEASE.md b/RELEASE.md index 6e32c5cb..7c731639 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,8 +1,8 @@ -# `v1.2.0` +# `v1.2.1` * 新增**超参优化Auto Fine-tune**,实现给定超参搜索空间,PaddleHub自动给出较佳的超参组合 - * 支持两种优化策略:HAZero和PSHE2 - * 支持两种评估方式:FullTrail和ModelBased + * 支持两种超参优化算法:HAZero和PSHE2 + * 支持两种评估方式:FullTrail和PopulationBased * 新增Fine-tune**优化策略ULMFiT**,包括以下三种设置 * Slanted triangular learning rates:学习率先线性增加后缓慢降低 * Discriminative fine-tuning:将计算图划分为n段,不同的段设置不同学习率 diff --git a/demo/autofinetune/README.md b/demo/autofinetune/README.md new file mode 100644 index 00000000..2c448c78 --- /dev/null +++ b/demo/autofinetune/README.md @@ -0,0 +1,28 @@ +# PaddleHub超参优化——图像分类 + +**确认安装PaddleHub版本在1.2.1以上, 同时PaddleHub AutoDL Finetuner功能要求至少有一张GPU显卡可用。** + +本示例展示如何利用PaddleHub超参优化AutoDL Finetuner,得到一个效果较佳的超参数组合 + +使用PaddleHub AutoDL Finetuner需要准备两个指定格式的文件:待优化的超参数信息yaml文件hparam.yaml和需要Fine-tune的python脚本train.py + +以Fine-tune图像分类任务为例, 其中: + +## hparam.yaml + +hparam给出待搜索的超参名字、类型(int或者float)、搜索范围等信息。 +通过这些信息构建了一个超参空间,PaddleHub将在这个空间内进行超参数的搜索,将搜索到的超参传入train.py获得评估效果,根据评估效果自动调整超参搜索方向,直到满足搜索次数。 + +本示例中待优化超参数为learning_rate和batch_size。 + + +## img_cls.py + +以mobilenet为预训练模型,在flowers数据集上进行Fine-tune。 + +## 如何开始超参优化 + +在完成安装PaddlePaddle与PaddleHub后,通过执行脚本`sh run_autofinetune.sh`即可开始使用超参优化功能。 + + +`NOTE`: 关于PaddleHub超参优化详情参考[教程](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.2/tutorial/autofinetune.md) diff --git a/demo/autofinetune/hparam.yaml b/demo/autofinetune/hparam.yaml new file mode 100644 index 00000000..c20518f2 --- /dev/null +++ b/demo/autofinetune/hparam.yaml @@ -0,0 +1,11 @@ +param_list: +- name : learning_rate + init_value : 0.001 + type : float + lower_than : 0.05 + greater_than : 0.00005 +- name : batch_size + init_value : 12 + type : int + lower_than : 20 + greater_than : 10 diff --git a/demo/autofinetune/img_cls.py b/demo/autofinetune/img_cls.py new file mode 100644 index 00000000..2d19f8c7 --- /dev/null +++ b/demo/autofinetune/img_cls.py @@ -0,0 +1,130 @@ +# coding:utf-8 +import argparse +import os +import ast +import shutil + +import paddle.fluid as fluid +import paddlehub as hub +from paddlehub.common.logger import logger + +parser = argparse.ArgumentParser(__doc__) +parser.add_argument( + "--epochs", type=int, default=5, help="Number of epoches for fine-tuning.") +parser.add_argument( + "--checkpoint_dir", type=str, default=None, help="Path to save log data.") +parser.add_argument( + "--module", + type=str, + default="mobilenet", + help="Module used as feature extractor.") + +# the name of hyperparameters to be searched should keep with hparam.py +parser.add_argument( + "--batch_size", + type=int, + default=16, + help="Total examples' number in batch for training.") +parser.add_argument( + "--learning_rate", type=float, default=1e-4, help="learning_rate.") + +# saved_params_dir and model_path are needed by auto finetune +parser.add_argument( + "--saved_params_dir", + type=str, + default="", + help="Directory for saving model") +parser.add_argument( + "--model_path", type=str, default="", help="load model path") + +module_map = { + "resnet50": "resnet_v2_50_imagenet", + "resnet101": "resnet_v2_101_imagenet", + "resnet152": "resnet_v2_152_imagenet", + "mobilenet": "mobilenet_v2_imagenet", + "nasnet": "nasnet_imagenet", + "pnasnet": "pnasnet_imagenet" +} + + +def is_path_valid(path): + if path == "": + return False + path = os.path.abspath(path) + dirname = os.path.dirname(path) + if not os.path.exists(dirname): + os.mkdir(dirname) + return True + + +def finetune(args): + + # Load Paddlehub pretrained model, default as mobilenet + module = hub.Module(name=args.module) + input_dict, output_dict, program = module.context(trainable=True) + + # Download dataset and use ImageClassificationReader to read dataset + dataset = hub.dataset.Flowers() + data_reader = hub.reader.ImageClassificationReader( + image_width=module.get_expected_image_width(), + image_height=module.get_expected_image_height(), + images_mean=module.get_pretrained_images_mean(), + images_std=module.get_pretrained_images_std(), + dataset=dataset) + + # The last 2 layer of resnet_v2_101_imagenet network + feature_map = output_dict["feature_map"] + + img = input_dict["image"] + feed_list = [img.name] + + # Select finetune strategy, setup config and finetune + strategy = hub.DefaultFinetuneStrategy(learning_rate=args.learning_rate) + config = hub.RunConfig( + use_cuda=True, + num_epoch=args.epochs, + batch_size=args.batch_size, + checkpoint_dir=args.checkpoint_dir, + strategy=strategy) + + # Construct transfer learning network + task = hub.ImageClassifierTask( + data_reader=data_reader, + feed_list=feed_list, + feature=feature_map, + num_classes=dataset.num_labels, + config=config) + + # Load model from the defined model path or not + if args.model_path != "": + with task.phase_guard(phase="train"): + task.init_if_necessary() + task.load_parameters(args.model_path) + logger.info("PaddleHub has loaded model from %s" % args.model_path) + + # Finetune by PaddleHub's API + task.finetune() + # Evaluate by PaddleHub's API + run_states = task.eval() + # Get acc score on dev + eval_avg_score, eval_avg_loss, eval_run_speed = task._calculate_metrics( + run_states) + + # Move ckpt/best_model to the defined saved parameters directory + best_model_dir = os.path.join(config.checkpoint_dir, "best_model") + if is_path_valid(args.saved_params_dir) and os.path.exists(best_model_dir): + shutil.copytree(best_model_dir, args.saved_params_dir) + shutil.rmtree(config.checkpoint_dir) + + # acc on dev will be used by auto finetune + hub.report_final_result(eval_avg_score["acc"]) + + +if __name__ == "__main__": + args = parser.parse_args() + if not args.module in module_map: + hub.logger.error("module should in %s" % module_map.keys()) + exit(1) + args.module = module_map[args.module] + + finetune(args) diff --git a/demo/autofinetune/run_autofinetune.sh b/demo/autofinetune/run_autofinetune.sh new file mode 100644 index 00000000..2f53d8b0 --- /dev/null +++ b/demo/autofinetune/run_autofinetune.sh @@ -0,0 +1,10 @@ +OUTPUT=result + +hub autofinetune img_cls.py \ + --param_file=hparam.yaml \ + --gpu=0 \ + --popsize=15 \ + --round=10 \ + --output_dir=${OUTPUT} \ + --evaluator=fulltrail \ + --tuning_strategy=pshe2 diff --git a/demo/sequence-labeling/README.md b/demo/sequence-labeling/README.md index 4ea981f2..40b0feac 100644 --- a/demo/sequence-labeling/README.md +++ b/demo/sequence-labeling/README.md @@ -119,7 +119,8 @@ seq_label_task = hub.SequenceLabelTask( feed_list=feed_list, max_seq_len=args.max_seq_len, num_classes=dataset.num_labels, - config=config) + config=config, + add_crf=False) seq_label_task.finetune_and_eval() ``` @@ -128,6 +129,7 @@ seq_label_task.finetune_and_eval() 1. `outputs["sequence_output"]`返回了ERNIE/BERT模型输入单词的对应输出,可以用于单词的特征表达。 2. `feed_list`中的inputs参数指名了ERNIE/BERT中的输入tensor的顺序,与SequenceLabelReader返回的结果一致。 3. `hub.SequenceLabelTask`通过输入特征,迁移的类别数,可以生成适用于序列标注的迁移任务`SequenceLabelTask` +4. `hub.SequenceLabelTask`通过add_crf, 选择是否加入crf作为decoder。如果add_crf=True, 则在预训练模型计算图加入fc+crf层,否则只在在预训练模型计算图加入fc层。 ## 可视化 diff --git a/demo/sequence-labeling/predict.py b/demo/sequence-labeling/predict.py index 01fa4280..96fea4fa 100644 --- a/demo/sequence-labeling/predict.py +++ b/demo/sequence-labeling/predict.py @@ -79,13 +79,15 @@ if __name__ == '__main__': strategy=hub.finetune.strategy.DefaultFinetuneStrategy()) # Define a sequence labeling finetune task by PaddleHub's API + # if add crf, the network use crf as decoder seq_label_task = hub.SequenceLabelTask( data_reader=reader, feature=sequence_output, feed_list=feed_list, max_seq_len=args.max_seq_len, num_classes=dataset.num_labels, - config=config) + config=config, + add_crf=True) # test data data = [ diff --git a/demo/sequence-labeling/sequence_label.py b/demo/sequence-labeling/sequence_label.py index 6544f99b..212fb1aa 100644 --- a/demo/sequence-labeling/sequence_label.py +++ b/demo/sequence-labeling/sequence_label.py @@ -78,13 +78,15 @@ if __name__ == '__main__': strategy=strategy) # Define a sequence labeling finetune task by PaddleHub's API + # if add crf, the network use crf as decoder seq_label_task = hub.SequenceLabelTask( data_reader=reader, feature=sequence_output, feed_list=feed_list, max_seq_len=args.max_seq_len, num_classes=dataset.num_labels, - config=config) + config=config, + add_crf=True) # Finetune and evaluate model by PaddleHub's API # will finish training, evaluation, testing, save model automatically diff --git a/demo/text-classification/run_classifier.sh b/demo/text-classification/run_classifier.sh index d1aec212..772deb82 100644 --- a/demo/text-classification/run_classifier.sh +++ b/demo/text-classification/run_classifier.sh @@ -9,6 +9,7 @@ CKPT_DIR="./ckpt_${DATASET}" # ChnSentiCorp: batch_size=24, weight_decay=0.01, num_epoch=3, max_seq_len=128, lr=5e-5 # NLPCC_DBQA: batch_size=8, weight_decay=0.01, num_epoch=3, max_seq_len=512, lr=2e-5 # LCQMC: batch_size=32, weight_decay=0, num_epoch=3, max_seq_len=128, lr=2e-5 +# TNews: batch_size=32, weight_decay=0, num_epoch=3, max_seq_len=128, lr=5e-5 # QQP: batch_size=32, weight_decay=0, num_epoch=3, max_seq_len=128, lr=5e-5 # QNLI: batch_size=32, weight_decay=0, num_epoch=3, max_seq_len=128, lr=5e-5 # SST-2: batch_size=32, weight_decay=0, num_epoch=3, max_seq_len=128, lr=5e-5 diff --git a/demo/text-classification/text_classifier.py b/demo/text-classification/text_classifier.py index d275c0e4..d1b55a10 100644 --- a/demo/text-classification/text_classifier.py +++ b/demo/text-classification/text_classifier.py @@ -45,6 +45,10 @@ if __name__ == '__main__': dataset = hub.dataset.ChnSentiCorp() module = hub.Module(name="ernie") metrics_choices = ["acc"] + elif args.dataset.lower() == "tnews": + dataset = hub.dataset.TNews() + module = hub.Module(name="ernie") + metrics_choices = ["acc", "f1"] elif args.dataset.lower() == "nlpcc_dbqa": dataset = hub.dataset.NLPCC_DBQA() module = hub.Module(name="ernie") diff --git a/docs/imgs/demo.png b/docs/imgs/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..76a2f31733f03547836ed001a2415a29bcc63bb0 GIT binary patch literal 287160 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

#ks86bc093or0U9XzuKu4DCb8pxLQ?f82en*O( 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 ^_ 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%0D+&Y<*yo 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,tXcr^-_MJc;S#t(78XOgF}99C7@8oB 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%0A{E+RcPV7xBO2xbF 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 P@{yN*DYz= 3.1.0 +protobuf >= 3.6.0 yapf == 0.26.0 pyyaml numpy diff --git a/setup.py b/setup.py index 6960dfe3..a4d57db6 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ def python_version(): max_version, mid_version, min_version = python_version() REQUIRED_PACKAGES = [ - 'six >= 1.10.0', 'protobuf >= 3.1.0', 'pyyaml', 'Pillow', 'requests', + 'six >= 1.10.0', 'protobuf >= 3.6.0', 'pyyaml', 'Pillow', 'requests', 'tb-paddle', 'tb-nightly', 'cma == 2.7.0', 'flask >= 1.1.0' ] diff --git a/tutorial/autofinetune-cv.md b/tutorial/autofinetune-cv.md index 5168f0f3..5dc2a2c8 100644 --- a/tutorial/autofinetune-cv.md +++ b/tutorial/autofinetune-cv.md @@ -1,11 +1,11 @@ -# PaddleHub 超参优化(Auto Fine-tune)——CV图像分类任务 +# PaddleHub AutoDL Finetuner——图像分类任务 -使用PaddleHub Auto Fine-tune必须准备两个文件,并且这两个文件需要按照指定的格式书写。这两个文件分别是需要Fine-tune的python脚本finetuee.py和需要优化的超参数信息yaml文件hparam.yaml。 +使用PaddleHub AutoDL Finetuner需要准备两个指定格式的文件:待优化的超参数信息yaml文件hparam.yaml和需要Fine-tune的python脚本train.py -以Fine-tune图像分类任务为例,我们展示如何利用PaddleHub Auto Finetune进行超参优化。 +以Fine-tune图像分类任务为例,展示如何利用PaddleHub AutoDL Finetuner进行超参优化。 -以下是待优化超参数的yaml文件hparam.yaml,包含需要搜素的超参名字、类型、范围等信息。其中类型只支持float和int类型 +以下是待优化超参数的yaml文件hparam.yaml,包含需要搜素的超参名字、类型、范围等信息。目前参数搜索类型只支持float和int类型 ``` param_list: - name : learning_rate @@ -20,7 +20,7 @@ param_list: greater_than : 10 ``` -以下是图像分类的finetunee.py +以下是图像分类的`train.py` ```python # coding:utf-8 @@ -31,18 +31,20 @@ import shutil import paddle.fluid as fluid import paddlehub as hub -import numpy as np +from paddlehub.common.logger import logger -# yapf: disable parser = argparse.ArgumentParser(__doc__) -parser.add_argument("--num_epoch", type=int, default=1, help="Number of epoches for fine-tuning.") +parser.add_argument("--epochs", type=int, default=1, help="Number of epoches for fine-tuning.") parser.add_argument("--use_gpu", type=ast.literal_eval, default=True, help="Whether use GPU for fine-tuning.") parser.add_argument("--checkpoint_dir", type=str, default=None, help="Path to save log data.") + +# the name of hyperparameters to be searched should keep with hparam.py parser.add_argument("--batch_size", type=int, default=16, help="Total examples' number in batch for training.") -parser.add_argument("--saved_params_dir", type=str, default="", help="Directory for saving model") parser.add_argument("--learning_rate", type=float, default=1e-4, help="learning_rate.") + +# saved_params_dir and model_path are needed by auto finetune +parser.add_argument("--saved_params_dir", type=str, default="", help="Directory for saving model") parser.add_argument("--model_path", type=str, default="", help="load model path") -# yapf: enable. def is_path_valid(path): @@ -55,11 +57,12 @@ def is_path_valid(path): return True def finetune(args): + # Load Paddlehub resnet50 pretrained model module = hub.Module(name="resnet_v2_50_imagenet") input_dict, output_dict, program = module.context(trainable=True) + # Download dataset and use ImageClassificationReader to read dataset dataset = hub.dataset.Flowers() - data_reader = hub.reader.ImageClassificationReader( image_width=module.get_expected_image_width(), image_height=module.get_expected_image_height(), @@ -78,11 +81,12 @@ def finetune(args): config = hub.RunConfig( use_cuda=True, - num_epoch=args.num_epoch, + num_epoch=args.epochs, batch_size=args.batch_size, checkpoint_dir=args.checkpoint_dir, strategy=strategy) + # Construct transfer learning network task = hub.ImageClassifierTask( data_reader=data_reader, feed_list=feed_list, @@ -108,6 +112,7 @@ def finetune(args): shutil.copytree(best_model_dir, args.saved_params_dir) shutil.rmtree(config.checkpoint_dir) + # acc on dev will be used by auto finetune print("AutoFinetuneEval"+"\t"+str(float(eval_avg_score["acc"]))) diff --git a/tutorial/autofinetune-nlp.md b/tutorial/autofinetune-nlp.md index c3ccc7b2..bb71c2d2 100644 --- a/tutorial/autofinetune-nlp.md +++ b/tutorial/autofinetune-nlp.md @@ -1,10 +1,10 @@ -# PaddleHub 超参优化(Auto Fine-tune)——NLP情感分类任务 +# PaddleHub 超参优化(AutoDL Finetuner)——NLP情感分类任务 -使用PaddleHub Auto Fine-tune必须准备两个文件,并且这两个文件需要按照指定的格式书写。这两个文件分别是需要Fine-tune的python脚本finetuee.py和需要优化的超参数信息yaml文件hparam.yaml。 +使用PaddleHub AutoDL Finetuner需要准备两个指定格式的文件:待优化的超参数信息yaml文件hparam.yaml和需要Fine-tune的python脚本train.py -以Fine-tune中文情感分类任务为例,我们展示如何利用PaddleHub Auto Finetune进行超参优化。 +以Fine-tune中文情感分类任务为例,展示如何利用PaddleHub AutoDL Finetuner进行超参优化。 -以下是待优化超参数的yaml文件hparam.yaml,包含需要搜素的超参名字、类型、范围等信息。其中类型只支持float和int类型 +以下是待优化超参数的yaml文件hparam.yaml,包含需要搜索的超参名字、类型、范围等信息。其中类型只支持float和int ``` param_list: - name : learning_rate @@ -29,7 +29,7 @@ param_list: greater_than : 0.0 ``` -以下是中文情感分类的finetunee.py +以下是中文情感分类的`train.py` ```python from __future__ import absolute_import @@ -44,19 +44,22 @@ import paddlehub as hub import os from paddlehub.common.logger import logger -# yapf: disable parser = argparse.ArgumentParser(__doc__) parser.add_argument("--epochs", type=int, default=3, help="epochs.") + +# the name of hyperparameters to be searched should keep with hparam.py parser.add_argument("--batch_size", type=int, default=32, help="batch_size.") parser.add_argument("--learning_rate", type=float, default=5e-5, help="learning_rate.") parser.add_argument("--warmup_prop", type=float, default=0.1, help="warmup_prop.") parser.add_argument("--weight_decay", type=float, default=0.01, help="weight_decay.") + parser.add_argument("--max_seq_len", type=int, default=128, help="Number of words of the longest seqence.") parser.add_argument("--checkpoint_dir", type=str, default=None, help="Directory to model checkpoint") + +# saved_params_dir and model_path are needed by auto finetune parser.add_argument("--saved_params_dir", type=str, default="", help="Directory for saving model during ") parser.add_argument("--model_path", type=str, default="", help="load model path") args = parser.parse_args() -# yapf: enable. def is_path_valid(path): @@ -137,6 +140,7 @@ if __name__ == '__main__': if is_path_valid(args.saved_params_dir) and os.path.exists(best_model_dir): shutil.copytree(best_model_dir, args.saved_params_dir) shutil.rmtree(config.checkpoint_dir) - + + # acc on dev will be used by auto finetune print("AutoFinetuneEval"+"\t"+str(float(eval_avg_score["acc"]))) ``` diff --git a/tutorial/autofinetune.md b/tutorial/autofinetune.md index f58a71a1..9a38a85e 100644 --- a/tutorial/autofinetune.md +++ b/tutorial/autofinetune.md @@ -1,39 +1,45 @@ -# PaddleHub 超参优化(Auto Fine-tune) +# PaddleHub 超参优化(AutoDL Finetuner) ## 一、简介 -机器学习训练模型的过程中自然少不了调参。模型的参数可分成两类:参数与超参数,前者是模型通过自身的训练学习得到的参数数据;后者则需要通过人工经验设置(如学习率、dropout_rate、batch_size等),以提高模型训练的效果。当前模型往往参数空间大,手动调参十分耗时,尝试成本高。PaddleHub Auto Fine-tune可以实现自动调整超参数。 +目前深度学习模型参数可分类两类:*模型参数 (Model Parameters)* 与 *超参数 (Hyper Parameters)*,前者是模型通过大量的样本数据进行训练学习得到的参数数据;后者则需要通过人工经验或者不断尝试找到最佳设置(如学习率、dropout_rate、batch_size等),以提高模型训练的效果。如果想得到一个效果好的深度学习神经网络模型,超参的设置非常关键。因为模型参数空间大,目前超参调整都是通过手动,依赖人工经验或者不断尝试,且不同模型、样本数据和场景下不尽相同,所以需要大量尝试,时间成本和资源成本非常浪费。PaddleHub AutoDL Finetuner可以实现自动调整超参数。 -PaddleHub Auto Fine-tune提供两种超参优化策略: +PaddleHub AutoDL Finetuner提供两种超参优化算法: -* HAZero: 核心思想是通过对正态分布中协方差矩阵的调整来处理变量之间的依赖关系和scaling。算法基本可以分成以下三步: 采样产生新解;计算目标函数值;更新正态分布参数。调整参数的基本思路为,调整参数使得产生更优解的概率逐渐增大。优化过程如下图: +* **HAZero**: 核心思想是通过对正态分布中协方差矩阵的调整来处理变量之间的依赖关系和scaling。算法基本可以分成以下三步: +1. 采样产生新解 +2. 计算目标函数值 +3. 更新正态分布参数。 + +调整参数的基本思路为,调整参数使得产生更优解的概率逐渐增大。优化过程如下图:


*图片来源于https://www.kaggle.com/clair14/tutorial-bayesian-optimization* -* PSHE2: 采用粒子群算法,最优超参数组合就是所求问题的解。现在想求得最优解就是要找到更新超参数组合,即如何更新超参数,才能让算法更快更好的收敛到最优解。PSHE2算法根据超参数本身历史的最优,在一定随机扰动的情况下决定下一步的更新方向。 +* PSHE2: 采用哈密尔顿动力系统搜索参数空间中“势能”最低的点。而最优超参数组合就是势能低点。现在想求得最优解就是要找到更新超参数组合,即如何更新超参数,才能让算法更快更好的收敛到最优解。PSHE2算法根据超参数本身历史的最优,在一定随机扰动的情况下决定下一步的更新方向。


-PaddleHub Auto Fine-tune提供两种超参评估策略: +PaddleHub AutoDL Finetuner为了评估搜索的超参对于任务的效果,提供两种超参评估策略: -* FullTrail: 给定一组超参,利用这组超参从头开始Finetune一个新模型,之后在数据集dev部分评估这个模型 +* **Full-Trail**: 给定一组超参,利用这组超参从头开始Fine-tune一个新模型,之后在验证集评估这个模型 -* ModelBased: 给定一组超参,若这组超参来自第一轮优化的超参,则从头开始Finetune一个新模型;若这组超参数不是来自第一轮优化的超参数,则程序会加载前几轮已经Fine-tune完毕后保存的较好模型,基于这个模型,在当前的超参数组合下继续Finetune。这个Fine-tune完毕后保存的较好模型,评估方式是这个模型在数据集dev部分的效果。 +* **Population-Based**: 给定一组超参,若这组超参是第一轮尝试的超参组合,则从头开始Fine-tune一个新模型;否则基于前几轮已保存的较好模型,在当前的超参数组合下继续Fine-tune并评估。 ## 二、准备工作 -使用PaddleHub Auto Fine-tune必须准备两个文件,并且这两个文件需要按照指定的格式书写。这两个文件分别是需要Fine-tune的python脚本finetunee.py和需要优化的超参数信息yaml文件hparam.yaml +使用PaddleHub AutoDL Finetuner需要准备两个指定格式的文件:待优化的超参数信息yaml文件hparam.yaml和需要Fine-tune的python脚本train.py + -### 关于hparam.yaml +### 1. hparam.yaml -hparam给出了需要搜索的超参名字、类型(int或者float,代表了离线型和连续型的两种超参)、搜索范围等信息,通过这些信息构建了一个超参空间,PaddleHub将在这个空间内进行超参数的搜索,将搜索到的超参传入finetunee.py获得评估效果,根据评估效果引导下一步的超参搜索方向,直到满足搜索次数 +hparam给出待搜索的超参名字、类型(int或者float)、搜索范围等信息,通过这些信息构建了一个超参空间,PaddleHub将在这个空间内进行超参数的搜索,将搜索到的超参传入train.py获得评估效果,根据评估效果自动调整超参搜索方向,直到满足搜索次数。 -`Note`: +**Note**: * yaml文件的最外层级的key必须是param_list ``` param_list: @@ -44,64 +50,71 @@ hparam给出了需要搜索的超参名字、类型(int或者float,代表了 greater_than : 0.00005 ... ``` -* 超参名字可以随意指定,PaddleHub会将搜索到的值以指定名称传递给finetunee.py进行使用 +* 超参名字可以任意指定,PaddleHub会将搜索到的值以指定名称传递给train.py使用 + +* 优化超参策略选择HAZero时,需要提供两个以上的待优化超参。 -* PaddleHub Auto Fine-tune优化超参策略选择HAZero时,必须提供两个以上的待优化超参。 +### 2. train.py -### 关于finetunee.py +train.py用于接受PaddleHub搜索到的超参进行一次优化过程,将优化后的效果返回 -finetunee.py用于接受PaddleHub搜索到的超参进行一次优化过程,将优化后的效果返回 +

+
+

-`Note` +**NOTE**: -* finetunee.py必须可以接收待优化超参数选项参数, 并且待搜索超参数选项名字和yaml文件中的超参数名字保持一致。 +* train.py的选项参数须包含待优化超参数,需要将超参以argparser的方式写在其中,待搜索超参数选项名字和yaml文件中的超参数名字保持一致。 -* finetunee.py必须有saved_params_dir这个选项。并且在完成优化后,将参数保存到该路径下。 +* train.py须包含选项参数saved_params_dir,优化后的参数将会保存到该路径下。 -* 如果PaddleHub Auto Fine-tune超参评估策略选择为ModelBased,则finetunee.py必须有model_path选项,并且从该选项指定的参数路径中恢复模型 +* 超参评估策略选择PopulationBased时,train.py须包含选项参数model_path,自动从model_path指定的路径恢复模型 -* finetunee.py必须输出模型的评价效果(建议使用dev或者test数据集),同时以“AutoFinetuneEval"开始,和评价效果之间以“\t”分开,如 +* train.py须输出模型的评价效果(建议使用验证集或者测试集上的评价效果),输出以“AutoFinetuneEval"开始,与评价效果之间以“\t”分开,如 ```python print("AutoFinetuneEval"+"\t" + str(eval_acc)) ``` -* 输出的评价效果取值范围应该为`(-∞, 1]`,取值越高,表示效果越好。 +* 输出的评价效果取值范围应为`(-∞, 1]`,取值越高,表示效果越好。 ### 示例 -[PaddleHub Auto Fine-tune超参优化--NLP情感分类任务](./autofinetune-nlp.md) +[PaddleHub AutoDL Finetuner超参优化--NLP情感分类任务](./autofinetune-nlp.md) -[PaddleHub Auto Fine-tune超参优化--CV图像分类任务](./autofinetune-cv.md) +[PaddleHub AutoDL Finetuner超参优化--CV图像分类任务](./autofinetune-cv.md) ## 三、启动方式 -**确认安装PaddleHub版本在1.2.0以上, 同时PaddleHub Auto Fine-tune功能要求至少有一张GPU显卡可用。** +**确认安装PaddleHub版本在1.2.1以上, 同时PaddleHub AutoDL Finetuner功能要求至少有一张GPU显卡可用。** 通过以下命令方式: ```shell $ OUTPUT=result/ -$ hub autofinetune finetunee.py --param_file=hparam.yaml --cuda=['1','2'] --popsize=5 --round=10 +$ hub autofinetune train.py --param_file=hparam.yaml --cuda=['1','2'] --popsize=5 --round=10 --output_dir=${OUTPUT} --evaluate_choice=fulltrail --tuning_strategy=pshe2 ``` 其中,选项 -> `--param_file`: 需要优化的超参数信息yaml文件,即上述[hparam.yaml](#hparam.yaml)。 +> `--param_file`: 必填,待优化的超参数信息yaml文件,即上述[hparam.yaml](#hparam.yaml)。 -> `--cuda`: 设置运行程序的可用GPU卡号,list类型,中间以逗号隔开,不能有空格,默认为[‘0’] +> `--cuda`: 必填,设置运行程序的可用GPU卡号,list类型,中间以逗号隔开,不能有空格,默认为[‘0’] -> `--popsize`: 设置程序运行每轮产生的超参组合数,默认为5 +> `--popsize`: 可选,设置程序运行每轮产生的超参组合数,默认为5 -> `--round`: 设置程序运行的轮数,默认是10 +> `--round`: 可选,设置程序运行的轮数,默认为10 -> `--output_dir`: 设置程序运行输出结果存放目录,可选,不指定该选项参数时,在当前运行路径下生成存放程序运行输出信息的文件夹 +> `--output_dir`: 可选,设置程序运行输出结果存放目录,不指定该选项参数时,在当前运行路径下生成存放程序运行输出信息的文件夹 -> `--evaluate_choice`: 设置自动优化超参的评价效果方式,可选fulltrail和modelbased, 默认为modelbased +> `--evaluate_choice`: 可选,设置自动优化超参的评价效果方式,可选fulltrail和populationbased, 默认为populationbased -> `--tuning_strategy`: 设置自动优化超参策略,可选hazero和pshe2,默认为pshe2 +> `--tuning_strategy`: 可选,设置自动优化超参算法,可选hazero和pshe2,默认为pshe2 -`NOTE` -* 进行超参搜索时,一共会进行n轮(--round指定),每轮产生m组超参(--popsize指定)进行搜索。每一轮的超参会根据上一轮的优化结果决定,当指定GPU数量不足以同时跑一轮时,Auto Fine-tune功能自动实现排队,为了提高GPU利用率,建议卡数为刚好可以被popsize整除。如popsize=6,cuda=['0','1','2','3'],则每搜索一轮,Auto Fine-tune自动起四个进程训练,所以第5/6组超参组合需要排队一次,在搜索第5/6两组超参时,会存在两张卡出现空闲等待的情况,如果设置为3张可用的卡,则可以避免这种情况的出现。 +**NOTE**: + +* 进行超参搜索时,一共会进行n轮(--round指定),每轮产生m组超参(--popsize指定)进行搜索。上一轮的优化结果决定下一轮超参数调整方向 + +* 当指定GPU数量不足以同时跑一轮时,AutoDL Finetuner功能自动实现排队为了提高GPU利用率,建议卡数为刚好可以被popsize整除。如popsize=6,cuda=['0','1','2','3'],则每搜索一轮,AutoDL Finetuner自动起四个进程训练,所以第5/6组超参组合需要排队一次,在搜索第5/6两组超参时,会存在两张卡出现空闲等待的情况,如果设置为3张可用的卡,则可以避免这种情况的出现。 ## 四、目录结构 @@ -125,42 +138,43 @@ $ hub autofinetune finetunee.py --param_file=hparam.yaml --cuda=['1','2'] --pops ``` 其中output_dir为启动autofinetune命令时指定的根目录,目录下: -* log_file.txt记录了每一轮搜索所有的超参以及整个过程中所搜索到的最优超参 +* log_file.txt记录每一轮搜索所有的超参以及整个过程中所搜索到的最优超参 -* visualization记录了可视化过程的日志文件 +* visualization记录可视化过程的日志文件 -* round0 ~ roundn记录了每一轮的数据,在每个round目录下,还存在以下文件: +* round0 ~ roundn记录每一轮的数据,在每个round目录下,还存在以下文件: - * log-0.info ~ log-m.info记录了每个搜索方向的日志 + * log-0.info ~ log-m.info记录每个搜索方向的日志 - * model-0 ~ model-m记录了对应搜索的参数 + * model-0 ~ model-m记录对应搜索的参数 ## 五、可视化 -Auto Finetune API在优化超参过程中会自动对关键训练指标进行打点,启动程序后执行下面命令 +AutoDL Finetuner API在优化超参过程中会自动对关键训练指标进行打点,启动程序后执行下面命令 ```shell $ tensorboard --logdir ${OUTPUT}/visualization --host ${HOST_IP} --port ${PORT_NUM} ``` -其中${OUTPUT}为AutoDL根目录,${HOST_IP}为本机IP地址,${PORT_NUM}为可用端口号,如本机IP地址为192.168.0.1,端口号8040, -用浏览器打开192.168.0.1:8040,即可看到搜索过程中各超参以及指标的变化情况 - -## 六、其他 - -1. 如在使用Auto Fine-tune功能时,输出信息中包含如下字样: +其中${OUTPUT}为AutoDL Finetuner输出目录,${HOST_IP}为本机IP地址,${PORT_NUM}为可用端口号,如本机IP地址为192.168.0.1,端口号8040, +用浏览器打开192.168.0.1:8040,即可看到搜索过程中各超参以及指标的变化情况。 -**WARNING:Program which was ran with hyperparameters as ... was crashed!** - -首先根据终端上的输出信息,确定这个输出信息是在第几个round(如round 3),之后查看${OUTPUT}/round3/下的日志文件信息log.info, 查看具体出错原因。 +## 六、args参数传递 -2. PaddleHub AutoFinetune 命令行支持从启动命令hub autofinetune传入finetunee.py中不需要搜索的选项参数,如 -[PaddleHub Auto Fine-tune超参优化--NLP情感分类任务](./autofinetune-nlp.md)示例中的max_seq_len选项,可以参照以下方式传入。 +PaddleHub AutoDL Finetuner 支持将train.py中的args其余不需要搜索的参数通过autofinetune remainder方式传入。这个不需要搜索的选项参数名称应该和通过hub autofinetune的传入选项参数名称保持一致。如[PaddleHub AutoDL Finetuner超参优化--NLP情感分类任务](./autofinetune-nlp.md)示例中的max_seq_len选项,可以参照以下方式传入。 ```shell $ OUTPUT=result/ -$ hub autofinetune finetunee.py --param_file=hparam.yaml --cuda=['1','2'] --popsize=5 --round=10 +$ hub autofinetune train.py --param_file=hparam.yaml --cuda=['1','2'] --popsize=5 --round=10 --output_dir=${OUTPUT} --evaluate_choice=fulltrail --tuning_strategy=pshe2 max_seq_len 128 ``` -3. PaddleHub Auto Fine-tune功能使用过程中确认使用的GPU卡仅供PaddleHub使用,无其他任务使用。 +## 七、其他 + +1. 如在使用AutoDL Finetuner功能时,输出信息中包含如下字样: + +**WARNING:Program which was ran with hyperparameters as ... was crashed!** + +首先根据终端上的输出信息,确定这个输出信息是在第几个round(如round 3),之后查看${OUTPUT}/round3/下的日志文件信息log.info, 查看具体出错原因。 + +2. PaddleHub AutoDL Finetuner功能使用过程中建议使用的GPU卡仅供PaddleHub使用,无其他任务使用。 diff --git a/tutorial/strategy_exp.md b/tutorial/strategy_exp.md index 583d38dc..20607636 100644 --- a/tutorial/strategy_exp.md +++ b/tutorial/strategy_exp.md @@ -2,11 +2,11 @@ ## 一、简介 -迁移学习(Transfer Learning)顾名思义就是将模型在其它领域学到的知识迁移至目标领域的学习过程中,帮助模型取得更好的学习效果,讲究的是“他山之石,可以攻玉”。通过迁移学习,模型能够在短时间内取得更好的学习效果。 +迁移学习(Transfer Learning)顾名思义就是将模型在其它领域学到的知识迁移至目标领域的学习过程中,帮助模型取得更好的学习效果。通过迁移学习,模型能够在短时间内取得更好的学习效果。 -迁移学习通常由预训练阶段、微调阶段两部分组成。预训练阶段通常在超大规模数据集中进行,例如CV任务中的ImageNet包含千万张标注图片,NLP任务中的English Wikipedia包含25亿个单词,这样训练得到的预训练模型能够很好地学习到不同领域中的通用知识,具有很好的泛化能力。但预训练阶段使用的数据集往往与我们想要完成的任务的数据集存在差异,例如如果你只是想简单地判断一副图像是否是玫瑰花,ImageNet就没有提供相关的标注,因此为了更好的学习目标领域的知识,通常还需要对预训练模型参数进行微调。微调过程中,我们应该同时兼顾模型的拟合能力与泛化能力,控制好学习率,既不能太小使模型学习不充分,也不能太大丢失了过多的预训练通用知识。 +迁移学习通常由预训练阶段、微调阶段两部分组成。预训练阶段通常在大规模数据集中进行,例如CV任务中的ImageNet包含千万张标注图片,NLP任务中的English Wikipedia包含25亿个单词,这样训练得到的预训练模型能够很好地学习到不同领域中的通用知识。但预训练阶段使用的数据集往往与我们想要完成的任务的数据集存在差异,例如如果你只是想简单地判断一副图像是否是玫瑰花,ImageNet就没有提供相关的标注,因此为了更好的学习目标领域的知识,通常还需要对预训练模型参数进行微调。 -PaddleHub中实现了ERNIE、BERT、LAC、ELMo等[NLP预训练模型](https://www.paddlepaddle.org.cn/hub),ResNet、GoogLeNet、MobileNet等[CV预训练模型](https://www.paddlepaddle.org.cn/hub);以及Adam + Weight Decay、L2SP、ULMFiT等微调策略。本文主要介绍ULMFiT微调策略在PaddleHub中的实验结果及其思考分析。 +PaddleHub中集成了ERNIE、BERT、LAC、ELMo等[NLP预训练模型](https://www.paddlepaddle.org.cn/hub),ResNet、GoogLeNet、MobileNet等[CV预训练模型](https://www.paddlepaddle.org.cn/hub);以及Adam + Weight Decay、L2SP、ULMFiT等微调策略。本文主要介绍ULMFiT微调策略在PaddleHub中的使用。 ## 二、 ULMFiT @@ -22,221 +22,154 @@ PaddleHub中实现了ERNIE、BERT、LAC、ELMo等[NLP预训练模型](https://ww ![image-20190917170707549](https://user-images.githubusercontent.com/11913168/65138349-6bec0180-da3d-11e9-821d-98bc7f2d6f1e.png) - 其中T表示训练的迭代次数,PaddleHub会自动计算训练总step数;cut_frac是学习率上升在整个训练过程占用的比例;cut表示学习率转折处的step;t表示当前的step;p表示当前step学习率的缩放比例;ratio表示LR最低下降至最大学习率ηmax的几分之一;ηt表示当前step的学习率。论文中,作者采用的超参设置为:cut_frac=0.1, ratio=32, ηmax=0.01。本文实验部分保持ratio=32, ηmax=0.01不变,仅调整cut_frac。 + 其中T表示训练的迭代次数,PaddleHub会自动计算训练总step数;cut_frac是学习率上升在整个训练过程占用的比例;cut表示学习率转折处的step;t表示当前的step;p表示当前step学习率的缩放比例;ratio表示LR最低下降至最大学习率ηmax的几分之一;ηt表示当前step的学习率。论文中,作者采用的超参设置为:cut_frac=0.1, ratio=32, ηmax=0.01。本次策略实验过程中,保持ratio=32, ηmax=0.01不变,仅调整cut_frac。 2. Discriminative fine-tuning Discriminative fine-tuning 是一种学习率逐层递减的策略,通过该策略可以减缓底层的更新速度。其计算公式为:
ηl-1l/factor
-其中ηl表示第l层的学习率;ηl-1表示第l-1层的学习率;factor表示逐层衰减率,论文中作者根据经验设置为2.6。这个策略能够让模型微调过程中不断减缓底层的更新速度,尽可能的保留预训练模型中习得的底层通用知识。在PaddleHub中,我们针对这个策略还提供了另外一个超参:dis_blocks。由于预训练模型中没有记录op的层数,Paddlehub通过op的前后关系推测op所在的层次,这会导致诸如LSTM这类计算单元的op会被当作是不同层的op。为了不使层次划分太细,我们将层次进行了分块,用块的概念代替原论文中层的概念,通过设置dis_blocks即可设置块的个数。默认为3,如果设置为0,则不采用Discriminative fine-tuning。 +其中ηl表示第l层的学习率;ηl-1表示第l-1层的学习率;factor表示逐层衰减率,论文中作者根据经验设置为2.6。这个策略能够让模型微调过程中不断减缓底层的更新速度,尽可能的保留预训练模型中习得的底层通用知识。PaddleHub通过op的拓扑关系自动计算模型的层次,因此针对这一策略,PaddleHub提供了一个额外的超参:dis_blocks,用于设置划分的层数,默认为3,如果设置为0,则不采用Discriminative fine-tuning。 3. Gradual unfreezing - Gradual unfreezing是一种逐层解冻的策略,通过该策略可以优先更新上层,再慢慢解冻下层参与更新。在PaddleHub中,我们仍然引入了一个额外的超参:frz_blocks,其概念与上一小节提到的dis_blocks一致,在微调过程中,每经过一个epoch,模型解冻一个block,所有未被冻结的block都会参与到模型的参数更新中。 + Gradual unfreezing是一种逐层解冻的策略,通过该策略可以优先更新上层,再慢慢解冻下层参与更新。PaddleHub在Gradual unfreezing策略中引入了一个额外的超参:frz_blocks,其作用与默认值与第2点提到的dis_blocks一致。在微调过程中,每经过一个epoch,模型解冻一个block,所有未被冻结的block都会参与到模型的参数更新中。 -本文接下来将对ULMFiT策略在NLP以及CV任务中的使用进行实验说明,由于slanted triangular learning rates与warmup + linear decay在原理上高度相似,本文也将对比slanted triangular learning rates与warmup + linear decay的实验效果。 +本文接下来将对ULMFiT策略在NLP以及CV任务中的使用进行实验说明,由于slanted triangular learning rates与warmup + linear decay在原理上相似,本文也将对比slanted triangular learning rates与warmup + linear decay的实验效果。 -## 三、 NLP实验与分析 - - 本章将介绍ULMFiT策略在NLP任务中的使用。 +## 三、 在NLP迁移学习中使用ULMFiT策略 1. 数据集与预训练模型的选择 - 本章对数据集按数据规模进行划分,选择了一个大规模数据集Chnsenticorp,以及一个小规模数据集CoLA。针对中文数据集Chnsenticorp,为了凸现实验效果对比,本章没有选择ERNIE,而是选择Elmo作为其预训练模型。针对英文数据集CoLA,本章选择“bert_uncased_L-12_H-768_A-12”作为其预训练模型。 + 本次实验选取两个数据集,一个为中文数据集Chnsenticorp,另一个为英文数据集CoLA,两个数据集的训练集数据规模相似,前者包含9601个句子,后者包含8551个句子。针对中文数据集Chnsenticorp与英文数据集CoLA,本次实验分别使用ELMo与“bert_uncased_L-12_H-768_A-12”作为其预训练模型。 2. Baseline与实验设置 - Baseline不采用任何策略,学习率在微调过程中保持恒定。Chnsenticorp与CoLA任务均在单卡运行(只使用1张显卡),Batch size均设置为32,总共迭代3个epoch。Chnsenticorp设置学习率为1e-4,由于采用ELMO预训练模型,无需设置句子最大长度;CoLA设置学习率为5e-5,句子最大长度设置为128。实验效果如下表所示: + Baseline不采用任何策略,学习率在微调过程中保持恒定。Chnsenticorp与CoLA任务均只使用1张显卡,Batch size均设置为32,总共迭代3个epoch。Chnsenticorp设置学习率为1e-4,由于采用ELMo预训练模型,无需设置句子最大长度;CoLA设置学习率为5e-5,句子最大长度设置为128。实验效果如下表所示: | - | Chnsenticorp | CoLA | | :------------ | :----------- | :---------------- | - | Module | Elmo | Bert | + | Module | ELMo | Bert | | Batch size | 32 | 32 | | Num epoch | 3 | 3 | | Learning rate | 1e-4 | 5e-5 | | Max length | - | 128 | | Dev | acc = 0.8766 | matthews = 0.5680 | - | Test | acc = 0.8733 | - | - - 其中Chnsenticorp汇报准确率(accuracy)得分,CoLA汇报马修斯相关系数(matthews correlation coefficient)得分。由于CoLA未公开测试集,且其在线测评每日仅限提交3次,本章只汇报其验证集上的得分。 - - 在下文中,如果没有特别说明,实验设置(例如Batch size、Num epoch等)均与Baseline一致。 - -3. warmup + linear decay策略实验与分析 - - 为了与slanted triangular learning rates进行结果对比,本小节对warmup + linear decay策略进行了实验。在本实验中,warm up proportion为学习率上升在总步数中的比重,linear decay则在warmup结束的时刻开始,学习率在训练结束时下降至0。实验结果如下表所示,其中warm up proportion=0为baseline: - | warm up proportion | 0(baseline) | 0.1 | 0.2 | - | :----------------- | :------------ | :----- | :--------- | - | Chnsenticorp dev | **0.8766** | 0.8725 | 0.8758 | - | Chnsenticorp test | **0.8733** | 0.8700 | 0.8691 | - | CoLA dev | 0.5680 | 0.5780 | **0.5786** | + 其中Chnsenticorp采用准确率(accuracy)得分,CoLA采用马修斯相关系数(matthews correlation coefficient)得分。 - 从实验结果可以看到该策略影响模型的拟合能力,在大规模数据集(Chnsenticorp)中该策略可能产生很小的副作用,而在小规模数据集(CoLA)中该策略能够减缓预训练模型参数的更新速度,抑制过拟合,提升模型性能。 + 在后续调优过程中,如无特别说明,实验设置(例如Batch size、Num epoch等)均与Baseline一致。 -4. slanted triangular learning rates(STLR)策略实验与分析 +3. slanted triangular learning rates(STLR)策略实验与分析 - 在本小节中,我们将进一步设置warmup + linear decay的超参数以更好地与STLR策略比较。从第二章的理论介绍中,我们可以看到STLR在原理上与warmup + linear decay十分相似,较为明显的区别在于STLR的最终速度为1/ratio,在本文中ratio一概为32。因此本小节进一步设置了linear decay最终速度为learning rate/32的实验组。STLR的超参数仅调整cut_fraction为0.1、0.2,其它超参与论文设置一致。实验结果如下表所示: + 理论上,STLR与warmup + linear decay相似,因此本次实验同时对warmup + linear decay策略进行了实验。实验中STLR的超参仅调整cut_fraction,其它超参与论文设置一致;warm up proportion为学习率上升在总步数中的比重,linear decay则在warmup结束的时刻开始,linear decay的终止学习率设置了2组,1组为0,另一组与STLR的终止学习率一致,为learning rate/32。实验结果如下表所示: - | warm up proportion | 0(Baseline) | 0.1 | 0.2 | 0.1 | 0.2 | 0 | 0 | + | slanted triangular cut_fraction | 0(Baseline) | 0 | 0 | 0 | 0 | 0.1 | 0.2 | | :---------------------------------- | :------------ | :----- | :----- | :--------- | :----- | :------ | :------ | + | warm up proportion | 0 | 0.1 | 0.2 | 0.1 | 0.2 | 0 | 0 | | linear decay end | - Unused | 0 | 0 | lr/32 | lr/32 | - | - | - | **slanted triangular cut_fraction** | **0** | **0** | **0** | **0** | **0** | **0.1** | **0.2** | - | Chnsenticorp dev | 0.8766 | 0.8725 | 0.8758 | **0.8825** | 0.8733 | 0.8791 | 0.8791 | - | Chnsenticorp test | **0.8733** | 0.8700 | 0.8691 | 0.8666 | 0.8616 | 0.8691 | 0.8716 | - | CoLA dev | 0.5680 | 0.5780 | 0.5786 | **0.5887** | 0.5826 | 0.5880 | 0.5827 | + | Chnsenticorp | 0.8766 | 0.8725 | 0.8758 | **0.8825** | 0.8733 | 0.8791 | 0.8791 | + | CoLA | 0.5680 | 0.5780 | 0.5786 | **0.5887** | 0.5826 | 0.5880 | 0.5827 | - 由实验结果可以看到STLR无论是原理上还是实验效果上都与warmup + linear decay (end learning rate = lr/32) 相差无几,在小规模数据集中均有增益效果,而在大规模数据集中效果不明确,可能产生副作用。而对比warmup + linear decay (end learning rate = lr/32) 与warmup + linear decay (end learning rate = 0) 可以看到对于小规模数据集微调接近结束时,保持较小的学习率仍有帮助,但这会引入新的超参数end_learning_rate。 + 从实验结果可以看到,STLR实验效果上与warmup + linear decay (end learning rate = lr/32)接近,并且在两个任务中模型的性能都得到了提升。建议用户在尝试slanted triangular或warmup+linear decay策略时尝试更多的超参设置,在使用warmup+linear decay策略时考虑设置linear decay end。 - 基于此实验结果,我们建议用户可以在小规模NLP数据集中尝试slanted triangular或者warmup+linear decay的策略。 - -5. Discriminative fine-tuning策略实验与分析 +4. Discriminative fine-tuning策略实验与分析 本小节对Discriminative fine-tuning策略进行实验分析。固定训练总epoch=3,实验结果如下表所示: | dis_blocks | -
(Baseline) | 3 | 5 | | ----------------- | ------------------- | ---------- | ------ | | epoch | 3 | 3 | 3 | - | Chnsenticorp dev | **0.8766** | 0.8641 | 0.6766 | - | Chnsenticorp test | **0.8733** | 0.8683 | 0.7175 | - | CoLA dev | 0.5680 | **0.5996** | 0.5749 | + | Chnsenticorp | **0.8766** | 0.8641 | 0.6766 | + | CoLA | 0.5680 | **0.5996** | 0.5749 | - 对于大规模数据集Chnsenticorp,采用该策略会抑制拟合能力,dis_blocks设置越大,模型的拟合能力越弱;而对于小规模数据集CoLAA,采用该策略则能够缓解小规模数据集中的过拟合问题,模型性能获得了提升。 + 由于Discriminative fine-tuning策略会降低模型底层的更新速度,影响模型的拟合能力。实验结果表明,dis_blocks设置过大会导致模型性能明显下降。为了提升模型拟合能力,本小节继续增大epoch大小至5、8。 - 由于Discriminative fine-tuning会降低底层的更新速度,为了提升模型的拟合能力,本小节继续增大epoch大小至5、8。对于大规模数据集Chnsenticorp,实验结果如下表所示: + 对于Chnsenticorp,实验结果如下表所示: | dis_blocks | -
(Baseline) | - | 5 | - | 5 | | ----------------- | ------------------- | ---------- | ------ | ---------- | ---------- | | epoch | 3 | 5 | 5 | 8 | 8 | - | Chnsenticorp dev | 0.8766 | 0.8775 | 0.8566 | 0.8775 | **0.8792** | - | Chnsenticorp test | 0.8733 | **0.8841** | 0.8400 | **0.8841** | 0.8625 | + | Chnsenticorp | 0.8766 | 0.8775 | 0.8566 | 0.8775 | **0.8792** | - 可以看到当dis_blocks=5时,epoch=8时,模型在dev上的得分才略微超越Baseline(epoch=3),而test中的得分则始终低于相同epoch、不采用Discriminative fine-tuning策略的实验结果。 + 可以看到当dis_blocks=5时,epoch=8时,模型性能超越Baseline。 - 由于CoLA在dis_block=3,epoch=3时的成绩已经超越了Baseline,因为我们可以进一步增大dis_blocks,观察其实验效果,其结果如下表所示: + 在CoLA任务中,dis_block=3,epoch=3时的模型得分已经超越了Baseline,因为可以进一步增大dis_blocks,观察其实验效果,结果如下表所示: | dis_blocks | -
(Baseline) | 3 | - | 7 | - | 7 | | ---------- | ------------------- | ---------- | ------ | ------ | ------ | ------ | | epoch | 3 | 3 | 5 | 5 | 8 | 8 | - | CoLA dev | 0.5680 | **0.5996** | 0.5680 | 0.5605 | 0.5720 | 0.5788 | - - 实验结果表明,dis_blocks过大同样会导致模型在小规模数据集欠拟合的问题,当dis_blocks=7时,模型在epoch=5性能低于Baseline (epoch=3),直至epoch=8才略微超过Baseline (epoch=8),但仍显著低于dis_blocks=3,epoch=3的模型表现。 + | CoLA | 0.5680 | **0.5996** | 0.5680 | 0.5605 | 0.5720 | 0.5788 | - 因此我们建议用户在小规模训练集中采用discriminative fine-tuning,并设置较小的dis_blocks,同时我们不建议在大规模数据集中采用,否则需要大幅提升epoch。 + 实验结果表明,dis_blocks过大同样会导致性能下降的问题,当dis_blocks=7时,模型在epoch=5性能低于Baseline (epoch=3),直至epoch=8才略微超过Baseline (epoch=8),但仍显著低于dis_blocks=3,epoch=3的模型表现。建议用户采用discriminative fine-tuning时,应当设置较小的dis_blocks,如果设置过大的dis_blocks,则需提升训练的epoch。 -6. Gradual unfreezing策略实验与分析 +5. Gradual unfreezing策略实验与分析 本小节对Gradual unfreezing策略进行实验分析,frz_blocks设置为3,第一个epoch只更新最顶层的block,此后每一个epoch解冻一个block参与更新,实验结果如下表所示: | gradual unfreezing | -(baseline) | 3 | | :----------------- | :------------ | :----- | - | Chnsenticorp dev | 0.8766 | 0.8850 | - | Chnsenticorp test | 0.8733 | 0.8816 | - | CoLA dev | 0.5680 | 0.5704 | + | Chnsenticorp | 0.8766 | **0.8850** | + | CoLA | 0.5680 | **0.5704** | - 实验结果表明通过延后更新预训练模型中的底层参数,该策略不论是对大规模数据集还是对小规模数据集均有效,在大规模数据集中的效果更佳。我们建议用户采用这种策略,尤其是在大规模数据集中进行微调时。 + 实验结果表明通过延后更新预训练模型中的底层参数,该策略不论是对Chnsenticorp数据集还是对CoLA数据集均有效。 -## 四、CV实验与分析 +## 四、在CV迁移学习中使用ULMFiT策略 1. 数据集与预训练模型的选择 - 本小节采用resnet50作为预训练模型。在NLP任务中,我们仅对数据集进行了数据规模划分,这是因为NLP任务的预训练数据集通常是无标签数据集,它的训练过程是无监督学习,与微调过程的有监督学习差异较大,不好衡量微调数据集与预训练数据集的相似性。而resnet50预训练数据集ImageNet是带标签数据集,它的预训练过程是有监督学习,因此我们除了可以划分数据规模,还可以划分数据集与预训练数据集的相似度。基于此,我们选择了四个数据集用于实验: + 本小节采用resnet50作为预训练模型。基于数据规模、任务数据集与预训练数据集的相似度,本次实验选择了以下四个数据集: - - **indoor67**(相似度小,规模小):该数据集包含1.5万个样例,标签包含concert_hall, locker_room等67个室内物体,由于ImageNet中没有这些室内物品标签,我们认为它与预训练数据集相似度较小。理论上,相似度小规模小的数据集在微调时既不能更新得太快导致过拟合,也不能太小导致欠拟合,是最难调整的一类数据集。 - - **food101**(相似度小,规模大):该数据集标签包含Apple pie, Baby back ribs等101个食品,这些标签同样几乎没有出现在ImageNet中,因此它与预训练数据集的相似度也较小。同时该数据集训练集包含10万个样例,远远大于indoor67的1.5万个样例,因此我们将indoor67归类为规模小,food101归类为规模大。理论上,相似度小规模大的数据集可以较快更新,是模型充分拟合。 - - **dogcat**(相似度大,规模大):该数据集包含2.2万个样例,数据量没有比indoor67大很多,但标签只有dog和cat两类,数据规模会比indoor67充裕很多。猫狗标签在ImageNet中频繁出现且在ImageNet中划分的品种更加细致,因此它可以被认为是与预训练数据集相似度大的数据集。理论上,相似度大规模大的数据集不论采用怎样的策略均能获得非常良好的模型性能,通过细致地调整策略可以略微提升模型性能。 - - **dogcat 1/10**(相似度大,规模小):为了构建相似度大,规模小的数据集,我们在dogcat数据集的基础上随机抽取了1/10个样例组成新的数据集,该数据集包含0.22万个样例,”dog”/”cat”两类标签。理论上,相似度大规模小的数据集由于与预训练数据集相似度大,模型在微调过程中可以保留更多的预训练参数。 + - **indoor67**(相似度小,规模小):该数据集包含1.5万个样例,标签包含concert_hall, locker_room等67个室内物体,这些标签未出现在预训练数据集ImageNet中。理论上,相似度小规模小的数据集在微调时既不能更新得太快导致过拟合,也不能太小导致欠拟合,是最难调整的一类数据集。 + - **food101**(相似度小,规模大):该数据集包含10万个样例,标签包含Apple pie, Baby back ribs等101个食品,这些标签同样几乎没有出现在ImageNet中。理论上,相似度小规模大的数据集可以较快更新,是模型充分拟合。 + - **dogcat**(相似度大,规模大):该数据集包含2.2万个样例,标签只有dog和cat两类,单类数据规模较大,且均出现在ImageNet中。理论上,相似度大规模大的数据集不论采用怎样的策略均能获得非常良好的模型性能,通过细致地调整策略可以略微提升模型性能。 + - **dogcat 1/10**(相似度大,规模小):该数据集由dogcat数据集中随机抽取1/10个样例组成,包含0.22万个样例,”dog”/”cat”两类标签。理论上,相似度大规模小的数据集由于与预训练数据集相似度大,模型在微调过程中可以保留更多的预训练参数。 2. Baseline与实验设置 - Baseline不采用任何策略,学习率在微调过程中保持恒定。所有任务均采用双卡运行(使用两张显卡),Batch size设置为40,总Batch size即为80,训练迭代一个epoch,学习率均设置为1e-4,评估指标为准确率(accuracy)。实验效果如下表所示: + Baseline未采用任何策略,学习率在微调过程中保持恒定。所有任务均使用两张显卡,Batch size设置为40,训练迭代一个epoch,学习率均设置为1e-4,评估指标为准确率(accuracy)。实验效果如下表所示: | - | **indoor67** | **food101** | **dogcat** | **dogcat 1/10** | | :--------------- | :------------- | :------------- | -------------- | --------------- | - | Type | 相似度小规模小 | 相似度小规模大 | 相似度大规模大 | 相似度大规模小 | - | Module | resnet50 | resnet50 | resnet50 | resnet50 | - | Total Batch size | 80 | 80 | 80 | 80 | + | Batch size | 40 | 40 | 40 | 40 | | Num epoch | 1 | 1 | 1 | 1 | | Learning rate | 1e-4 | 1e-4 | 1e-4 | 1e-4 | | Dev | 0.6907 | 0.7272 | 0.9893 | 1.0 | | Test | 0.6741 | 0.7338 | 0.9830 | 0.9719 | - 在下文中,如果没有特别说明,实验设置(例如Batch size、Num epoch等)均与Baseline一致。 - -3. warmup + linear decay策略实验与分析 - - 在本实验中,wup(warm up proportion)为学习率上升在总步数中的比重,linear decay则在warmup结束的时刻开始,学习率在训练结束时下降至0。实验结果如下表所示,其中warm up proportion=0为Baseline,它不采用linear decay: - - | wup | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | - | ---- | ------------------------------------- | ------------------------------------ | --------------------------------- | ---------------------------------- | - | 0 | dev: **0.6907**
test:**0.6741** | dev: 0.7272
test:0.7338 | dev:0.9893
test:0.9830 |
dev:**1.0**
test:0.9719 | - | 0.1 | dev: 0.6506
test:0.6324 | dev:**0.7573**
test:**0.7497** | dev: **0.9964**
test:0.9924 | dev:0.9958
test:0.9802 | - | 0.2 | dev:0.6282
test:0.6372 | dev: 0.7486
test:0.7446 | dev: 0.9937
test:**0.9937** | dev:0.9916
test:**0.9813** | + 在后续调优过程中,如无特别说明,实验设置(例如Batch size、Num epoch等)均与Baseline一致。 - 从实验结果可以看到该策略在相似度小规模小的数据集不适合采用warm up + linear decay策略,由于数据集相似度小,设置warm up + linear decay策略会导致模型严重欠拟合。而在相似度大规模小的数据集中抑制拟合能力能够提升模型的泛化能力,提升test得分。在规模大的数据集中,相似度小的数据集提升尤其明显;而相似度大的数据集也有略微提升。 +3. slanted triangular learning rates(STLR)策略实验与分析 - 上面的实验表明,设置合理的warm up proportion在Bias-Variance Tradeoff中找到平衡是有利于各类数据集中模型性能提升的。为此,我们进一步探索了更细致的warm up proportion设置。实验结果如下表所示: - - | wup | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | - | ---- | ------------------------------------- | ------------------------------------ | --------------------------------- | ---------------------------------- | - | 0 | dev: **0.6907**
test:**0.6741** | dev: 0.7272
test:0.7338 | dev:0.9893
test:0.9830 |
dev:**1.0**
test:0.9719 | - | 0.01 | dev:0.6526
test:0.6611 | dev: **0.7564**
test:**0.7584** | dev:0.9955
test:0.9915 |
dev:0.9958
test:0.9730 | - | 0.05 | dev:0.6493
test:0.6397 | dev: 0.7544
test:0.7573 | dev: 0.9950
test:**0.9946** | dev:0.9958
test:**0.9844** | - | 0.1 | dev: 0.6506
test:0.6324 | dev:0.7573
test:0.7497 | dev: **0.9964**
test:0.9924 | dev:0.9958
test:0.9802 | - | 0.2 | dev:0.6282
test:0.6372 | dev: 0.7486
test:0.7446 | dev: 0.9937
test:0.9937 | dev:0.9916
test:0.9813 | - - 从以上实验分析,food101、dogcat、dogcat 1/10设置更小的warm up proportion (<0.1)均在测试集上取得了更好的成绩,对于dogcat 1/10,它的训练集大小为1803,在总batch size=80的时候,总迭代步数为22,当设置wup=0.01时,实际上并没有warm up阶段,只有linear decay阶段。我们建议用户尝试设置较小的warm up proportion或者仅采用linear decay,观察模型的性能变化。 - - 对于相似度小规模小的数据集,我们进一步探究它的warm up proportion设置,由于indoor67训练集大小为12502,在总batch size=80时,总的迭代步数为156,在warm up proportion=0.01时,warmup阶段实际只有1步,我们无法再缩小warm up proportion了,因此我们尝试设置更小的batch size。在此次实验中,我们设置batch size为16,并只使用单张卡,实验结果如下表所示: - - | wup | 0 | 0.01 | 0.05 | - | ---- | ------ | ---------- | ---------- | - | dev | 0.6868 | **0.7448** | 0.7371 | - | test | 0.6751 | 0.7237 | **0.7316** | - - 在这里,wup=0的实验组为baseline,未采用linear decay,其结果与总batch size=80的结果相差不大。从这组实验我们发现在设置batch size=16,wup=0.05时,在相似度小规模小数据集中采用warm up + linear decay策略的效果终于超越了Baseline。对于小规模数据集,我们建议设置较小的batch size,再通过尝试设置较小的warm up proportion寻找Bias-Variance Tradeoff中的平衡点。 - -4. slanted triangular learning rates(STLR)策略实验与分析 - - 在本小节中,我们对STLR的效果进行实验,实验结果如下表所示,cut_fraction=0为Baseline,不采用任何策略: + 本小节采用STLR微调策略进行实验,实验结果如下表所示,其中cut_fraction=0为Baseline,不采用任何策略: | cut_fraction | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | | :----------- | :-------------------------------- | :----------------------------------- | :------------------------------- | :-------------------------------- | - | 0 | dev: 0.6907
test:0.6741 | dev: 0.7272
test:0.7338 | dev:0.9893
test:0.9830 | dev:**1.0**
test:0.9719 | + | 0 (baseline) | dev: 0.6907
test:0.6741 | dev: 0.7272
test:0.7338 | dev:0.9893
test:0.9830 | dev:**1.0**
test:0.9719 | | 0.01 | dev: 0.7148
test:0.7053 | dev:**0.7637**
test:**0.7656** | dev: **0.9946**
test:0.9924 | dev: *0.4481*
test:*0.5346* | | 0.05 | dev: **0.7226**
test:0.7130 | dev:0.7605
test:0.7612 | dev: 0.9901
test:0.9919 | dev: **1.0**
test:0.9844 | | 0.1 | dev: 0.7128
test:**0.7155** | dev: 0.7606
test:0.7582 | dev: 0.9924
test:**0.9928** | dev: 0.9958
test:0.9688 | | 0.2 | dev: 0.6361
test:0.6151 | dev: 0.7581
test:0.7575 | dev: 0.9941
test:0.9897 | dev: 0.9916
test:**0.9916** | - 除了indoor67,其余数据集中的实验结果与第3小节中的实验结果差异不大。在第二章NLP部分,我们已经讨论过STLR与第3小节的实验设置的明显差别仅在于最终速度为1/ratio,保留一定终速度有利于缓解相似度小规模小数据集的欠拟合问题。我们建议用户采用较小的cut_fraction,该策略在相似度小规模大的数据集终有较为显著的效果。 + 从实验结果可以看到,采用该策略后,模型在各个数据集中的性能都获得了提升,尤其在相似度小规模大的数据集中,模型在验证集上的结果从0.7272提升至0.7637。 - 值得注意的是dogcat 1/10在cut_fraction=0.01时会出现异常结果,这是由于dogcat 1/10的训练集大小为1803,在总batch size=80的时候,总迭代步数为22,当设置cut_fraction=0.01时,由第二章STLR计算公式可得,cut=0,这会导致后续计算p时会出现除数为0的问题,导致无法微调,最终汇报的成绩为未经微调的模型直接进行测试的结果。 + 值得注意的是dogcat 1/10在cut_fraction=0.01时会出现异常结果,这是由于dogcat 1/10的训练集大小为1803,在总batch size=80的时候,总迭代步数为22,当设置cut_fraction=0.01时,由第二章STLR计算公式可得,cut=0,这会导致后续计算p时会出现除数为0的问题,导致实验结果异常。因此对于小规模数据集,建议设置较小的batch size。 -5. Discriminative fine-tuning策略实验与分析 +4. Discriminative fine-tuning策略实验与分析 - 本小节对Discriminative fine-tuning策略进行实验分析。理论上,预训练得到的模型的底层学到的是图像当中的通用特征,那么对于相似度大的数据集,我们可以保留更多的预训练参数;而对于相似度小的数据集,我们则应该保留更少的预训练参数,让模型在任务数据集中得到更多训练。我们通过设置不同的dis_blocks来控制底层的学习率衰减次数,dis_blocks越大则底层的学习率衰减越多,预训练参数保留得越多。实验结果如下表所示: + 本小节对Discriminative fine-tuning策略进行实验分析。理论上,预训练得到的模型的底层学到的是图像当中的通用特征,那么对于相似度大的数据集,可以保留更多的预训练参数;而对于相似度小的数据集,则应保留更少的预训练参数,让模型在任务数据集中得到更多训练。本实验通过设置不同的dis_blocks来控制底层的学习率衰减次数,dis_blocks越大则底层的学习率衰减越多,预训练参数保留得越多。实验结果如下表所示: - | cut_fraction | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | + | dis_blocks | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | | :----------- | :---------------------------------- | :---------------------------------- | :-------------------------------- | :-------------------------------- | - | 0 | dev: 0.6907
test:0.6741 | dev: 0.7272
test:0.7338 | dev:0.9893
test:0.9830 | dev:**1.0**
test:0.9719 | + | 0 (baseline) | dev: 0.6907
test:0.6741 | dev: 0.7272
test:0.7338 | dev:0.9893
test:0.9830 | dev:**1.0**
test:0.9719 | | 3 | dev:**0.7842**
test:**0.7575** | dev:**0.7581**
test:**0.7527** | dev:**0.9933**
test:0.9897 | dev:0.9958
test:**0.9802** | | 5 | dev: 0.7092
test:0.6961 | dev:0.7336
test:0.7390 | dev: 0.9928
test:**0.9910** | dev: 0.9958
test:**0.9802** | - 观察实验结果,可以发现相似度小规模小的数据集当dis_blocks设置为3时,实验效果大幅度提升,但设置为5的时候,test成绩反而如Baseline,对于相似度小规模小的数据集我们仍应注意寻找合适的超参数。对于相似度小规模大的数据集,模型可以在任务训练集中得到充分的学习,设置较小的dis_blocks适当减缓底层参数的更新有助于模型性能提升。对于相似度大规模大的数据集无论是否采用该策略均有优良的表现,采用该策略可以小幅提升模型性能。而对于相似度大规模小的数据集可以设置更大的dis_blocks,保留更多的底层参数,提升它的泛化能力。 - -6. Gradual unfreezing策略实验与分析 + 观察实验结果,可以发现该策略在四类数据集中均有良好的效果。在相似度小规模小的数据集中,当dis_blocks设置为3时,实验效果提升明显,但设置为5的时候,test成绩反而不如Baseline,对于相似度小规模小的数据集,调优过程应当注意寻找合适的超参数设置。对于相似度大规模大的数据集无论是否采用该策略均有优良的表现,采用该策略可以略微提升模型性能。 - 本小节验证Gradual unfreezing策略的实验效果。理论上,该策略与Discriminative fine-tuning策略相似,对于相似度大的数据集可以更慢的解冻底层,而相似度小的数据集可以早点解冻底层使它们拟合任务数据集。我们设置了不同的frz_blocks控制底层的解冻速度,每个epoch模型解冻一个block。实验结果如下表所示: +5. Gradual unfreezing策略实验与分析 - | frz_blocks | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | - | :--------- | :-------------------------------- | :-------------------------------- | :-------------------------------- | :-------------------------------- | - | 0 | dev: 0.6907
test:0.6741 | dev: **0.7272**
test:0.7338 | dev:0.9893
test:0.9830 | dev:**1.0**
test:0.9719 | - | 3 | dev:0.7210
test:**0.7018** | dev: 0.7251
test:**0.7270** | dev:**0.9924**
test:0.9857 | dev:**1.0**
test:0.9719 | - | 5 | dev: **0.7236**
test:0.6961 | dev: 0.7168
test:0.7204 | dev: 0.9892
test:**0.9861** | dev: **1.0**
test:**0.9802** | - - 实验结果可得,相似度小规模小依然要注意超参数的设置,frz_blocks=3时模型性能提升,设置为5时模型性能下降;与Discriminative fine-tuning结论一致,相似度小规模大的数据集可以设置较小的frz_blocks,相似度大的数据集可以设置较大的frz_blocks。 - 由于上述实验num epoch=1,实际上模型只更新了最顶层的block,在这里我们提高num epoch,使逐层解冻策略真正运用起来,实验结果如下表所示: + 本小节验证Gradual unfreezing策略的实验效果。理论上,该策略与Discriminative fine-tuning策略相似,对于相似度大的数据集可以更慢的解冻底层,而相似度小的数据集可以早点解冻底层使它们拟合任务数据集。本次实验设置了不同的frz_blocks控制底层的解冻速度,每个epoch模型解冻一个block。实验结果如下表所示: | frz_blocks | epoch | indoor67
相似度小规模小 | food101
相似度小规模大 | dogcat
相似度大规模大 | dogcat 1/10
相似度大规模小 | | :--------- | ----- | :---------------------------------- | :------------------------------- | :------------------------------- | :-------------------------------- | @@ -247,15 +180,17 @@ PaddleHub中实现了ERNIE、BERT、LAC、ELMo等[NLP预训练模型](https://ww | 5 | 1 | dev: 0.7236
test:0.6961 | dev: 0.7168
test:0.7204 | dev: 0.9892
test:0.9861 | dev: **1.0**
test:**0.9802** | | 5 | 3 | dev:**0.7802**
test:**0.7689** | dev:**0.7461
** test:0.7389 | dev:**0.9924**
test:0.9892 | dev:**1.0**
test:**0.9802** | - 从表中结果可得,提升epoch,进行逐层解冻后,frz_blocks=5的实验组在epoch=3时超越了frz_blocks=3的实验结果,设置较大的frz_blocks会降低模型的拟合能力,但提升epoch,使模型得到充分的训练后,模型能够取得比不采用该策略更好的效果。我们建议用户采用Gradual unfreezing策略并设置合适的frz_blocks和足够的epoch。 + 从表中结果可得,frz_blocks=5的实验组在epoch=3时超越了frz_blocks=3的实验结果,设置较大的frz_blocks会降低模型的拟合能力,但提升epoch,使模型得到充分的训练后,模型能够取得更好的效果。建议用户采用Gradual unfreezing策略时设置足够大的epoch。 ## 五、总结 -本文详细描述了使用ULMFiT策略微调PaddleHub预训练模型的来龙去脉。对于NLP任务,我们划分了大规模数据集与小规模数据集;对于CV任务,我们划分了相似度小规模小、相似度小规模大、相似度大规模大、相似度大规模小四类数据集。我们实验了warm up + linear decay, slanted triangular learning rate, Discriminative fine-tuning, Gradual unfreezing四种策略。 +本文描述了在NLP、CV任务中使用ULMFiT策略微调PaddleHub预训练模型的过程,尝试了warm up + linear decay, slanted triangular learning rate, Discriminative fine-tuning, Gradual unfreezing四种微调策略。 + +slanted triangular learning rate和warm up + linear decay在原理上和实验结果上都是相似的,Discriminative fine-tuning和Gradual unfreezing微调策略在使用中,应当注意它们会降低模型的拟合能力,可以适当提高训练的轮数。 -warm up + linear decay和slanted triangular learning rate在原理上和实验结果上都是相似的,用户可以任选其中一种策略并寻找它的Bias-Variance Tradeoff平衡点。我们建议采用Discriminative fine-tuning和Gradual unfreezing策略,它们均有良好的实验效果,在相似度大的数据集中可以设置较大的超参而在相似度小的数据集中应该设置较小的超参,采用该策略后,为了提升模型的拟合能力可以适当提高训练的轮数。欢迎您使用上述策略调试您的PaddleHub预训练模型,同时我们欢迎您使用[PaddleHub Auto Fine-tune](https://github.com/PaddlePaddle/PaddleHub/blob/develop/tutorial/autofinetune.md)自动搜索超参设置,如有任何疑问请在issues中向我们提出! +PaddleHub 1.2已发布AutoDL Finetuner,可以自动搜索超参设置,详情请参考[PaddleHub AutoDL Finetuner](./autofinetune.md)。如有任何疑问欢迎您在issues中向我们提出! ## 六、参考文献 -1. Howard J, Ruder S. Universal language model fine-tuning for text classification[J]. arXiv preprint arXiv:1801.06146, 2018.MLA +1. Howard J, Ruder S. Universal Language Model Fine-tuning for Text Classification[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018: 328-339. 2. website: [Transfer learning from pre-trained models](https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751) -- GitLab