深度学习平台的未来:谁会赢得下半场?

今天这篇文章无意引战,只想从历史发展的角度来谈谈深度学习大背景下的开发工具变迁,以及对未来发展趋势的想象。

TensorFlow:无力回天的深度学习里程碑

不知道有多少小伙伴是2017年以前入坑深度学习的,那时候人工智能概念火热,炼丹术方兴未艾,无论是学术界还是工业界,炼丹师们普遍处于在魔改神经网络结构,疯狂调参上分的阶段。

那时候PyTorch还仅仅是个玩具,NLPer普遍钟爱TensorFlow,CVer还在坚守Caffe。尽管当时TensorFlow存在API臃肿、静态图机制反人类、速度慢等种种槽点,但是总比用NumPy手写反向梯度传播来得强。而这个空窗期也正是TensorFlow最为巅峰的时期,一时间,CV、NLP、Speech乃至其他用到深度学习技术的应用领域的研究成果绝大多数都选择了TensorFlow作为开源代码。

那时候的深度学习开发者,是幸运的,也是不幸的。

幸运的是,人们不用纠结框架的选择,学习TensorFlow基本不会出错。

不幸的是,由于历史包袱,TensorFlow的API过于臃肿复杂,哪怕是有NumPy等数值计算经验的专业从业者也往往要耗费一两个月的时间才能入门,对于普通开发者和学生群体而言,甚至会出现耗费近半年的时间来学习深度学习框架的使用的情况。

对于对学生来说,这是一个学期的珍贵时间,对从业人员来说,更是难以忍受的代价。有几个公司能忍受自己的员工消耗半年时间去学习一个框架,之后再去干活呢?企业往往是投入大量人力和资源去搞人工智能,但是却发现能在真实场景中应用的产品寥寥无几。甚至连能够真正运行的Demo都产出困难。

不过还好,几年前的AI时代不太讲求落地,能讲好故事就好了。所以尽管深度学习框架的学习门槛极其高,真正熟练掌握能用于工业级模型产出的人不多,不过由于不需要大规模落地,大家学不会也没关系,会做PPT就可以了。

PyTorch:赢了当下,难顶未来

有人说,PyTorch似乎解决了TensorFlow的痛点。

2018年-2019年,风云骤变,PyTorch凭借干净的API、与Python完美融合的动态图机制成功俘获了大量开发者的芳心,开发者调整深度学习模型底层结构、调试模型的代价明显降低了。不过事后开发者也发现了PyTorch的缺陷:多机多卡大规模训练速度慢、实现复杂,模型部署困难,依然免不了学习底层理论等。因此可以说,PyTorch的突破更多的是造福了致力于深度学习底层创新的研究者,对于迫切需要将想法快速变成AI产品的业界从业者来说,PyTorch并没有真正解决他们的痛点问题。而对于数学基础较为薄弱的学习者和爱好者来说,PyTorch的实际使用门槛也无疑还是太高了。

安卓、IOS开发之所以能大规模普及带来移动APP的爆发式增长,一个非常重要的原因就是安卓、IOS的开发者套件屏蔽了来自底层操作系统和硬件驱动的复杂细节,使得开发者能够非常快速、低成本的将想法变成真实可用的APP。显然,PyTorch并没有完成这个重要的里程碑式的任务,它依然需要开发者去直面众多繁杂的底层细节,且依赖足够的人工智能理论、数学基础和系统优化功底才能稳定完成各类可用的模型开发和部署。

总之,PyTorch相对TensorFlow是深度学习历史上的一大进步,赢得了当下。但是从人工智能当下发展趋势和对未来的预判来说,显然PyTorch是无法支撑起未来时代的想象力的。

飞桨:厚积薄发,抓住预训练时代

尽管PyTorch提升了框架的易用性和debug效率,但是随着以BERT为代表的预训练技术的诞生,开发者们很快就发现了问题:

  1. 预训练模型几乎限定死了模型结构,导致PyTorch的灵活性似乎变得无用武之地了

  2. 预训练模型的训练、微调和推理都要消耗大量算力,而速度慢、显存开销大、多机多卡支持差是PyTorch的天然劣势

尽管深度学习社区在拼命为PyTorch打补丁,写踩坑记录,但是却依然难顶PyTorch特性对预训练时代的不适应。与此同时,TensorFlow却在着急让自己变得更像PyTorch,这无疑更让开发者们头大。学TensorFlow还是PyTorch?这是一个问题。

