当前位置: 首页 > 编程日记 > 正文

2020,国产AI开源框架“亮剑”TensorFlow、PyTorch

AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分。通过对AI生态专家、创业者、行业KOL的访谈,反映其对于行业的思考、未来趋势的判断、技术的实践,以及成长的经历。

2020年,CSDN将对1000+人物进行访谈,形成系列,从而勾勒出AI生态最具影响力人物图谱及AI产业全景图。本文为 「AI技术生态论」系列访谈第05期。

百万人学AI你也有份!参与文章评论,评论区留言入选,可获得价值299元的「2020 AI开发者万人大会」在线直播门票一张。

作者 | Just

出品 | AI科技大本营(ID:rgznai100)

2016年,百度PaddlePaddle打响了国产AI框架开源的第一枪。

但多年以后,当中国的AI开发者回首国内开源往事,也准会想起那个由清华、旷视、华为三大顶级学界和业界机构陆续宣布AI框架开源的2020年的3月末。

在那个3月28日,华为在开发者大会2020上完成了轮值董事长徐直军在去年8月的承诺,宣布正式开源MindSpore,这是一款支持端边云全场景的深度学习训练推理框架。

时间再往回拨四天,AI独角兽旷视科技宣布开源天元(MegEngine),强调这是训练推理一体化、动静态合一的工业级深度学习框架。

3月20日,清华大学计算机系图形实验室开源AI框架计图(Jittor),这是由中国学界开源的首个AI框架,直接对标PyTorch。

在短短8天时间里,来自中国的AI开源框架“你方唱罢我登台”,向AI开源框架领域的霸主们亮剑,这也许会成为国产深度学习框架开源历史上重要的高光时刻。

深度学习开源框架领域的一个既定事实是,TensorFlow、PyTorch基本两分天下,从技术能力到生态建设,它们能给AI落地提供有力支撑,可以满足大部分企业在其中构建自己的AI应用。反观国产AI开源框架,即便百度PaddlePaddle已开源四年,腾讯Angel、阿里X-DeepLearning等框架也相继开源,但从市场影响力和使用规模来看,还难与前两者抗衡。

既然如此,在AI框架“开源”,并拥有完整框架生态的情况下,中国企业和机构为什么要再另造一套技术轮子,他们自研AI开源框架的价值和意义是什么?

技术创新空间

AI开源框架的搭建是一项费时费力的大工程。如果没有超越现有主流框架的想法,去重复造一套没有技术创新的轮子,“性价比”似乎不高,对技术人员来说吸引力也不大。

TensorFlow、PyTorch的强大毋庸置疑,但其技术能力也并非没有提升空间。随着深度学习新技术的出现,任务复杂度不断提高,由于架构设计和不断扩充等原因,导致这些主流框架系统变得复杂,架构优化和移植愈加困难,新模型的实际性能还有待提升。

发现这一优化空间后,清华大学计算机系图形实验室的博士生团队希望能有一个在保持高效的同时能适应各种智能硬件,有较强通用性和可扩展性的深度学习平台。

GitHub地址:https://github.com/Jittor/Jittor

计图(Jittor)就是这样一个产物。它采用创新的元算子融合和动态编译技术,深度优化内存,能有效提升系统的运行性能和通用性,确保实现和优化分离,大幅提升应用开发的灵活性、可拓展性和可移植性。与其他主流框架相比,具有多项先进特性。

实际上,与Pytorch相比,通过在计图平台实现ResNet、VGG、SSD、DeepLab、LSGAN等多个网络模型,计图的推理和训练速度达到10%-50%的性能提升。

虽然初出茅庐的计图还有待持续迭代,但从技术创新角度,中国学术性科研结构要有勇气和能力去做出开拓性的尝试。

同样,AI框架所存在的开发门槛高、运行成本高、部署难度大等亟需解决的问题,也是华为开发MindSpore框架的一大缘由。

在去年CSDN举办的2019中国AI开发者大会上,华为MindSpore资深架构师于璠介绍了其三大设计理念:提供一种新的编程范式,执行新模式和全场景按需协同。

