当前位置: 首页 > news >正文

家居网站建设基本流程市场营销研究生好考吗

家居网站建设基本流程,市场营销研究生好考吗,在县城做哪个招聘网站比较赚钱,wordpress中footer函数TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度#xff0c;减少内存占用 TextBrewer是一个基于PyTorch的、为实现NLP中的知识蒸馏任务而设计的工具包#xff0c; 融合并改进了NLP和CV中的多种知识蒸馏技术#xff0…TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度减少内存占用 TextBrewer是一个基于PyTorch的、为实现NLP中的知识蒸馏任务而设计的工具包 融合并改进了NLP和CV中的多种知识蒸馏技术提供便捷快速的知识蒸馏框架用于以较低的性能损失压缩神经网络模型的大小提升模型的推理速度减少内存占用。 1.简介 TextBrewer 为NLP中的知识蒸馏任务设计融合了多种知识蒸馏技术提供方便快捷的知识蒸馏框架。 主要特点 模型无关适用于多种模型结构主要面向Transfomer结构方便灵活可自由组合多种蒸馏方法可方便增加自定义损失等模块非侵入式无需对教师与学生模型本身结构进行修改支持典型的NLP任务文本分类、阅读理解、序列标注等 TextBrewer目前支持的知识蒸馏技术有 软标签与硬标签混合训练动态损失权重调整与蒸馏温度调整多种蒸馏损失函数: hidden states MSE, attention-based loss, neuron selectivity transfer, …任意构建中间层特征匹配方案多教师知识蒸馏… TextBrewer的主要功能与模块分为3块 Distillers进行蒸馏的核心部件不同的distiller提供不同的蒸馏模式。目前包含GeneralDistiller, MultiTeacherDistiller, MultiTaskDistiller等Configurations and Presets训练与蒸馏方法的配置并提供预定义的蒸馏策略以及多种知识蒸馏损失函数Utilities模型参数分析显示等辅助工具 用户需要准备 已训练好的教师模型, 待蒸馏的学生模型训练数据与必要的实验配置 即可开始蒸馏 在多个典型NLP任务上TextBrewer都能取得较好的压缩效果。相关实验见蒸馏效果。 2.TextBrewer结构 2.1 安装要求 Python 3.6 PyTorch 1.1.0 TensorboardX or Tensorboard NumPy tqdm Transformers 2.0 (可选, Transformer相关示例需要用到) Apex 0.1.0 (可选用于混合精度训练) 从PyPI自动下载安装包安装: pip install textbrewer从源码文件夹安装: git clone https://github.com/airaria/TextBrewer.git pip install ./textbrewer2.2工作流程 Stage 1 : 蒸馏之前的准备工作: 训练教师模型定义与初始化学生模型随机初始化或载入预训练权重构造蒸馏用数据集的dataloader训练学生模型用的optimizer和learning rate scheduler Stage 2 : 使用TextBrewer蒸馏 构造训练配置(TrainingConfig)和蒸馏配置(DistillationConfig),初始化distiller定义adaptor 和 callback 分别用于适配模型输入输出和训练过程中的回调调用distiller的train方法开始蒸馏 2.3 以蒸馏BERT-base到3层BERT为例展示TextBrewer用法 在开始蒸馏之前准备 训练好的教师模型teacher_model (BERT-base)待训练学生模型student_model (3-layer BERT)数据集dataloader优化器optimizer学习率调节器类或者构造函数scheduler_class 和构造用的参数字典 scheduler_args 使用TextBrewer蒸馏: import textbrewer from textbrewer import GeneralDistiller from textbrewer import TrainingConfig, DistillationConfig#展示模型参数量的统计 print(\nteacher_models parametrers:) result, _ textbrewer.utils.display_parameters(teacher_model,max_level3) print (result)print(student_models parametrers:) result, _ textbrewer.utils.display_parameters(student_model,max_level3) print (result)#定义adaptor用于解释模型的输出 def simple_adaptor(batch, model_outputs):# model输出的第二、三个元素分别是logits和hidden statesreturn {logits: model_outputs[1], hidden: model_outputs[2]}#蒸馏与训练配置 # 匹配教师和学生的embedding层同时匹配教师的第8层和学生的第2层 distill_config DistillationConfig(intermediate_matches[ {layer_T:0, layer_S:0, feature:hidden, loss: hidden_mse,weight : 1},{layer_T:8, layer_S:2, feature:hidden, loss: hidden_mse,weight : 1}]) train_config TrainingConfig()#初始化distiller distiller GeneralDistiller(train_configtrain_config, distill_config distill_config,model_T teacher_model, model_S student_model, adaptor_T simple_adaptor, adaptor_S simple_adaptor)#开始蒸馏 with distiller:distiller.train(optimizer, dataloader, num_epochs1, scheduler_classscheduler_class, scheduler_args scheduler_args, callbackNone)2.4蒸馏任务示例 Transformers 4示例 examples/notebook_examples/sst2.ipynb (英文): SST-2文本分类任务上的BERT模型训练与蒸馏。examples/notebook_examples/msra_ner.ipynb (中文): MSRA NER中文命名实体识别任务上的BERT模型训练与蒸馏。examples/notebook_examples/sqaudv1.1.ipynb (英文): SQuAD 1.1英文阅读理解任务上的BERT模型训练与蒸馏。 examples/random_token_example: 一个可运行的简单示例在文本分类任务上以随机文本为输入演示TextBrewer用法。 examples/cmrc2018_example (中文): CMRC 2018上的中文阅读理解任务蒸馏并使用DRCD数据集做数据增强。 examples/mnli_example (英文): MNLI任务上的英文句对分类任务蒸馏并展示如何使用多教师蒸馏。 examples/conll2003_example (英文): CoNLL-2003英文实体识别任务上的序列标注任务蒸馏。 examples/msra_ner_example (中文): MSRA NER(中文命名实体识别)任务上使用分布式数据并行训练的Chinese-ELECTRA-base模型蒸馏。 2.4.1蒸馏效果 我们在多个中英文文本分类、阅读理解、序列标注数据集上进行了蒸馏实验。实验的配置和效果如下。 模型 对于英文任务教师模型为BERT-base-cased 对于中文任务教师模型为HFL发布的RoBERTa-wwm-ext 与 Electra-base 我们测试了不同的学生模型为了与已有公开结果相比较除了BiGRU都是和BERT一样的多层Transformer结构。模型的参数如下表所示。需要注意的是参数量的统计包括了embedding层但不包括最终适配各个任务的输出层。 英文模型 Model#LayersHidden sizeFeed-forward size#ParamsRelative sizeBERT-base-cased (教师)127683072108M100%T6 (学生)6768307265M60%T3 (学生)3768307244M41%T3-small (学生)3384153617M16%T4-Tiny (学生)4312120014M13%T12-nano (学生)12256102417M16%BiGRU (学生)-768-31M29% 中文模型 Model#LayersHidden sizeFeed-forward size#ParamsRelative sizeRoBERTa-wwm-ext (教师)127683072102M100%Electra-base (教师)127683072102M100%T3 (学生)3768307238M37%T3-small (学生)3384153614M14%T4-Tiny (学生)4312120011M11%Electra-small (学生)12256102412M12% T6的结构与DistilBERT[1], BERT6-PKD[2], BERT-of-Theseus[3] 相同。T4-tiny的结构与 TinyBERT[4] 相同。T3的结构与BERT3-PKD[2] 相同。 2.4.2 蒸馏配置 distill_config DistillationConfig(temperature 8, intermediate_matches matches) #其他参数为默认值不同的模型用的matches我们采用了以下配置 ModelmatchesBiGRUNoneT6L6_hidden_mse L6_hidden_smmdT3L3_hidden_mse L3_hidden_smmdT3-smallL3n_hidden_mse L3_hidden_smmdT4-TinyL4t_hidden_mse L4_hidden_smmdT12-nanosmall_hidden_mse small_hidden_smmdElectra-smallsmall_hidden_mse small_hidden_smmd 各种matches的定义在examples/matches/matches.py中。均使用GeneralDistiller进行蒸馏。 2.4.3训练配置 蒸馏用的学习率 lr1e-4(除非特殊说明)。训练30~60轮。 2.4.4英文实验结果 在英文实验中我们使用了如下三个典型数据集。 DatasetTask typeMetrics#Train#DevNoteMNLI文本分类m/mm Acc393K20K句对三分类任务SQuAD 1.1阅读理解EM/F188K11K篇章片段抽取型阅读理解CoNLL-2003序列标注F123K6K命名实体识别任务 我们在下面两表中列出了DistilBERT, BERT-PKD, BERT-of-Theseus, TinyBERT 等公开的蒸馏结果并与我们的结果做对比。 Public results: Model (public)MNLISQuADCoNLL-2003DistilBERT (T6)81.6 / 81.178.1 / 86.2-BERT6-PKD (T6)81.5 / 81.077.1 / 85.3-BERT-of-Theseus (T6)82.4/ 82.1--BERT3-PKD (T3)76.7 / 76.3--TinyBERT (T4-tiny)82.8 / 82.972.7 / 82.1- Our results: Model (ours)MNLISQuADCoNLL-2003BERT-base-cased (教师)83.7 / 84.081.5 / 88.691.1BiGRU--85.3T683.5 / 84.080.8 / 88.190.7T381.8 / 82.776.4 / 84.987.5T3-small81.3 / 81.772.3 / 81.478.6T4-tiny82.0 / 82.675.2 / 84.089.1T12-nano83.2 / 83.979.0 / 86.689.6 说明 公开模型的名称后括号内是其等价的模型结构蒸馏到T4-tiny的实验中SQuAD任务上使用了NewsQA作为增强数据CoNLL-2003上使用了HotpotQA的篇章作为增强数据蒸馏到T12-nano的实验中CoNLL-2003上使用了HotpotQA的篇章作为增强数据 2.4.5中文实验结果 在中文实验中我们使用了如下典型数据集。 DatasetTask typeMetrics#Train#DevNoteXNLI文本分类Acc393K2.5KMNLI的中文翻译版本3分类任务LCQMC文本分类Acc239K8.8K句对二分类任务判断两个句子的语义是否相同CMRC 2018阅读理解EM/F110K3.4K篇章片段抽取型阅读理解DRCD阅读理解EM/F127K3.5K繁体中文篇章片段抽取型阅读理解MSRA NER序列标注F145K3.4K (测试集)中文命名实体识别 实验结果如下表所示。 ModelXNLILCQMCCMRC 2018DRCDRoBERTa-wwm-ext (教师)79.989.468.8 / 86.486.5 / 92.5T378.489.066.4 / 84.278.2 / 86.4T3-small76.088.158.0 / 79.375.8 / 84.8T4-tiny76.288.461.8 / 81.877.3 / 86.1 ModelXNLILCQMCCMRC 2018DRCDMSRA NERElectra-base (教师)77.889.865.6 / 84.786.9 / 92.395.14Electra-small77.789.366.5 / 84.985.5 / 91.393.48 说明 以RoBERTa-wwm-ext为教师模型蒸馏CMRC 2018和DRCD时不采用学习率衰减CMRC 2018和DRCD两个任务上蒸馏时他们互作为增强数据Electra-base的教师模型训练设置参考自Chinese-ELECTRAElectra-small学生模型采用预训练权重初始化 3.核心概念 3.1Configurations TrainingConfig 和 DistillationConfig训练和蒸馏相关的配置。 3.2Distillers Distiller负责执行实际的蒸馏过程。目前实现了以下的distillers: BasicDistiller: 提供单模型单任务蒸馏方式。可用作测试或简单实验。GeneralDistiller (常用): 提供单模型单任务蒸馏方式并且支持中间层特征匹配一般情况下推荐使用。MultiTeacherDistiller: 多教师蒸馏。将多个同任务教师模型蒸馏到一个学生模型上。暂不支持中间层特征匹配。MultiTaskDistiller多任务蒸馏。将多个不同任务单任务教师模型蒸馏到一个多任务学生模型。BasicTrainer用于单个模型的有监督训练而非蒸馏。可用于训练教师模型。 3.3用户定义函数 蒸馏实验中有两个组件需要由用户提供分别是callback 和 adaptor : 3.3.1Callback 回调函数。在每个checkpoint保存模型后会被distiller调用并传入当前模型。可以借由回调函数在每个checkpoint评测模型效果。 3.3.2Adaptor 将模型的输入和输出转换为指定的格式向distiller解释模型的输入和输出以便distiller根据不同的策略进行不同的计算。在每个训练步batch和模型的输出model_outputs会作为参数传递给adaptoradaptor负责重新组织这些数据返回一个字典。 更多细节可参见完整文档中的说明。 4.FAQ Q: 学生模型该如何初始化 A: 知识蒸馏本质上是“老师教学生”的过程。在初始化学生模型时可以采用随机初始化的形式即完全不包含任何先验知识也可以载入已训练好的模型权重。例如从BERT-base模型蒸馏到3层BERT时可以预先载入RBT3模型权重(中文任务)或BERT的前三层权重(英文任务)然后进一步进行蒸馏避免了蒸馏过程的“冷启动”问题。我们建议用户在使用时尽量采用已预训练过的学生模型以充分利用大规模数据预训练所带来的优势。 Q: 如何设置蒸馏的训练参数以达到一个较好的效果 A: 知识蒸馏的比有标签数据上的训练需要更多的训练轮数与更大的学习率。比如BERT-base上训练SQuAD一般以lr3e-5训练3轮左右即可达到较好的效果而蒸馏时需要以lr1e-4训练30~50轮。当然具体到各个任务上肯定还有区别我们的建议仅是基于我们的经验得出的仅供参考。 Q: 我的教师模型和学生模型的输入不同比如词表不同导致input_ids不兼容该如何进行蒸馏 A: 需要分别为教师模型和学生模型提供不同的batch参见完整文档中的 Feed Different batches to Student and Teacher, Feed Cached Values 章节。 Q: 我缓存了教师模型的输出它们可以用于加速蒸馏吗 A: 可以, 参见完整文档中的 Feed Different batches to Student and Teacher, Feed Cached Values 章节。
http://www.w-s-a.com/news/100021/