这时候,一个新的身影出现了——飞桨(PaddlePaddle)。作为深度学习框架的“国货之光”,百度七年磨一剑,终于在这个预训练时代厚积薄发,势如破竹般地迅速俘获了广大开发者的芳心。

一方面,它兼具PyTorch的灵活易用,又具备完全不逊TensorFlow的大规模训练与部署能力,此外,飞桨具有比PyTorch和TensorFlow更硬核且易用的显存管理能力多机多卡训练能力,使得飞桨可以更加无压力的训练和部署大型预训练模型。更加值得一提的是,飞桨还通过内置的混合精度训练技术(2017年百度研究院提出)、显存重计算技术、Sharding机制等,使得单张图形卡训练大型BERT Large也成为了可能。

可以说,学术界受限于算力资源,飞桨通过硬核的底层优化,很好的缓解了预训练模型大量消耗计算资源问题,解决预训练时代的学术界刚需;工业界需要业务落地和大规模部署,飞桨则通过易用性和禁得起百亿流量冲击的部署能力,解决预训练时代的工业界刚需。

前不久,权威数据调研机构IDC也公布了2020年下半年深度学习框架平台市场份额报告。数据显示,在中国深度学习平台市场综合份额中,Google、百度、Facebook稳居前三,占据70%以上市场份额。其中,百度占比提升3.38%,增速第一,综合市场份额位列第二,与位列第一的Google几乎持平。

接下来,还有没有更大想象力的划时代产品呢?

我们先来探讨开发者与研究者的区别,造成区别最重要原因是两者的目标不同:

  1. 研究者的直接优化目标是人工智能基础设施,包括具备一定普适性的模型结构研究、训练方法优化、计算复杂度优化、理论模型完善等,使得未来人们开发人工智能产品的门槛尽可能低,效果尽可能好,速度尽可能快。

  2. 开发者的直接目标是人工智能产品,需要将预期的产品功能又快又好的开发实现,至于产品背后的理论优化工作和领域的普适研究工作,不应作为开发者的第一追求目标。

可惜的是,无论TensorFlow还是PyTorch,主要目标均放在了研究者,对于开发者更多是提供额外的模块或工具来打补丁,反而进一步增加了开发者的学习和使用负担。

如今,人工智能已经进行到了下半场,资本市场对人工智能技术的期待已经从PPT转移到了实际产品的落地上。然而落后的生产工具却让开发者感到异常难顶,既缺乏精力和基础来大力学习深度学习底层理论和PyTorch这类面向研究人员的复杂深度学习框架,又面临繁重的AI产品、模块开发压力。

提高开发人员的生产力,真的没有办法了吗?

AI圈子内流传一句俗话:学术研究看谷歌,工业落地看百度。比如,尽管最早提出神经机器翻译的不是百度,但是百度确是全球最早克服重重困难,将该前沿技术落地到机器翻译产品的公司。百度早已在搜索、信息流、智能交互等AI技术的重要落地场景中遍地开花,CV、NLP、语音技术等基于深度学习再升级,赋予更多业务场景新的生命力。

如今在事关开发效率的深度学习平台问题上,百度的落地意识也觉醒最早&实践最深。先是成功跻身世界三大深度学习框架的“国货之光”飞桨,凭借简洁的设计和出色的大规模训练&部署方面的性能优势,在工业落地方面丝毫不输TensorFlow和PyTorch,更加充分的发挥了工业界的算力优势和部署资源优势。

此外,其基于飞桨的BML全功能AI开发平台(Baidu Machine Learning,简称BML)则似乎满足了人们对人工智能产品开发的各种想象。它具备多种模型构建方式,开发者可以选择尽可能少地屏蔽不必要的复杂的底层API,也能够依靠自己的代码能力打造AI模型,同时,在部署问题上最大化减轻开发者的压力,强调“一站式部署应用”。一切为了帮助开发者最快速度完成一个人工智能产品模块的开发和真正的落地应用。

基于BML将想法变成现实可以有多快呢?

在BML中选择脚本调参模型构建模式,无需再像使用PyTorch、TensorFlow底层框架那样自己定义网络结构、从零开始手写训练流程等诸多细节,也无需再将训练得到的模型剪枝、量化等,进而使用专用的部署工具部署。对于BML平台来说,AI想法的从0到1只需要如下四步:

