还记得百度内部使用的分布式深度学习平台Paddle吗?在此前《程序员》文章《基于Spark的异构分布式深度学习平台》一文的介绍中,Paddle开发者提到了“在平台更成熟后,我们打算把Spark on PADDLE以及异构计算平台开源”。现在看来,Paddle已经开始成熟,因为在Github已经可以看到Paddle了(不过介绍里叫做“PaddlePaddle”),支持Python接口、C++以及SWIG,支持多机数据并行的深度学习模型训练,支持Apache-2.0 license,并提供了Sequence to Sequence模型的Demo。 Caffe作者贾扬清在知乎上评价:整体的设计感觉和Caffe心有灵犀,同时解决了Caffe早期设计当中的一些问题(比如说default stream)。 Paddle团队在Github上介绍,PaddlePaddle(PArallel Distributed Deep LEarning,并行分布深度学习)是一个易于使用、高效灵活、可扩展的深度学习平台,最初由百度科学家和工程师团队为将深度学习算法应用到很多百度产品上而开发。 特性PaddlePaddle的四个特性简介如下:
PaddlePaddle支持使用Python接口或C++来构建系统,可以使用SWIG为开发者喜爱的编程语言创建接口。 Github上目前提供了图像分类、情绪分析、Sequence to Sequence模型、推荐和语义角色标注(SRL)等五个Demo。 使用Quick Start Tutorial看这里。涵盖深度学习应用的五个环节。 Logistic Regression、Word Embedding、CNN、RNN等不同网络架构如下: 算法优化包括 Momentum, RMSProp, AdaDelta, AdaGrad, Adam 和 Adamax。这里可以使用极为适合循环神经网络的Adam优化方法及L2正则化和gradient clipping。
源码文档在这里。方法和模型的讨论,可以联系paddle-dev@baidu.com。 |