“MindSpore与要对标的Tensorflow是完全不一样的东西。”他称,这种技术方向有相当的技术先进性,但挑战比较大,所以华为想在这方面发力。

企业业务需要

除了技术创新外,还要考虑到贴近AI实际业务场景。在这一点上,或许那些基于自身应用场景来构建AI框架的业界企业更有发言权。

依靠数据红利和庞大的应用场景,中国AI产业应用层的发展遥遥领先。但当AI行业在某种程度上发展到一定阶段的时候,AI企业如果不掌握底层技术,就很难支持上层应用以快速迭代。一流科技创始人袁进辉告诉AI科技大本营(ID:rgznai100),“在底层软硬一体化发展的当下,如果对新框架掌握的不深,就很软硬件协同设计,在国际上形成一定竞争力。”

GitHub地址:https://github.com/MegEngine

旷视的天元(MegEngine)作为旷视Brain++的核心组件之一,是一套伴随旷视自身AI产业实战经验的框架。

据旷视所说,它从2014年开始研发,2015年全员使用,不过Google在同年发布并开源 TensorFlow,同样适用计算图的方式来做框架对他们造成很大冲击,但他们发现TensorFlow的性能比自研框架要慢若干倍。

此后,在工业实践中,他们不断对底层框架、数据和数据设施进行迭代,最终完成了从研发到业务全面向自有深度学习框架和自有计算集群的迁移。旷视研究院高级技术总监田忠博指出,在过去几年,旷视在研发过程中遇到了很多行业共通的痛点,而天元的核心特色就是解决这些痛点。

一直到今年3月开源,旷视目前所有的算法都基于天元进行训练和推理,无论是AI竞赛还是工程化、产品化都由其做技术支撑。

GitHub地址:https://github.com/mindspore-ai/mindspore

MindSpore的研发也与华为自身业务接轨有密切关联。在2018年华为全联接大会上,华为首次发布了全栈全场景AI解决方案,包括芯片、芯片使能、训练和推理框架和应用使能全堆栈方案,可在公有云、私有云、各种边缘计算、物联网行业终端以及消费类终端等全场景部署。

显然,AI计算框架是其AI解决方案中的重要一环。MindSpore首席科学家陈雷表示,MindSpore原生适应每个场景包括端、边缘和云,并能够在按需协同的基础上,通过实现AI算法即代码,着重提升易用性并降低AI开发者的开发门槛。

在与华为其他“自研”技术模块联动方面,MindSpore上接其发布的业界首款企业级AI应用开发专业套件ModelArts Pro。在底层支持GPU、CPU等其它处理器的同时,MindSpore也可以与华为昇腾AI处理器的协同优化,实现运行态的高效,大大提高计算性能。

国家新基建战略

中国AI界争相构建AI开源框架的背后,技术和业务层面的考量因素当然重要,但也不应忽视国家层面的政策支持。

对于AI基础设施的建设,中国政府在《新一代人工智能发展规划》等关于AI顶层规划的政策中都着重提及,除了加大应用层技术落地,更希望业界和学界深入AI底层技术研发。

近两年,基础技术的“卡脖子”话题成为近两年中国科技界探讨的热点,担心中国AI的发展会像芯片发展那样遭遇空中楼阁的困境。而以高文院士为代表的AI专家也在四处布道“做人工智能必须要做开源,中国要想发展好新一代的人工智能,必须要有高效和风险可控的开源开放平台”的观点。

近期,由于疫情冲击经济,在政府高层推动下,市场更是掀起一股“新基建”的热潮,其中以5G、大数据中心、人工智能和工业互联网组成的数字化基础设施备受关注。对有雄心发展AI的企业或者国家来说,通过自主研发来掌握AI底层技术无疑是一项重大战略。

实际上,清华“计图”项目背后得到了国家自然科学基金委创新群体项目、北京信息科学与技术国家研究中心团队项目等政府层面的资助支持。