Step 1 创建训练任务确定任务名称,记录希望模型实现的功能。Step 2 上传并标注数据通过EasyData支持图像、文本、音频、视频等多类数据的管理与标注,如:分类功能的模型:只需按分类(如合格图片vs不合格图片)上传图片即可检测功能的模型:上传数据后,需要在数据中标注出需要检测的具体目标分割功能的模型:上传数据后,需要在数据中标注出需要识别物体的轮廓Step 3 启动训练并校验效果在这一步中,百度BML独家预置了百度超大规模预训练模型,包括视觉超大规模预训练模型及NLP预训练模型ERNIE 2.0。只需选择预训练模型及网络,进行基本参数配置,即可启动模型训练。同时在这个环节里,脚本调参的建模方式还支持自动数据增强及自动超参搜索,减少工程师通宵达旦的调参成本,高效获取高精度模型效果。Step 4 部署模型根据训练时选择的部署方式,将模型以云端API、设备端SDK、私有化等多种方式发布使用。特别是随着端计算的成熟,端模型的转换和部署成为很多开发者的痛点,目前BML的端部署方案上已经支持四大操作系统,15+芯片类型,在设备端的预测速度可提升10倍。

使用百度BML,用户可以根据自己的能力和需求选择开发方式,在保证精度的前提下尽可能减少代码调整,从数据上传、模型训练、模型管理到模型的部署,一站式的AI开发流程非常顺滑。

如果脚本调参对与AI小白来说还是太难,飞桨还推出了EasyDL零门槛AI开发平台,专门面向零算法基础的AI应用开发者,零代码、最快15分钟搞定模型训练与部署,进一步降低AI应用的门槛。

与BML不同,EasyDL提供了全自动化的模型训练机制。担心精度不够?大可不必,因为EasyDL底层结合了百度 AutoDL/AutoML技术,针对用户数据能够自动获得最优模型和最优超参组合,进而基于少量数据就能获得出色性能和模型效果。可以说,使用EasyDL不仅可以快速实现 “95%+准确率模型” ,甚至连最后一公里的深度调参优化都能直接完成十之八九!

此外,EasyDL的想象力不仅在于彻底释放了AI开发者的生产力,使其可以专注在idea的实现上,而且,EasyDL提供了非常丰富实用的模型部署方案。使得开发者得到的模型不仅具备惊艳的效果,还直接具备实用能力,创造真实价值。训练完成后,开发者可将模型部署在公有云服务器、私有服务器上。通过使用EasyDL,已有来自工业、零售、政务、物流、互联网等超过20个行业的用户实现了智能化转型,将人工智能的力量赋予生产生活的各种场景。

对了还有个事情,现在百度EasyDL还正在搞一个「万有引力」活动,只要你通过EasyDL完成了业务模型的定制训练、部署和应用,就可以领取万元的专项代金券。如果你的模型落地效果还非常好,还有机会获得最高十万元的特殊补贴。

点击阅读原文或者自己百度直接搜索EasyDL,就能访问他的官网参与活动,去释放一下自己的想象力吧!

好了,只能帮你到这里了,快去试试吧!

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | 基于属性嵌入的知识图谱实体对齐

论文笔记整理:王中昊,天津大学硕士,方向:自然语言处理。来源:AAAI2019论文链接: https://doi.org/10.1609/aaai.v33i01.3301297概述知识图谱之间的实体对齐的任务目标是去找到那些在两个不同的知识图谱上表…

基本功 | Litho的使用及原理剖析

1. 什么是Litho? Litho是Facebook推出的一套高效构建Android UI的声明式框架,主要目的是提升RecyclerView复杂列表的滑动性能和降低内存占用。下面是Litho官网的介绍: Litho is a declarative framework for building efficient user interfa…

论文浅尝 | 基于深度强化学习将图注意力机制融入知识图谱推理

论文笔记整理:陈名杨,浙江大学直博生。Introduction知识图谱(KGs)在很多NLP的下游应用中起着越来越重要的作用。但是知识图谱常常是不完整的,所以解决知识图谱补全的任务也非常重要。主要有三种方法来完成知识图谱补全…

聊聊如何提升推荐系统的结果多样性

文 | 洪九(李戈)源 | 知乎个性化推荐系统的出现为处理信息过载问题提供了一个有效的工具,已经成为互联网各大平台(电商、信息流等)的标配,并在技术(个性化召回、个性化排序等)上取得了长足的发展,逐渐从传统模型过度到深度学习时代。但是&…

论文浅尝 | GNN with Generated Parameters for Relation Extraction

论文笔记整理:申时荣,东南大学博士生。地址:https://arxiv.org/pdf/1902.00756.pdf来源:ACL2019在许多自然语言处理任务(例如关系提取)中,多跳关系推理是必不可少的,而图神经网络&am…

