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

河南建站网站wordpress连接微博专业版

河南建站网站,wordpress连接微博专业版,河北做网站的,淄博网站制作首选专家导读 众所周知#xff0c;计算机视觉技术#xff08;CV#xff09;是企业人工智能应用比重最高的领域之一。为降低企业成本#xff0c;工程师们一直在探索各类模型压缩技术#xff0c;来产出“更准、更小、更快”的AI模型部署落地。而在自然语言处理领域#xff08;NLP计算机视觉技术CV是企业人工智能应用比重最高的领域之一。为降低企业成本工程师们一直在探索各类模型压缩技术来产出“更准、更小、更快”的AI模型部署落地。而在自然语言处理领域NLP中随着模型精度的不断提升模型的规模也越来越大例如以BERT、GPT为代表的预训练模型等这成为企业NLP模型部署落地的拦路虎。本文为大家介绍一个低成本、高收益的AI模型自动压缩工具ACT, Auto Compression Toolkit无需修改训练源代码通过几十分钟量化训练保证模型精度的同时极大的减小模型体积降低显存占用提升模型推理速度助力AI模型的快速落地。使用ACT中的基于知识蒸馏的量化训练方法训练YOLOv7模型与原始的FP32模型相比INT8量化后的模型减小75%在NVIDIA GPU上推理加速5.89倍。使用ACT中的非结构化稀疏和蒸馏方法训练PP-HumanSeg模型与压缩前相比在ARM CPU上推理加速达1.49倍。表1 自动压缩工具在CV模型上的压缩效果和推理加速利用ACT中的结构化稀疏和蒸馏量化方法训练ERNIE3.0模型与原始的FP32对比INT8量化后的模型减小185%在NVIDIA GPU上推理加速6.37倍。表2 自动压缩工具在NLP模型上的压缩效果和推理加速本文将从以下6个方面进一步技术解读全文大约3900字预计阅读时长5分钟。一四步YOLOv7自动压缩实战二四步BERT自动压缩实战三模型的推理部署四直播课报名五自动压缩技术解读六未来工作展望感谢大家Star关注https://github.com/PaddlePaddle/PaddleSlim/tree/develop/example/auto_compression加入自动压缩技术交流群入群福利获取自动化压缩详解本次升级内容的直播课链接获取压缩团队整理的重磅学习大礼包包括深度学习课程压缩方向顶会论文合集压缩历次发版直播课程视频百度最高奖获得者模型压缩架构师培训课资料入群方式扫码关注公众号填写问卷进入微信群直播前福利公布到群公告01四步YOLOv7自动压缩实战1.准备预测模型导出ONNX模型。git clone https://github.com/WongKinYiu/yolov7.git cd yolov7 python export.py --weights yolov7-tiny.pt --grid2.准备训练数据定义DataLoader准备COCO或者VOC格式的数据。定义数据预处理模块。其中数据预处理Reader的设置如下train_dataset paddle.vision.datasets.ImageFolder(global_config[image_path], transformyolo_image_preprocess) train_loader paddle.io.DataLoader(train_dataset,batch_size1,shuffleTrue,drop_lastTrue,num_workers0)3.定义配置文件定义量化训练的配置文件Distillation表示蒸馏参数配置Quantization表示量化参数配置TrainConfig表示训练时的训练轮数、优化器等设置。具体超参的设置可以参考ACT超参设置文档。Distillation: # 蒸馏参数设置alpha: 1.0 # 蒸馏loss所占权重 loss: soft_labelQuantization: # 量化参数设置use_pact: true # 是否使用PACT量化算法activation_quantize_type: moving_average_abs_max # 激活量化方式选择moving_average_abs_max即可quantize_op_types: # 需要量化的OP类型可以是conv2d、depthwise_conv2d、mul、matmul_v2等- conv2d- depthwise_conv2dTrainConfig: # 训练的配置train_iter: 3000 # 训练的轮数eval_iter: 1000 # 训练中每次评估精度的间隔轮数learning_rate: 0.00001 # 训练学习率optimizer_builder: # 优化器设置optimizer: type: SGDweight_decay: 4.0e-054.开始压缩两行代码就可以开始ACT量化训练。启动ACT时需要传入模型文件的路径(model_dir)、模型文件名model_filename、参数文件名称(params_filename)、压缩后模型存储路径(save_dir)、压缩配置文件(config)、dataloader和评估精度的eval_callback。from paddleslim.auto_compression import AutoCompression ac AutoCompression(model_dirglobal_config[model_dir],model_filenameglobal_config[model_filename],params_filenameglobal_config[params_filename],save_dirFLAGS.save_dir,configall_config,train_dataloadertrain_loader,eval_callbackeval_function) ac.compress()02四步BERT自动压缩实战1.准备预测模型Paddle模型可跳过该步骤直接进行压缩PyTorch模型使用以下两种任一方法完成模型转换后即可开始模型压缩工作。使用PyTorch2Paddle在X2Paddle工具箱中直接将PyTorch动态图模型转为飞桨静态图模型以下代码使用该方法使用ONNX2Paddle将PyTorch动态图模型保存为ONNX格式后再转为飞桨静态图模型。import torch import numpy as np # 将PyTorch模型设置为eval模式 torch_model.eval() # 构建输入 input_ids torch.zeros([batch_size, max_length]).long() token_type_ids torch.zeros([batch_size, max_length]).long() attention_msk torch.zeros([batch_size, max_length]).long() # 进行转换 from x2paddle.convert import pytorch2paddle pytorch2paddle(torch_model,save_dir./x2paddle_cola/,jit_typetrace, input_examples[input_ids, attention_msk, token_type_ids])2.准备训练数据定义DataLoader。本案例默认以GLUE数据进行自动压缩实验PaddleNLP会自动下载对应数据集。3.定义配置文件。如果自动压缩针对Transformer encoder结构的模型没有指定具体的压缩策略的话会自动选择结构化剪枝和量化进行压缩。如果想单独设置某一种压缩策略可以参考的具体的超参设置ACT超参设置文档。### 训练配置 train_config {epochs: 3, ### 压缩训练epoch数量eval_iter: 855, ### 训练多少轮数进行一次测试learning_rate: 1.0e-6, ### 压缩训练过程中的学习率optimizer_builder: { ### 优化器配置optimizer: {type: AdamW},weight_decay: 0.01 ### 权重衰减值},origin_metric: 0.6006 ### 压缩前模型精度用来确认转换过来的模型和实现的dataloader是否正确 }4.开始压缩。两行代码就可以开始ACT量化训练。启动ACT时需要传入模型文件的路径(model_dir)、模型文件名model_filename、参数文件名称(params_filename)、压缩后模型存储路径(save_dir)、压缩配置文件(config)、dataloader和评估精度的eval_callback。### 调用自动压缩接口ac AutoCompression(model_dir./x2paddle_cola,model_filenamemodel.pdmodel,params_filenamemodel.pdiparams,save_dirsave_dir,config{TrainConfig: train_config}, #config,train_dataloadertrain_dataloader,eval_callbackeval_function,eval_dataloadereval_dataloader) ac.compress()以上是精简后的关键代码如果想快速体验可以根据https://github.com/PaddlePaddle/PaddleSlim/tree/develop/example/auto_compression/pytorch_huggingface中的示例文档及代码进行体验。训练完成后会在save_dir路径下产出model.pdmodel和model.pdiparams文件。至此完成了模型训练压缩工作推理部署参考下一节内容。03模型的推理部署基于压缩训练后的模型开发者可以直接使用FastDeploy推理部署套件完成部署落地。在使用FastDeploy部署时开发者可以根据需要使用一行代码切换Paddle Inference、Paddle Lite、TensorRT、OpenVINO、ONNX Runtime和RKNN等不同后端来实现不同硬件的部署落地。04直播报名想了解AI模型压缩策略了解更多自动压缩工具的算法和能力快快扫码加群关注我们的直播间吧直播时间 2022年11月7日下周一和11月8日下周二20:30-21:30欢迎大家扫码报名。05自动压缩技术解读1研发模型自动压缩工具的动机和思考模型剪枝是模型压缩的重要手段在实际使用中有如下2点困难1) 直接使用剪枝损失比较大无法满足精度要求结构化剪枝是裁剪掉网络中不重要的神经元。虽然剪枝后会重新训练但通常比较难恢复预训练模型中的一些信息导致剪枝后模型的精度下降。如果加上预训练数据进行重新训练会大大增加剪枝的成本。2) 模型剪枝需要修改训练代码操作复杂技术门槛高结构化剪枝包括以下3步根据规则计算神经元的重要性根据重要性对模型神经元进行剪枝重新训练剪枝后的模型。这些步骤需要开发者在原本的训练代码中直接调用剪枝的相关接口并进行分步操作。通常项目工程相当复杂修改训练代码技术复杂度高、时间成本高昂。模型量化是提升模型推理速度的手段之一实际使用中有如下3点困难1模型激活值分布不均匀导致量化误差大过度训练是导致模型激活值分布不均匀的原因之一。例如在YOLOv6s迭代过程中为了让模型更好地收敛通常需要延长模型训练周期。但随之也会带来一些隐患比如模型在COCO数据集上出现了过拟合某些层的数值分布极端化这些状况增加了量化的噪声。我们分析了YOLOv6s每层Conv的量化精度发现某些层精度下降的特别严重由此导致了YOLOv6s模型离线量化后在验证集上的精度下降了10%无法达到业务要求。2任务复杂度高模型精度受量化误差的影响大任务复杂度越高模型量化带来的精度损失越大。目标检测融合了目标定位和目标分类两种任务整体的复杂度相对较高因此它的精度受量化的影响更大。普通的离线量化无法改变模型激活值的数值分布只会让量化scale适应该分布。遇到数值分布不均匀的激活值离线量化的量化误差会很大。3量化训练需修改训练代码复杂度高技术门槛高相比离线量化Post Training Quantization量化训练能减少离线量化精度掉点的程度。量化训练方法在训练过程中不断地调整激活的数值分布使激活的分布更适合量化。但是量化训练使用成本比较高体现在以下两方面一方面是人力成本高为了实现量化训练需要修改模型的组网和训练代码插入模拟量化操作。另一方面为时间成本高训练时需要加载完整训练集做训练。2模型自动压缩工具-结构化剪枝和量化解析ACT支持对NLP模型的压缩算法自动组合。ACT会对模型结构进行判断如果是Transformer类型的模型的话自动选择『结构化剪枝』和『量化』进行串行压缩。以上2个模块的具体技术解析如下1 结构化剪枝技术包含以下4个步骤构造教师模型加载推理模型并且在内存中复制一份推理模型作为教师模型。构造结构化剪枝模型对原始模型的参数和注意力头进行重要性重排序把重要参数和注意力头排在参数的前侧然后对模型进行结构化剪枝按照比例减掉不重要的参数和注意力头。结构化剪枝之后的模型作为学生模型进行压缩训练。添加蒸馏loss自动分析模型结构寻找最后一个包含有可训练参数的算子的输出作为蒸馏结点。蒸馏训练使用原始模型的输出来监督结构化剪枝后模型的输出进行结构化剪枝的训练完成整体的压缩流程。图 结构化剪枝蒸馏实现剪枝操作2 量化技术量化策略自动选择ACT包含离线量化和量化训练两种量化策略在对NLP模型进行量化的时候会对量化策略进行自动选择。先运行少量离线量化如果精度损失大则转为使用蒸馏量化训练对模型进行量化压缩。如果精度损失小则使用离线量化超参搜索进行量化。图 NLP模型中的量化策略蒸馏量化训练具体步骤包括如下3步CV任务多使用该技术a) 构造教师模型加载推理模型文件并将推理模型在内存中复制一份作为知识蒸馏中的教师模型原模型则作为学生模型。b) 添加loss自动地分析模型结构寻找适合添加蒸馏loss的层一般是最后一个带可训练参数的层。比如检测模型head有多个分支的话会将每个head最后一个conv作为蒸馏节点。c) 蒸馏训练教师模型通过蒸馏 loss 监督原模型的稀疏训练或量化训练完成模型压缩的过程。图 量化蒸馏训练技术动图ACT还支持更多功能包括离线量化超参搜索、算法自动组合和硬件感知等来满足CV和NLP模型的各类压缩需求。功能详情以及ACT在更多场景的应用请参见自动压缩工具首页介绍。这么好的项目欢迎大家点star鼓励并前来体验https://github.com/PaddlePaddle/PaddleSlim/tree/develop/example/auto_compression06未来工作展望ACT自动化压缩工具将支持更多AI模型Transformer、FastSpeech2等的自动化压缩。我们将继续升级ACT能力进一步降低压缩后的精度损失提升压缩效率在更多场景下验证结构化剪枝、非结构化稀疏的功能带来极致的压缩加速体验。ACT自动化压缩工具将支持完善更多的部署方法包括Paddle Inference、Paddle Lite和ONNX Runtime等FastDeploy中的各种后端推理引擎进一步助力AI模型的工程落地。【表格指标说明】测试环境与补充说明表格中mAPval指模型对应论文中的指标譬如YOLOv5是在COCO测试集测试MobileNetV3是在Imagenet数据集上测试。【更多精彩直播推荐】
http://www.pierceye.com/news/118859/

