百度开源进行时
“Human knowledge belongs to the world!” 在电影《反托拉斯运动》中,主人公在片尾大声喊出的话,多年以后成了开源世界的“终极理想”。AI 接棒移动互联网席卷着滔天巨浪而来,开源也从起初少数人关注的活动边缘变成了硝烟弥漫的中心战场,开源变成了互联网支撑技术的同时也不断渗透到我们的生活,开放的开源技术让价值回归到开发者个人,也为我们日常使用的电脑、移动设备,及其所连接的网络提供了源源不断的“动力”。
近些年来科技巨头蜂拥而至,国外 Facebook、谷歌、苹果、微软为升级迭代 AI 开源框架各显神通,开源了其 AI 软件和服务器硬件设计。国内的开源项目亦毫不示弱,BAT 在前,华为、头条、美团紧随其后,无论在技术的积累、资本的投入,还是在人才的聚合上都强势发力,助推“开源”进入新的阶段。
在开源的江湖,珠玉在前,后继四起,但百度从未缺席。InfoQ 通过分析 GitHub 上的开源项目数据集 GitHubArchive,得出 2020 和 2019 年度全球深度学习框架排名榜单(见下文),其中,百度飞桨 PaddlePaddle 均力压谷歌 TensorFlow,紧随 Facebook PyTorch 之后,其抢眼的数据表现意味着在开发者积极贡献代码和项目、社区活跃、代码迭代速度上一直保持着强劲的竞争力,已经成为了国内第一、世界第二的深度学习开源框架,将国内开源的“终极理想”往前又推进了一步。
1.百度强力开源 ,机遇和挑战并存
从 2009 年大规模定制 Hadoop 开始到 2013 年率先开源 ECharts ,百度的开源之路从未停止过。2017 年更是百度开源的突破之年,从深度学习平台飞桨 PaddlePaddle,到 Apollo 自动驾驶,百度落实了多项重大开源技术,也将 AI 开源提升到前所未有的战略高度。
除此之外,百度还参与了国内外顶级开源基金会和组织,成为了 Apache 基金会、Linux 基金会以及云原生计算基金会的金牌会员,以及开放原子基金会的理事单位。百度旗下 ECharts、Doris、BRPC、Teaclave 等多个项目已经成为 Apache 基金会孵化项目,Baetyl、IME、EDL 等项目也捐赠给了 Linux 基金会进行孵化。今年 6 月 24 日,BFE 开源项目被云原生计算基金会正式接纳为 Sandbox Project。百度完全自主研发的超级链技术将依托于开源基金会以全新的组织形态进行运作。此项目将作为开放原子基金会区块链领域首个捐赠项目进行孵化,并在全球开展开源技术和生态的运营及推广活动。
2019 年,百度战略投资了开源中国,作为中国最大的开源技术社区,开源中国旗下运营的 Gitee 代码托管平台是全球仅次于 GitHub 的代码托管平台,每日约增加 5000 名开发者、200 家企业客户、1.7 万代码仓库,已经具备了在国际市场与 GitHub 全面抗衡的基础。
引入开源,加快技术迭代和演进一直是百度秉承的“理念”,这里面不仅有百度的基因和能力因素,更重要是表达一种开放的态度。百度从布局 AI 开始,就一直坚持开放的战略,在研发 AI 技术的同时,通过百度大脑 AI 开放平台、飞桨产业级深度学习开源开放平台、Apollo 自动驾驶开放平台、小度开放平台以及各类开源框架和数据集等,向广大开发者和企业用户开放 AI 能力,提供技术和解决方案,赋能各行各业转型升级。
再者,开源某种程度上能有效减少闭源垄断市场的局面出现,百度深深了解在技术领域一枝独秀不是春,没有对外开源,很多技术和产品不会拓展如此之快,在别人的肩膀上做创新,有助于构建 AI 技术生态 。在建立生态和开拓市场基础上的开源会让市场更加欣欣向荣,获得更长足的发展。
2.荡起“飞桨”,AI 赋能量子计算
如果 GitHub 开发者想要对开源项目贡献代码,需发起 pull request 把自己修改的代码合入分支主,如果 pull request 被合入,则表示代码被采用,成功完成一次开源贡献。因此,pull request 的发起(open)数量是评估开发者积极贡献代码、项目和社区活跃最直观的指标,合入(merged)pull request 是评估开源项目的代码迭代速度的一个极佳的权威性指标。
InfoQ 通过分析 GitHub 开源项目数据集 GitHubArchive 之中关于 pull request 的发起和合入数据,获得了 2020 和 2019 年度全球深度学习框架活跃度排名榜单,其中,百度飞桨的 open 数据由去年的 2759 次跃升到今年同期的 3391 次,比现阶段暂列第三的谷歌 Tensorflow 高出 1000 多次。飞桨的 merged 数据由 1924 次跃升为 2428 次,力压暂居第一 Pytorch 的 238 次,比第三名 Tensorflow 高出近 1000 次,这也意味着“动静统一、软硬融合”的飞桨一直在致力于让深度学习技术的创新与应用更简单,其提供的 AI 底层技术也深受开发者欢迎。
2020/2019 年度全球开源深度学习框架活跃度排名榜单(InfoQ 提供)
百度飞桨于 2016 年 9 月正式宣布开源,这使得百度成为继谷歌、Facebook、IBM 后第四家将 AI 技术开源的公司。作为国内 AI 开源的扛把子,百度飞桨集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,并根据本土化特点将开源框架与应用层面做了更好的结合,旨在打造自主可控的人工智能操作系统,持续赋能广大开发者,这意味着个人开发者也可以利用飞桨提供的平台部署自己的深度学习模型。
基于其简洁、灵活、快速的特性,百度飞桨推动了各个行业的深度学习应用,在液晶显示屏的检测、机器人安全巡检、遥感监测等领域发挥着不可代替的作用。拿液晶显示屏检测来说,精测电子应用飞桨开源深度学习框架开发后,基于其分类、检测、分割等多种功能模块,对具有缺陷的液晶屏幕检测的精度上有很大提升。
百度飞桨全景图
2020 年 9 月,百度飞桨深度学习平台入选了 2020 服贸会 “科技创新服务示范案例”, 数据显示,飞桨当前支持 140+ 个产业及开源算法,累计开发者 230 万,服务企业 9 万家,基于飞桨开源深度学习平台产生了 31 万个模型。在城市、工业、电力、通信等很多关乎国计民生的领域都有飞桨在发挥作用。
而这样可喜的数据让大家似乎忘了飞桨在 AI 开源领域只是个才出现四年的“新物种”。AI 领域的发展非常迅猛,基于这些 AI 平台上的算法模型迭代加速和业务需求不断改变,AI 平台也在不断进化,为了保证现有深度学习框架更快、更好用,飞桨在 2020 年也迎来一系列重要升级,比如在核心框架上实现了动静统一,全面支持动态图调试,自动转静态图训练和部署的理想开发模式。
今年五月,百度发布了 Paddle Quantum,这是建立在百度飞桨深度学习平台之上的开放源代码的机器学习工具包,它包括量子开发工具集,量子化学库以及一系列优化工具,可以帮助领域内的科研人员以及开发者在量子计算应用程序中训练和开发 AI,也为相关领域的爱好者开发量子人工智能的应用提供了强有力的支撑。
百度集团副总裁、深度学习技术及应用国家工程实验室副主任吴甜表示,在全新产品架构里,开源深度学习平台依然是最重要的一部分,他们依旧会持续通过开源的方式,围绕飞桨的核心框架、基础模型库、端到端的开发套件和工具组件打造飞桨最核心的能力,永久开源,为开发者提供最强有力的开发基础。
3.无人驾驶加速落地,Apollo 引领“万物智能”
百度的无人驾驶技术究竟发展到哪一步了?这一定是很多人的疑问。
9 月 16 日,在 2020 百度世界大会上,百度展示了其全自动驾驶技术,人工智能系统可以在车内无需安全驾驶员的情况下独立驾驶,值得一提的是,Apollo 发布了全新的第五代自动驾驶套件,首批符合全自动运营要求的前装量产车辆也将很快推出。百度公司副总裁、智能驾驶事业群(IDG)总经理李震宇表示:“随着 Apollo 新一代汽车的问世,成本将减半,能力将提升 10 倍。”
今年 4 月,百度 Apollo 正式对外发布国内外第一个车路行融合的全栈式智能交通解决方案“ACE 交通引擎”,就在前几日,百度 Apollo 宣布在北京正式开放自动驾驶出租车服务 Apollo Go,北京用户可通过百度地图及 Apollo 官网预约体验 Robotaxi,经过多年的探索和测试,Robotaxi 无人驾驶出租车终于真正面向公众试运营。
百度在北京开放的自动驾驶载人测试区域总长度约 700 公里,覆盖亦庄、海淀、顺义的生活圈和商业圈等近百个站点。位于北京亦庄经济开发区的 Apollo Park 是全球最大的自动驾驶和车路协同应用测试基地,也是此次北京开放 Robotaxi 的打车站点之一。
在 Robotaxi 进入全国多城开始试运营,百度自动驾驶商业化进程的不断推进的背后,我们很难忽略其背后的 Apollo 平台。2017 年 11 月,百度发布了全球首个自动驾驶开源项目——Apollo 自动驾驶开放平台,其自动驾驶软件可供任何人免费下载及修改使用。Apollo 作为一套复杂的自动驾驶系统,具体包含以下重要的几项组件:感知、仿真、高精度地图与定位、End-To-End、决策规划、智能控制、数据开放平台、参考硬件、MAP Engine、安全。
像阿波罗登月计划给我们带来的无尽想象一样,百度发布的 Apollo 项目也为人类描述了一个美好的蓝图,在向人工智能的宇宙前进的路上,可以解放人们的双手,让每个人开车时也能自由地仰望星空。
百度称"要向汽车行业及自动驾驶领域的合作伙伴提供一个开放、完整、安全的软件平台,帮助他们结合车辆和硬件系统,快速搭建一套属于自己的完整的自动驾驶系统。数据也验证了百度 Apollo 在这一目标上的不懈努力,截至目前,百度 Apollo 平台已经汇聚了全球 177 家生态合作伙伴;在全球,有 97 个国家超过 3.6 万名开发者使用 Apollo 开源代码,开源代码数量超过 56 万,Apollo 自动驾驶平台已成为全球最强大、最开放、最活跃的自动驾驶平台。
目前已经有 10 万人尝试过无人车,而这个数量也在一路攀升,无人车终将驶入更多城市,驶入普通百姓的生活。百度在自动驾驶、智能交通和智能车联上将还会有哪些创新,Apollo 是否迎来了它的春天?是否能通过共享其无人驾驶技术的平台成为汽车界的安卓呢?我们拭目以待。
4.看见看不见的数据,ECharts 诠释数据之美
除了飞桨和 Apollo ,大家对 ECharts 一定不陌生,疫情期间从红到白、可视化的疫情地图背后就有 ECharts 的身影。
从 2013 年 1.0 版本发布至今,整整陪伴用户 7 年的 ECharts 一直在小步快跑,在交互、多维度数据分析、数据自由刷选、多图表联动、渲染等方面都展现了不凡的创新能力。
作为当前最流行、最强大的可视化库之一,它提供了直观,生动,可交互,可个性化定制的数据可视化图表,包括常规的折线图、柱状图、散点图、饼图、K 线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘。它创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
并且它可以流畅地运行在 PC 和移动设备上,兼容当前绝大部分浏览器,提供直观、交互丰富、可实现高度个性定制化的数据可视化图表,也可将其封装为任何 MVVM 框架的组件方便使用。
带着颠覆性的功能设计和技术特征的 ECharts 出现后迅速成为国内数据可视化领域的后起之秀,已经成为国内优秀的数据可视化工具平台。目前,Apache ECharts (incubating) 在 Github 中的 star 数已经超过 41.4k,每周 npm 下载量超过 22 万,这样的成绩离不开核心团队、开源社区、项目贡献者及无数用户的共同努力。
Apache ECharts (incubating) 的第 100 个 Contributor 莲梓在使用 Apache ECharts (incubating) 的过程中,总结了几条经验:
第一,先针对该问题对应的概念,到文档中搜索关键字,然后其中提到的方法可以在代码中再定位一下;
第二,该问题在其他图表中有没有类似的功能,找到另一个图表中的实现方式,迁移过来;
第三,根据现象判断是 model 层的问题,还是 view 层的问题。例如超出画布范围的图像渲染很可能是视图层的问题;
第四,缩小一下要定位的范围。
“优秀的开源项目只有拥有强大的社区才能发展得长远,同理,如果想在自己感兴趣的方向走得更远,要拥有一群志同道合的伙伴。成为 Apache ECharts (incubating) 社区中的一员就是在数据可视化方向上探索的一个开始。”莲梓说。
5.众志成城,开源社区带来无限可能
一款深度学习框架产品要被广大开发者认可,在具有技术竞争力的基础上,将内部的核心技术开源是第一步,还要长期持续紧贴用户需求,在开源社区的不断反馈中迭代平台架构,只有协调多方参与者与平台不断打磨,围绕框架建立自己的生态,才会提高开发者在平台的留存与粘度,为开发者们的学习和成长提供更多的可能。
在开源中,代码并不是最重要的元素,最关键的是人,从关注开源,到使用开源,再到参与开源共享,越来越多的开发者通过开源技术来构建业务,构成这个链条的每一位开发者都是星星之火,而这些星星之火的聚集就形成了开源领域最重要的一环——社群。
在这群有共同兴趣聚集的技术人的眼中,“开源”两字几乎变成了一种“信仰”,它预示着一种自由,是一种秩序,更是一种人与人之间通过代码的联结。
作为深度学习平台飞桨社群的一员,小鹏(化名)形容自己对飞桨的感觉是“一见钟情”,除了免费 GPU 资源和丰富的 API 接口,最吸引他的是社区氛围。在飞桨,他认识了很多有趣的朋友,并且参与了有意义的项目,这些经历让他如获至宝。他曾通过飞桨框架搭建了一个深度学习模型,通过摄像头捕捉和识别手语,再转化成语音,从而实现和聋哑人交流的目标。
目前该模型已经实现了比较准确的识别,也具有了一定的泛化能力,即使使用者的手语不够标准,也能够识别出来。不过,小鹏觉得这个应用还不够完善,他正在尝试将语音转成文字模块,再翻译成手语,从而搭建起常人和聋哑人双向沟通的桥梁。他将项目代码在 AI Studio 人工智能学习与实训社区开源,希望更有能力的人将它优化及落地,从而帮助更多的人。
同样,另一位活跃在飞桨社区的成员弘齐(化名)有一个颇具知名度的代号:GT,很多开发者喜欢叫他“GT 大佬”。这尊称的由来不仅因为他加入社区早,活跃度高,还因为他有一副热心肠,是社区里的“答疑机器人”。
2020 年年初,大自然保护协会 (TNC) 提出的野外摄像装置拍摄的图像面临着数据量庞大、人工处理繁琐、低效等难题,弘齐有了自己的想法:如果能用 AI 辅助进行图片的筛选和标注,就能大幅提高工作效率,从技术上实现图片处理并不难,但是这个项目带来的挑战在于数据量非常庞大,并且不是国际通用的格式。
那么如何去设计转换数据的算法,用哪些深度学习的模型去做,怎么让野外环保工作者轻松使用呢?当数据量比较小的时候,弘齐准备的第一个方案实现效果非常好,随着数据量越来越大,他找来小伙伴采用监督学习的算法做了第二个方案,目前该方案已经完成了效果验证,处于调优阶段。这一产品有望在今年年底交付,将为滇南地区滇金丝猴等生物的多样性保护贡献一份力量。
由于深度学习框架开源的属性,社区的开发者一看代码便知道产品是否好用,一方面开发者对于深度学习框架产品越来越苛刻的要求也会促进它不断完善和发展,另一方面社区的广泛参与又为它带来更好的活力。通过时间累积和沉淀,开源社区自下而上的创新不断涌现,从而形成自己的护城河。
互联网、人工智能、云