大众点评信息流基于文本生成的创意优化实践

1. 引言 信息流是目前大众点评除搜索之外的第二大用户获取信息的入口,以优质内容来辅助用户消费决策并引导发现品质生活。整个大众点评信息流(下文简称点评信息流)围绕个性化推荐去连接用户和信息,把更好的内容推荐给需要的用户。…

LeetCode 701. 二叉搜索树中的插入操作(二叉查找树/插入)

1. 题目 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索…

docker的简单操作和端口映射

docker的简单操作和端口映射:https://www.cnblogs.com/lixaingyang/p/11976827.html docker的简单操作和端口映射 一:简介 Docker镜像 在Docker中容器是基于镜像启动的 镜像是启动容器的核心 镜像采用分层设计,最顶层为读写层 使用快照COW技…

Android官方开发文档Training系列课程中文版:管理Activity的生命周期之启动一个Activity

原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/index.html 导言 用户通过导航退出或者返回应用的时候,应用中Activity的生命周期会在不同的状态之间变换。举个例子,当Activity初次启动的时候,它会来到系统的…

论文浅尝 | 利用多语言 wordnet 上随机游走实现双语 embeddings

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答。来源:Knowledge Based System链接:https://www.sciencedirect.com/science/article/abs/pii/S0950705118301412?via%3Dihub双语word embedding将两种语言…

实践中学到的最重要的机器学习经验!

文 | 微调源 | 知乎问答今天我们讨论一个很有实际意义的问题:你在实践中学到的最重要的机器学习经验是什么?以下回答来自知乎优秀答主微调。1.永远保持怀疑机器学习是最容易得到错误结论的一种解决方案。和编程、做表格、或者纯粹的数学建模不同&#xf…

Android官方开发文档Training系列课程中文版:管理Activity的生命周期之暂停和恢复Activity

原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/pausing.html 在APP的正常使用过程中,在前台工作的Activity有时可能会被其他的可视化组件挡住,而引起Activity进入Paused状态。举个例子,当一个半透明的Activit…

Leaf:美团分布式ID生成服务开源

Leaf是美团基础研发平台推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话:“There are no two identical leaves in the world.”Leaf具备高可靠、低延迟、全局唯一等特点。目前已经广泛应用于美团金融、美团外卖、美团酒旅等多个…

LeetCode 658. 找到 K 个最接近的元素(二分查找)

1. 题目 给定一个排序好的数组,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样,优先选择数值较小的那个数。 示例 1:输入: [1,2,3,4,…

负数的开方到底等于多少?

文:杨树森知乎编:小鹿鹿lulu负数的开方到底等于多少?举个栗子拿出小本本, 一通变换,得到:Really? 且看下面详解乘方来源于乘法,我们可以归纳地定义,设 是一个域,, 则上述的域 可以是有理数域 , 实数域, 或复数域 前两…

综述 | 知识图谱实体链接:一份“由浅入深”的综述

本文转载自公众号:PaperWeekly。 作者丨Nicolas单位丨追一科技 AI Lab 研究员研究方向丨信息抽取、机器阅读理解本文介绍实体链接(Entity Linking)这一技术方向&#xff0…

Android官方开发文档Training系列课程中文版:管理Activity的生命周期之停止和重启Activity

原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/stopping.html#Start 在activity的生命周期内,适当的停止和重新启动activity是一个非常重要的过程,它可以确保用户能感觉到APP一直是存活状态,并且不会丢失他们…

selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’解决

selenium.common.exceptions.WebDriverException: Message: chromedriver’解决: https://blog.csdn.net/weixin_44318830/article/details/103339273 今天在做selenium测试的时候,可能是很久没用了,直接报了这个异常! 相信很多第一次学习selenium的同学们也对这个异…

活动 Web 页面人机识别验证的探索与实践

在电商行业,线上的营销活动特别多。在移动互联网时代,一般为了活动的快速上线和内容的即时更新,大部分的业务场景仍然通过 Web 页面来承载。但由于 Web 页面天生“环境透明”,相较于移动客户端页面在安全性上存在更大的挑战。本文…

利用python提取网站曲线图数据

文章目录数据1数据2数据1 数据目标:曲线图 F12,如图位置输入JSON.stringify(dataSeries.dataPoints) copy,粘贴到data.txt 数据是一个列表,里面是多个字典 编写程序如下: import json as js datafile data1.txt…