PaddlePaddle 版本1.1.0发布啦!

PaddlePaddle在基础框架、模型建设、分布式训练、预测引擎各个方向上完成多项更新。OP进行了全面完善和优化,模型库新增了自然语言处理、视觉和推荐等领域的大量经典模型,分布式训练能力显著提升,支持千亿规模稀疏参数大规模多机异步训练,预测库易用性和效率提升,移动端预测支持更多模型和更多硬件。详情如下:

基础框架

安装

  • Mac OS X 10.11及以上pip安装支持。
  • Mac OS X 10.12及以上从源码编译安装支持。

编程语言

  • Python3的支持(python3.5版本)。

IO

  • 新增PyReader,支持用户基于python自定义数据读取和预处理的的高性能数据输入。在ResNet50模型上,单机情况下:单卡数据读取速度提升4%、4卡数据读取速度提升38%、8卡数据读取速度提升60%。
  • 实现一个多进程PyReader decorator,配合PyReader可以实现数据读取性能线性提升。

OP优化

  • 优化了split operator,显著提升性能。
  • 扩展multiclass_nms operator,支持多边形的预测框。
  • 通过generatoe_proposals operator的CUDA实现,显著提升性能。
  • 通过affine_channel operator融合batch_norm operator,显著提升性能。
  • 优化depthwise_conv operator的forward和backward,显著提升性能。
  • 优化reduce_mean operator。
  • 优化sum operator,该operator在输入是Tensor的情况下,减少一次zero memory耗时。
  • 优化top_k operator,显著提升性能。
  • 优化sequence_pool operator,显著提升性能。
  • 优化elementwise_add operator ,显著提升性能。
  • while operator 性能优化,相关的模型性能整体提升 30%+。
  • sequence_slice operator的实现,对于一个sequence,可以从指定位置开始,slice出指定长度的subsequence。
  • sequence_unpad operator的实现,支持padding Tensor转LoDTensor。
  • 支持截断正态分布初始化方法(truncated normal initializer)。
  • 二维padding operator的实现,支持一个每个纬度的首尾padding不同的大小。
  • 更多 operator支持

sequence_reverse operator,sequence_enumerate operator, sequence_scatter operator, roi_align operator,affine_channel operator, anchor_generator operator,generate_proposal_labels operator, generate_proposals operator, rpn_target_assign operator、roi透视变换operator, seq_pool operator、seq_expand operator、seq_concat operator、seq_softmax operator、lod_to_array operator、array_to_lod operator。

显存优化

  • 显存优化策略eager deletion支持control flow (e.g. if-else, while)中子block的优化。显著降低包含control flow的模型的显存开销。

模型建设

  • 自然语言处理方向增加开源语义匹配DAM模型和阅读理解BiDAF模型,机器翻译Transformer模型性能优化后训练速度提升超过30%,模型效果和训练速度均达到业界领先水平。
  • 计算机视觉方向增加开源OCR识别Seq2Seq-Attention模型,目标检测Faster-RCNN模型,图像语义分割DeepLab v3+模型,视频分类TSN模型,图像生成CircleGAN/ConditionalGAN/DCGAN模型,以及Deep Metric Learning模型,模型效果和训练速度均达到业界领先水平。
  • 个性化推荐任务系列模型支持:新闻自动标签模型TagSpace,序列语义召回模型GRU4Rec、SequenceSemanticRetrieval,点击率预估模型DeepCTR,多视角兴趣匹配模型multiview-simnet

TagSpace : TagSpace: Semantic Embeddings from Hashtags

SequenceSemanticRetrieval : Multi-Rate Deep Learning for Temporal Recommendation

multiview-simnet : A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems

GRU4Rec : Session-based Recommendations with Recurrent Neural Networks

DeepCTR : DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

  • 公开的Quora数据集上,实现并复现了四个公开匹配算法,具有较好的通用性,可应用于NLP、搜索、推荐等场景。

cdssmNet:Learning semantic representations using convolutional neural networks for web search

decAttNet:Neural paraphrase identification of questions with noisy pretraining

inferSentNet:Supervised learning of universal sentence representations from natural language inference data

SSENet:Shortcut-stacked sentence encoders for multi-domain inference