相关文章:

  • 全景网站建设做米业的企业网站
  • 珠海哪个建设网站建设好ui网站界面设计
  • 中国有名的模版网站电商建设网站
  • 网站改域名合肥网站建设企业
  • 建网站需要软件c 怎么做能让窗体访问网站
  • 呼家楼网站建设黄骅市官方网站
  • 空包网站分站怎么做手表网站哪个最好知乎
  • 手机商城建站系统网站建设有关建筑网站建设方案
  • 做网站需要具备的基础条件wordpress 修改后台
  • 网站做点击收费标准重庆建设工业集团
  • wordpress个人网站备案管理广州网站搭建费用
  • 英文网站建设的原因泰安房产信息网网签查询
  • 怎么将网站做成html如何寻找一批做网站的公司
  • 苏州网站建设孙峰南宁站建站时间
  • 海淀手机网站设计公司苏州建设工程有限公司
  • 兰州网站设计制作王妃貌美还狠凶
  • 做新闻微网站有哪些淘宝优惠劵做网站模版
  • 网站维护的意义百度一下官网首页百度
  • 我是做网站怎么赚钱外贸网站google推广
  • 无锡网站seo报价软件开发模型是对软件开发过程的一种规范描述
  • 暴利产品竞价单页网站微信电商小程序开发公司
  • 网站中的搜索功能怎么做怎样在网站做友情链接
  • 新闻单位建设网站的意义怎么和其它网站做友情链接
  • 做哪类网站没有版权问题帮忙做公司网站
  • 商城式网站具备哪些功能吗郑州网站设
  • 潍坊市做网站沈阳专业网站制作团队
  • 婚恋网站女孩子都是做美容西安做网站南通公司
  • 网站制作培训中心想做网站建设
  • 免费模板素材网站ppth5开源网站模板
  • 建筑型专业网站有哪些网站想做个链接怎么做的