计图团队核心开发成员梁盾对AI科技大本营坦陈,中国目前深度学习研究和应用主要依赖于国外平台,的确面临着卡脖子的风险,所以一些国内的IT企业也推出了自己的平台。“中国应该在人工智能生态的全产业链上占有一席之地。”

除了计算框架仍然存在着大量亟需优化解决的问题,华为做MindSpore的另一大缘由是技术战背景。于璠称,必须要有自主可控的全场景的计算框架。

计图、天元、MindSpore的接连开源或许会给中国开发者做硬核开源项目打一剂强心针。

袁进辉称,中国开发者对开源框架的敬畏之心一直太强,不认为中国团队能做一套开源框架,但现在对这些开源框架有足够认识后,再造一个类似Pytorch技术路线的框架难度也不会很大。

“今年应该是国内开源AI框架比较热闹的一年,”袁进辉透露,一流科技的OneFlow框架也将在不久后开源,他对国内技术框架的竞争力充满信心,更重要的是,“中国AI框架的发展也代表国内从应用驱动向更内核的技术研究进发了。”

无论如何,计图、天元、MindSpore点燃了2020年国产AI框架开源的星星之火,至于未来的影响力是否燎原,是否能真正与TensorFlow、PyTorch一较高低,投票权在每一位开发者的手中。

【end】◆精彩推荐◆推荐阅读百万人学AI:CSDN重磅共建人工智能技术新生态清华学霸组团的工业AIoT创企再获数千万融资:玩家应推动在边缘 AI 芯片上跑算法阿里文娱测试实战:机器学习+基于热度链路推荐的引流,让对比测试更精准另一种声音:容器是不是未来?1 分钟抗住 10 亿请求!某些 App 怎么做到的?| 原力计划探索比特币独特时间链、挖矿费用及场外交易的概念你点的每个“在看”,我都认真当成了AI

相关文章:

Centos下部署Solr 搜索引擎

一、环境准备:系统环境:centos 6.5tomcat 7.0.47jdk-7u9solr-4.7.0首先将软件包上传到/tmp目录下1、 jdk安装[rootsvn-server /]# cd /tmp/ [rootsvn-server /]#tar zxvf jdk-7u9-linux-x64.tar.gz[rootsvn-server /]#mv jdk1.7.0_09 /u…

Redis源码分析-TCMalloc