分布式训练

  • GPU多机多卡同步训练支持参数同步频率可配置化,在V100上支持的batch size提升为v1.0版本的8倍,通过合理的通信间隔配置,使GPU卡数较少的情况下超大Batch同步训练成为可能,并在优化算法方面保证了收敛效果不变。
  • 支持千亿规模稀疏参数服务器,用于大规模多机异步训练,适用于推荐、广告等领域的点击率预估模型。

预测引擎

服务器预测

  • 预测库Windows支持。
  • PaddlePredictor C++ 接口稳定版发布,已经实际支持一部分业务上线,并持续向前兼容。
  • 预发布整合了 TensorRT 子图加速方案。运行时自动切割计算子图调用TensorRT加速。目前Paddle TensorRT 依旧在持续开发中,已支持的模型有 AlexNet, MobileNet, ResNet50, VGG19, ResNet, MobileNet-SSD等。
  • 基于图优化的 CPU 加速 feature,实现了 LSTM,GRU 等一系列 operator 的 fuse,理论上可以大幅提升序列相关模型的性能。
  • 增加了部署时 AVX 和 NOAVX 自动切换的feature,可以针对重点模型实现AVX, AVX2, AVX512自动切换。
  • 提升预测库易用性:只需要 include一个头文件和一个库。
  • ICNet 预测性能大幅提升。

移动端预测

  • 树莓派上MobileNet、GoogleNet、ResNet 34等多个模型支持。
  • Mali GPU和Andreno GPU上MobileNet v1模型支持。
  • ZU5、ZU9等FPGA开发板上ResNet 34和ResNet 50模型支持。

原文发布于微信公众号 - PaddlePaddle(PaddleOpenSource)

原文发表时间:2018-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

数据挖掘比赛通用框架

作者|穆文 报名啦CDA数据分析师认证培训Level 1 国内权威的数据分析师系统 培养学员超过上千人理论结合实际 更有多重福利提供 点击文末“阅读原文”...

4856
来自专栏机器之心

教程 | AI玩微信跳一跳的正确姿势:跳一跳Auto-Jump算法详解

39311
来自专栏机器之心

教程 |「世界模型」实现,一步步让机器掌握赛车和躲避火球的技能

1515
来自专栏新智元

DeepMind 提出分层强化学习新模型 FuN,超越 LSTM

【新智元导读】在用强化学习玩游戏的路上越走越远的 DeepMind,今天发表在 arxiv上的最新论文《分层强化学习的 FeUdal 网络》引起热议。简称 Fu...

46112
来自专栏腾讯大数据的专栏

深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用

深度神经网络(Deep Neural Networks, 简称DNN)是近年来机器学习领域中的研究热点,产生了广泛的应用。DNN具有深层结构、数千万参数需要学...

2607
来自专栏数据小魔方

excel数据分析工具库系列三|趋势平滑

今天要跟大家分享的内容是数据分析工具库系列三——趋势平滑! 在时间序列数据中,往往存在很多周期性趋势以及随机干扰因素,给我们的分析工作工作带来很多不便。 当然有...

3116
来自专栏机器学习算法与Python学习

10月机器学习开源项目Top10

过去一个月里,我们对近 250 个机器学习开源项目进行了排名,并挑选出热度前 10 的项目。这份清单的平均 github star 数量高达 1345,涵盖了包...

993
来自专栏AI科技大本营的专栏

手动特征工程已经OUT了!自动特征工程才是改进机器学习的方式

【导读】近年来,我们在自动模型选择和超参数调优方面取得了进展,但机器学习流程中最重要的方面-- 特征工程,在很大程度上被我们所忽略。在本文中,我们将使用 Fea...

1683
来自专栏程序员宝库

AI 玩微信小游戏跳一跳的正确姿势,Auto-Jump 算法详解

来源:肖泰洪 + 安捷 链接:zhuanlan.zhihu.com/p/32636329 ? 最近,微信小游戏跳一跳可以说是火遍了全国,从小孩子到大孩子仿佛每...

3745
来自专栏机器之心

贾扬清撰文详解Caffe2:从强大的新能力到入门上手教程

选自 Nvidia Blog 作者:Aaron Markham、贾扬清 机器之心编译 昨天,Facebook 推出了 Caffe2,一个兼具表现力、速度和模块性...

2773

扫码关注云+社区