相关文章:

  • 网站建设优化排名推广平面设计职业学校
  • 网后台的网站怎么做网站代理商
  • 网站如何转移到新的空间服务器上手机无人区离线地图app
  • 网站建设模板的买域名做网站的坏处
  • 长春做网站qianceyun做景观素材有哪几个网站
  • 自己建的网站也要注册域名吗邯郸市做网站
  • 天津网站建设制作软件潍坊个人做网站
  • 重庆城市建设集团官方网站php用什么做网站服务器
  • 深圳坪山站重庆市园林建设有限公司网站
  • 网站建设图片教程如何用自己的电脑建网站
  • 《网页设计与网站建设》A卷答案广东新闻联播
  • 海南专业网站运营托管wordpress 去掉主题
  • 企业品牌网站制作甜品制作网站
  • 手机网站怎么制作影响力网站建设
  • 猪八戒网站做私活赚钱吗一尊网 又一个wordpress站点
  • 上海市做网站的公司滨州哪里做网站
  • 简单的网站建设步骤wordpress 贴吧主题
  • 金泉网做网站找谁表格做网站
  • 北京做兼职从哪个网站好江西省建设监督网站电子网
  • 什么网站做生鲜比较好安徽建设厅城乡官网
  • 域名购买网站有哪些问题上海装修网站建设
  • 找人做seo要给网站程序河北建设网网站
  • 哪家做网站性价比高wordpress最新文章链接插件
  • 维修网站怎么做移动互联网应用程序指的是什么
  • 张家界建设网站门户网站的建设原理
  • 企业通用网站模板湖南网站建设企业
  • 能看网站的视频app如何运行asp网站
  • 公司做网站还是做阿里好呢国外的旅游网站做的如何
  • 怎么做wep网站长沙seo排名公司
  • 海南网站网络推广做转运网站