redis很多地方都在调用zmalloc函数 zmalloc在这里定义zmalloc.c void *zmalloc(size_t size) {void *ptr malloc(sizePREFIX_SIZE);if (!ptr) zmalloc_oom_handler(size); #ifdef HAVE_MALLOC_SIZEupdate_zmalloc_stat_alloc(zmalloc_size(ptr));return ptr; #else*((size_t…

让AI训练AI,阿里和浙大的“AI训练师助手”是这样炼成的

不久前,人力资源社会保障部发布了一种炙手可热的新职业:AI训练师。没想到,浙江大学与阿里安全的人工智能训练师马上创造出一个 “AI训练师助手”,高效打造AI深度模型,应对海量应用场景的增加,让AI训练模型面…

用 Navicat for Oracle 管理 Oracle10g/11g 数据库

Navicat for xxx 是一个优秀的数据库管理客户端,有 MySQL、Oracle 等版本。建议大家最好用 Enterprise 版本,功能全面一些,但较之于免费的 Lite 版,企业版可是要花银子买的。 安装 Navicat for Oracle 后,首先需要建一…

借一个同事的经历,谈一谈程序员的成长

一个很久之前的同事,今天找我,想让我帮他推荐下,去我们公司来工作,因为认识很久,就和他说了说公司的现状,也询问了一下他的状况,寒暄几句,让他下周等面试。 这位同事是之前一起做游戏…

select,epoll,poll比较

select,poll,epoll简介 select select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是: 1 单个进程可监视的fd数量被限制 2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内…

华为开发者大会HDC.Cloud技术探秘:云搜索服务技术实践

搜索是一个古老的技术,从互联网发展的第一天开始,搜索技术就绽放出了惊人的社会和经济价值。随着信息社会快速发展,数据呈爆炸式增长,搜索技术通过数据收集与处理,满足信息共享与快速检索的需求。基于搜索技术&#xf…

从今天开始,自己做SEO。

1.购买了一点黑链。开始优化之路。 2.更改了关键词,描述。 3.整理了友情链接。 4.购买了VPS服务器:点击查看 转载于:https://www.cnblogs.com/zq535228/archive/2010/06/09/1754986.html

Elasticsearch2.2.0配置文件说明

为什么80%的码农都做不了架构师?>>> 官方配置文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html 配置详解 # ---------------------------------- Cluster (集群配置)----------------------…

各种类型的字节数

int类型比较特殊,具体的字节数同机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64吧,或者自己typedef int INT32一下。 C、C标准中只规定了某种类型的最小字节数(防止溢出) 64位指的是cpu通用寄…

154 万 AI 开发者用数据告诉你,中国 AI 如何才能弯道超车?| 中国 AI 应用开发者报告...

曾经,软件吞噬世界。现在,AI 吞噬软件。作者 | 屠敏数据 | 杨阳、刘学涛可视化&策划 | 唐小引出品 | CSDN(ID:CSDNnews)从三年前年薪 25 万只是白菜价,到去年华为以年薪最高达 201 万招揽顶尖应届毕业生…

中国移动用户能不能用WCDMA网?(世界杯与通信2)

到南非有移动的用户也有联通的用户,联通的网络快这是肯定的,不过联通的通话价格也比移动的高,就有人希望拿着移动的号去南非,最好也能享受WCDMA的网络速度,这样就是两全其美了,对于这个问题,在国…

平安陆金所-点金计划,简直是骗子行为。

陆金所点金计划,让人防不胜防。平安保险,骗子中的教练。 转载于:https://www.cnblogs.com/hthf/p/5205921.html

深度分析define预处理指令

#define语句 预处理 宏替换 --以上出自《C语言入门经典(第四版)》 #和## --出自《C语言程序设计:现代方法(第2版)》 #undef取消定义 --以上出自《21天学通C语言(第6版)》

建立YUM服务器CENTOS

1 ,YUM Client:要保证安装有如下软件包:yum-3.2.19-18.el5.centosyum-metadata-parser-1.1.2-2.el52 ,YUM Server:要保证安装有如下软件包:yum-3.2.19-18.el5.centosyum-metadata-parser-1.1.2-2.el5yum-fastestmirror…

数据库设计的10个最佳实践

作者 | Emily Williamson译者 | 孙薇,责编 | 屠敏出品 | CSDN(ID:CSDNnews)以下为译文:数据库是应用及计算机的核心元素,负责存储运行软件应用所需的一切重要数据。为了保障应用正常运行,总有一…

十进制转化为十六进制分割高低位

2019独角兽企业重金招聘Python工程师标准>>> 将十进制1000,转化为十六进制,则为0x03E8,如果得到高低位,high0x03,low0xE8 BYTE high;BYTE low;int temp_data1nWeightValue;highBYTE(temp_data1 >>8);int temp_data2nWeightV…

Nginx内存池--pool代码抽取(链表套路)

ngx_palloc.c文件 ngx_palloc_large_hm是自己写的代码没有nginx原版的ngx_palloc_large写的好&#xff0c;细节要品味才会发现nginx的美 nginx链表的套路&#xff0c;正好是两种插入“从前插”和“从后插”&#xff0c;有些许差别 #include <stdio.h> #include <std…

阿里再次主办大数据世界杯, KDD Cup2020正式开赛

记者从国际计算机科学顶会ACM SIGKDD官网获悉&#xff0c;KDD Cup 2020今日正式开赛&#xff0c;本届比赛由阿里巴巴达摩院主办。随即&#xff0c;阿里公布了认知智能、曝光偏差两大赛题方向&#xff0c;并向全球参赛者开放最大规模的商品多模态数据集。阿里也是两次举办该赛事…

grep 正则表达式

grep 正则表达式来源:http://blog.rednet.cn/user1/213546/archives/2007/35795.html以下为整理的grep 正则表达式的大部分功能,详细参见man grep: 要用好grep这个工具&#xff0c;其实就是要写好正则表达式&#xff0c;所以这里不对grep的所有功能进行实例讲解&#xff0c;只列…

Mybatis缓存机制理解及配置

2019独角兽企业重金招聘Python工程师标准>>> 1. Ehcache EHCache是来自sourceforge&#xff08;http://ehcache.sourceforge.net/&#xff09;的开源项目&#xff0c;也是纯Java实现的简单、快速的Cache组件。EHCache支持内存和磁盘的缓存&#xff0c;支持LRU、…

浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)

