腾讯拥抱开源:首次公布开源路线图,技术研发向共享、复用和开源迈进

整理 | 夕颜   导读:去年,知乎上一篇讨论腾讯技术的帖子异常火爆,讨论的主题是当下(2018 年

导读:去年,知乎上一篇讨论腾讯技术的帖子异常火爆,讨论的主题是当下(2018 年)腾讯的技术建设是否处于落后同体量公司的状态,这篇帖子得到腾讯内部以及其他互联网公司「码农」的“激情”回复。

 

当然,也有人反驳,包括腾讯被 diss 的开源情况也有人出来“打抱不平”,表示腾讯已经变得越来越开放,开源已在路上,请给它一点时间。

 

问题是,这些吐槽现在还是真实情况吗?为找到这个问题的答案,本文将从腾讯的技术建设、开源,以及 AI 实力这几个方面进行分析,来一探究竟。

技术建设落后是真实的吗?


总结下来,知乎上关于腾讯技术建设落后的吐槽,其中很重要的一点集中在「重复造轮子」相关的问题上,比如:

 

1、技术债务重,文档查找和共享难,出了技术问题不知道问谁等问题;

2、技术氛围差,各个团队敝帚自珍,重复造轮子;

3、内部赛马机制导致“没有收益”的事情没人愿意做;

 

当然,对于这些吐槽,知乎上也有不少用户站出来反驳,比如有腾讯内部人员匿名表示,腾讯技术团队的总体水平其实并不差,很多独立的模块设计和抽象都比较出色,技术含量也不低,只是总体上感觉还有很大优化空间。而且,腾讯在不断发生变化和改进,这从微信和 QQ 产品的体验中可以感受得到。

注:上述为知乎部分用户看法,仅做参考,不一定代表真实情况。

全面拥抱开源


在腾讯被吐槽的众多技术问题中,「重复造轮子」、分享难等状况是广受诟病的问题。针对这些问题,腾讯通过开源将成果在内部分享来改善,并追赶 BAT 中其他两家公司的步伐。那么,它做出了哪些努力呢?

 

发布开源路线图

 

实际上,2010 年腾讯已经全面拥抱“开放”战略,2012 年发布了第一个对外开源项目。从 2016 年开始,腾讯不断将内部开源项目在 GitHub 上发布。

 

近日,腾讯在开源上有了一次大动作,首次全面公开了其整体的开源路线图。据了解,基于代码开放和社区运营,腾讯的开源路线是通过“三步走”的开源计划,不断深化腾讯已有的技术能力,推动从封闭孤立向协同开放向社区开放治理的纵深方向发展。

       

       

具体来说,第一步是内部开源协同。首先拉通内部项目和组织,通过部门小团队作战或跨部门大团队作战的方式协同推进,以优化资源配置的方式集中优势寻求技术突破。随后,腾讯建立起筛选机制将代码开放出来。

 

第二步是外部代码开放。优化设计与代码结构,不断拓展落地场景,有效利用外部贡献者资源实现资源整合,构建技术影响力。

 

第三步是社区开放治理,在这一阶段,注重大规模技术推广与应用、开发者生态体系构建、社区领袖与领导力培养、全社会研发资源的优化配置四个方面。

据腾讯开源联盟主席、腾讯开源管理办公室委员、Apache Member 堵俊平透露,腾讯开源将重点关注 IaaS、容器与云原生、数据库、大数据与 AI、中间件、IoT/边缘计算、小程序生态等。

 

成立腾讯开源管理办公室

 

此外,为更好地服务开源,腾讯特别对内成立了开源管理办公室,下设项目管理委员会、腾讯开源联盟和开源合规组三大组织,自上而下地传递腾讯开源策略,自下而上地落地开源技术生态。同时,通过开放的开源评审平台,孵化和培育优秀的自主开源项目。

 

内部机制

 

同时,腾讯内部其实有一套自己的开源机制,经腾讯技术管理委员会授权,由腾讯研发管理职责部门牵头腾讯法务、合规、专利、安全等相关部门,整合为腾讯开源合规小组,在开源流程、安全、风险、建议方面对腾讯业务提供专业服务。合规小组会帮助开源项目整理第三方组件的引用,通过第三方扫描工具(如 blackduck、fossid等)识别和确认第三方代码有效性,同时会进行人工筛查,确保第三方使用腾讯代码时安全可控。

 

在协议选取上,合规小组会对项目的开源许可证进行合规化的建议,并向业务推荐开放性的许可协议。

 

在文化方面,由研发管理部 CODE 平台中心负责组织建设腾讯代码文化和内部开源,鼓励腾讯项目首先在腾讯内部流动,并对有价值的项目引导和帮助对外开源。

 

同时,在腾讯技术管理委员会的授权下牵头设立了“腾讯开源联盟”,由不同业务的技术专家、负责人、技术领袖组成开源联盟组委会和专家团,在开源文化、开源经验、开源活动等方面对开源项目施以指导和帮助。

 

在这套机制下,截至 2019 年 6 月,腾讯已在 Github 上发布 75 个开源项目,包含微信、腾讯云、腾讯游戏、腾讯 AI、腾讯安全等相关领域,累计在 Github 获得了 22W+ Star 数。

 

目前,腾讯自主开源的项目包括:


  • Tinker:微信前端团队 Android 热补丁方案

    Angel:灵活而强大的参数服务器型分布式机器学习平台

    WeUI:轻量而优雅的微信 UI 样式库

    Wepy:小程序组件化开发框架

    Tars:整套微服务治理和开发运营一体化解决方案

    官网及项目详情地址:

    https://opensource.tencent.com/ 

    官方 GitHub 详情地址:

    https://github.com/Tencent/

     

    关注腾讯的人应该了解,腾讯还参与贡献了 Openstack、 KVM、docker、NVDIMM、ceph、HBase、Hadoop、linux、Spark、kubernetes、torrent、dht、goprocinfo、flannel、netlink 等开源社区和项目,主导发布了 Hadoop 2.8.4、2.8.5 和 Spark 2.3.2,并将开源项目 Tars、TSeer 和 Angel 分别捐赠 Linux基金会和Linux 深度学习基金会,并将长期于基金会运作。同时,腾讯还是 Linux 基金会、Apache 基金会、Openstack 基金会、MariaDB 基金会及 LF 深度学习基金会的白金会员。

     

    堵俊平表示,腾讯之所以重视开源,原因在于:从外部环境来看,随着主流的开发平台Linux、Android 等逐渐开源化,IT 产业想要取得更大的市场份额,拥抱开源是当务之急;从腾F讯内部的技术积累来看,腾讯内部已经累积了超过 8000 个经过用户验证的开源项目,可以向开源社区输出优质开源项目;从生态机遇来看,开源能够很好地服务于腾讯重点战略方向,例如作为腾讯云的 Paas、Saas 服务封装,推动机器学习和人工智能的广泛应用。

    AI 实力哪家强?


    如今,AI 已经成为一家公司综合实力不可忽略的一部分,尤其是对于 BAT 来说,AI 在战略层面的定位很大程度上决定了公司的发展方向。

     

    在 AI 方面,数据显示,腾讯与百度与阿里相比似乎并不占优势,但仍在有重点地奋力追赶,在一些领域已占有优势。

     

    2018年,CB Insights 的报告挖掘了 BAT 在AI 方面的相关专利记录、投资和收益等,全方位描绘了 BAT 的 AI 策略。报告显示,百度在 AI 领域处于领先地位。BAT 分别着重自动驾驶、智慧城市和医疗 AI,在政府的大力支持下,BAT 正在向全世界扩张。

     

    首先,在战略上,百度就早于阿里和腾讯意识到 AI 的重要性,在 2010 年就已经在电话会议上讨论 AI,时间甚至早于谷歌,而阿里和腾讯都是在近年才提出 AI 战略。

     

    百度财报显示,自 2011 年以来,百度就大规模投入人工智能技术的研发,最近几年研发投入占总收入保持在 15% 左右。

     

    相比之下,腾讯财报显示,腾讯 2019 年第一季度营收 854.7 亿元,同比增长 16%,但收入构成中未包含 AI 带来收入的信息,主要收入来源是增值服务和金融科技及企业服务,占比分别为 57% 和 25%,网络广告占比 16 %,其他收入占比 2%。

     

    但在学术研究上,腾讯正在成长为一支“生力军”,在国际顶级会议上的表现可圈可点,如在今年的 CVPR 会议上,今年腾讯公司共有 58 篇论文入选,其中腾讯 AI Lab 33 篇(含 8 篇oral),腾讯优图实验室 25 篇,腾讯 AI Lab 入选论文涉及视频理解、人脸识别、对抗攻击、视觉-语言描述、模型压缩和多任务学习等几大重点研究方向。2018 年,腾讯 AI Lab 在 NIPS(现已更名NeurIPS) 上共有 20 篇论文入选,其中 2 篇被选为亮点论文(Spotlight),其他成绩还包括计算机视觉领域顶会 CVPR (21篇)和 ECCV(19篇)、机器学习领域顶会 ICML(16篇)、NLP 领域顶会 EMNLP(16篇),以及语音领域顶会 Interspeech(8篇)等。可见,腾讯的 AI 学术研究能力并不落后。

     

    在应用层面,腾讯的成果也很瞩目,如发布了基于多模态研究的首个“电竞虚拟人”,策略协作型 AI“绝悟”首次亮相KPL决赛,与人类战队(超过99%玩家)进行 5V5 水平测试并取得胜利。

     

    在 AI 投资上,BAT 三家都向全球扩扩张,约 44% 的资金流向美国的初创公司,其中腾讯在美国的投资交易最多,参与了 12 项交易。

           

    (来源:CB Insights )

     

    CB Insights 数据显示,在 AI 专利上,百度和阿里在语音领域领先,而腾讯专利则更多与计算机视觉研究相关。9月6日,腾讯宣布优图实验室升级为腾讯计算机视觉研发中心,将加大研发投入,且不设 KPI,可见其对 CV 开发的重视程度。几日后,腾讯 AI Lab 开源了“Tencent ML-Images”数据集,作为腾讯开源第58个项目(https://github.com/Tencent),这是腾讯在计算机视觉领域所累积的基础能力的一次释放。

     

    当然,三家公司在 AI 应用方面的重心不一,百度在自动驾驶领域领先,如在最近的百度 AI 开发者大会上公布了开放平台 Apollo 迭代到 5.0 最新版本,并宣布与吉利在智能网联、智能驾驶、智能家居、电子商务等领域达成战略合作,以及多项落地项目,如在百度大厦和百度科技园试运营的自主泊车,与红旗携手打造的中国首条 L4 乘用车前装产线在长春投产下线,无人驾驶出租车(Robotaxi)项目“Apollo Go”亮相等。这些都是实实在在的进步。

     

    而阿里巴巴的一大优势在于其人工智能云平台“ET 城市大脑”。据官网介绍,“ET 城市大脑”背后的团队为阿里达摩院城市大脑实验室,华先胜为负责人,张磊为高级研究员,研究方向包括多模态数据感知、城市交通预测与干预、城市大规模并行异构计算、城市复杂环境感知与理解、城市视觉搜索引擎和城市市政规划和公共资源分析。阿里使用城市大脑来处理来自相机、传感器、社交媒体和政府数据等方面的数据,并使用人工智能算法来预测医疗保健、城市规划、交通管理等方面的结果,科研实力不容小觑。

     

    相比之下,腾讯则将重点放在 AI 医疗保健领域。除了大力投资 AI 医疗企业,腾讯还重点研发医疗智能平台,2017 年 8 月,腾讯发布了其首个 AI+医疗影像产品:“腾讯觅影”,可辅助医生对肺结节、乳腺癌、糖尿病视网膜病变、早期食管癌等疾病进行筛查。截至 2018 年 7 月,腾讯觅影已累计辅助医生阅读医学影像超 1 亿张,服务超百万患者,提示高风险病变 15 万例。同年 11 月,“腾讯觅影”进入了首批国家新一代人工智能开放创新平台名单,负责建设医疗影像国家新一代人工智能开放创新平台。随后,腾讯又相继发布了首款医疗AI引擎“腾讯瑞智”和“腾讯超级大脑”,后者将人工智能技术融入到医药研发、基因组数据分析、导诊、疾病筛查、辅助诊疗、医疗管理等环节。

     

    另一方面,在 AI 开源上,腾讯也在加紧步伐:

            

           

         

    (红框部分为腾讯 AI 相关开源项目,不完全统计)


    • 围棋 AI 技术PhoenixGo,这是腾讯微信翻译团队开发的人工智能围棋程序,曾在 2018 年以 BensonDarr(昵称“金毛”)的名义在腾讯野狐围棋平台上和全球顶尖职业棋手、围棋爱好者及各路围棋AI 对弈,在 4 月底取得了 200 多连胜,并在福州 2018 人工智能围棋大赛上夺冠,引起了行业内广泛关注。

      Tencent ML-Images:2018 年 9 月 底腾讯 AI Lab 开源,由多标签图像数据集 ML-Images,以及业内目前同类深度学习模型中精度最高的深度残差网络 ResNet-101 构成。

      Angel:基于参数服务器理念开发的高性能分布式机器学习平台。

      behaviac:游戏 AI 的开发框架组建,也是游戏源性的快速设计工具。

      FeatherCNN:高性能神经网络前向计算库等。

      NeuralClassifier:NeuralNLP的一个子项目,是一款基于PyTorch开发的深度学习文本分类工具。

      看到这里,我们会发现仅从上述资料中无法找出文章开始提出问题的答案,但还是可以从中得出一些较为客观的结果:


      市面上存在着对腾讯技术建设的质疑,但从用户体验来讲,腾讯的主流产品和技术研发并没有让用户失望;

      腾讯的开源状况不如 BAT 其他两家,因为腾讯在开源上起步晚,但这家公司已经在保持开放的态度,且在奋力追赶之下已经有不少项目对业界产生不小的影响;

      腾讯的AI 实力究竟如何也需要从多角度考量,虽然整体上百度的 AI 实力最强,但腾讯在 AI  研发上是认真的,比如在医疗影像 AI 领域,腾讯的技术积累已经助力不少优质项目落地,且背靠充足资金的支持,这是其他 AI 创业公司无法企及的优势。

打开APP阅读更多精彩内容