首先&#xff0c;先稍微了解系统调用的概念&#xff1a; 系统调用&#xff0c;英文名system call&#xff0c;每个操作系统都在内核里有一些内建的函数库&#xff0c;这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核&#xff0c;调用相应的的内核函数完成所需的…

Android之ListActivity(一):布局与数据绑定

Android中的列表&#xff0c;当然也可以用ListView来完成所需要的功能&#xff0c;用法是一样的。 废话不说&#xff0c;来关键的。 LiveActivity本身继承了关于List操作的众多接口&#xff0c;我们可以方便的重写这些操作中需要的方法来实现自己需要的功能。 如果要用ListActi…

用于单图像超分辨率的对偶回归网络,达到最新SOTA | CVPR 2020

作者 | Yong Guo, Jian Chen等译者 | 刘畅出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;通过学习从低分辨率&#xff08;LR&#xff09;图像到高分辨率&#xff08;HR&#xff09;图像之间的非线性映射函数&#xff0c;深度神经网络在图像超分辨率&#xff08;SR&a…

老生常谈,joomla wordpress drupal,你该选择哪个CMS?

本人从事Joomla建站多年&#xff0c;给客户建站都是用Joomla&#xff0c;所以我会极力推荐你选择Joomla&#xff1f; No No No&#xff0c;这样未免太Hard sale了。 虽然这是一个会经常被提到的问题&#xff0c;网上也有不少优秀的答案&#xff0c;但我还是想把自己的想法跟大家…

利用TCMalloc替换Nginx和Redis默认glibc库的malloc内存分配

TCMalloc的全称为Thread-Caching Malloc&#xff0c;是谷歌开发的开源工具google-perftools中的一个成员。与标准的glibc库的Malloc相比&#xff0c;TCMalloc库在内存分配效率和速度上要高很多&#xff0c;这在很大程度上提高了服务器在高并发情况下的性能&#xff0c;从而降低…

Silverlight Analytics Framework(开源分析框架)

Silverlight Analytics Framework是由微软官方推出的WPF/Silverlight扩展Web分析框架.该框架与10余家第三方分析服务结合&#xff0c;使应用可以跟踪程序如何使用的详细情况&#xff0c;为用户提供诸如可用性和视频质量等细节分析。用户可以了解到这些应用软件的使用细节&#…

Python炫技操作:条件语句的七种写法

作者 | 写代码的明哥来源 | Python编程时光有的人说 Python 入门容易&#xff0c;但是精通难的语言&#xff0c;这点我非常赞同。Python 语言里有许多&#xff08;而且是越来越多&#xff09;的高级特性&#xff0c;是 Python 发烧友们非常喜欢的。在这些人的眼里&#xff0c;能…

puppet(1.7-2.1)

puppet配置模块(一)模块是puppet的最大单元&#xff0c;模块里面有类&#xff0c;类下面有资源。同步文件、远程执行命令、cron等叫做资源&#xff0c;都是通过模块来实现的。下面我们来定义一个模块&#xff1a;在服务端上做如下操作&#xff1a;mkdir /etc/puppet/modules/te…

ldconfig动态链接库管理以及修改ld.so.conf.d

将"/usr/local/lib"加入配置文件重 执行命令&#xff1a; #echo "/usr/local/lib" >> /etc/ld.so.conf 然后再直接执行&#xff1a; #ldconfig /etc/ld.so.conf.d/* 或/etc/ld.so.conf和ldconfig. /etc/ld.so.conf.d/*目录下的文件和/etc/ld.so.co…