过去几年,Python成为人工智能和数据科学领域最受欢迎的编程语言。但是随着5G时代的来临,生产环境对AI应用的性能要求越来越高,Python有点「力不从心」。天生支持并发的Golang应运而生,专家称,Go语言将统治人工智能的下一个十年。

30年前,Python 首次出现。

但是Python花了20年的时间才得到公众的认可。

根据2019年Stack Overflow的调查,Python成为开发人员第二喜爱的语言。

过去的5年里,Python的成长无疑是巨大的,已经成为机器学习和数据科学开发人员的首选语言。

短时间来看,Python 的主导地位大概率不会变。但是与一些新兴的语言相比,它有一些严重的缺点,将成为生产环境部署的障碍。

Python 受欢迎的主要原因是它很容易学习。

与其他语言相比,它的语法很简单,任何人都可以在几个小时或几天内学会 Python 的基础知识。

即使在学习了c++ 或 Java 等其他语言之后,开发人员还是更愿意使用 Python。因为无论你想干啥,总有一个Python 库能满足你的需求,这些库让开发数据科学和AI类的应用变的简单高效。

但Python在大规模生产环境下的性能问题,直接影响了AI应用的开发效率。现在很多人工智能初创企业,正处于底层架构的构建阶段,检查 Python 的问题很有必要。

Python是一个解释性语言,这导致它执行起来比较慢,与其他编译语言如c++ 和 Go 相比,Python 的执行速度就像乌龟一样,所以很多AI模型虽然是用Python开发的原型,部署时还得转成其他语言。

Python 是一种动态类型语言。变量的数据类型在运行时自动判断,也使得执行速度变慢。

为了克服 Python 的速度,很多Python库选择更快的语言来重写,例如 TensorFlow、 Numpy 和 Pandas 部分是用 c 或c++ 编写的,它们有助于显著提高执行速度。

这就有点像拄着拐走路,一直需要外界的帮助。

随着5G时代的来临,多任务并行处理和实时性的需求猛增,Python是可以构建小而美的应用,但是大规模、高吞吐的场景下,表现不尽如人意。虽然有很多方法,来提高Python的并行计算的能力,但都是曲线实现的,并没有实现真正意义的并行。

因为Python中存在一个GIL锁,每次只允许程序执行一个线程。

GIL的全称是Global Interpreter Lock(全局解释器锁),Python之父为了数据安全而设计的,那个时候计算机的主频还没有达到1G,程序全部都是运行在单核计算机上面。

某个线程想要执行,必须先拿到GIL,可以把GIL看作CPU的「通行证」,拿不到通行证就不允许进入CPU执行,Python 的多线程实际上并没有利用到多核计算的优势,它不管你有几个核,100个核也只能跑一个线程。

所以,原生的Python在性能上是有诸多限制的。人工智能和数据科学领域,对性能需求又很高,那有没有一种语言既有Python简单易用的优点,又能满足生产需求呢?

这时,Golang应运而生。

Golang(简称Go) 是一种静态和编译型语言,这意味着它的执行速度将比 Python 快好几倍。与 Python 不同,Go 不需要其他语言的帮助来提高速度。

下面是Go和 Python 之间的一个小型基准游戏对决。Go执行几乎和 c++、 Java 一样快,而且Go 编译代码比c++ 和 Java 要快得多,有些游戏中Go所需时间只有Python的百分之一。

Go 的语法也很简单,程序写完后可以直接编译成二进制文件执行。25 个关键字就能表达你能想到的所有招式,想干啥事就 Go一下。

Go 最大的特色就是天生支持并发,不需要像其他编程语言那样需要开发者自行实现或借助第三方库实现并发编程,逻辑简单通俗易懂。

Go使用 Goroutine来实现并发,Goroutine 是可以同时独立运行的函数,只占用2 kB 的内存,所以单机同时运行成千上万个Goroutine,也没问题。

上面这段程序顺序执行花费了1000多毫秒。下面我们在printTime函数前面增加一个关键字go,也就是使用Goroutine让程序并发执行,整个过程只花费了110毫秒,所以Go中实现并发非常简单。

不同于其他脚本或解释性高级编程语言,用 Go 编写的代码直接了当编译成机器码高效执行。x86、AMD64 (x86_64)、ARM;Linux、Windows、Darwin (OSX)、FreeBSD、Android (计划Go 1.4) 几乎全平台支持,真正做到了一码在手,随处复用。

人工智能正在席卷整个世界,机器学习、深度学习等模仿人类智能的应用程序层出不穷,Python可以很好地构建原型系统,帮我们验证模型是否有利用提高效率。

但现在,对高可扩展性和计算能力的需求,让Python有点捉襟见肘,而Go则在这些方面表现出了更大的潜力。与Python相比,Go的速度可以快几十倍上百倍,吞吐更多的数据,满足更高的并发需求。

根据 Hackearth 对来自76个国家的16000多名开发者的调查,Go 成为2020年最受欢迎的编程语言。

今年,有经验的开发人员中有近三成想学习Go,学生中这一比例也达到了29%。

知乎在几年前也将推荐系统从 Python切换到了 Go。

Go首席布道师许式伟2015年时曾说,Go 语言将在两年内制霸云计算领域,而且Go 将统治下一个 10 年。

Docker、Kubernetes等项目的成功,让Go在集群计算和云计算领域拔得了头筹,但是Go的脚步并没有停下。

我们利用机器学习、深度学习来预测和推理,最终目的还是为了生产服务。

Go对生产环境的支持要远远好于Python,比如Go语言开发的Cortex,可以将Python开发的AI模型快速、稳定地部署至生产环境。

Go 和 Python 两大社区的开发人员也争论过哪种语言更好,似乎,谁也没完全说服谁。

但越来越多的公司采用Go搭建基础架构,至少证明,Go对生产环境来说更加合适。

推荐阅读:

谷歌给听障人士按下静音键,AI的世界没有包容?

参考链接:

https://towardsdatascience.com/golang-ai-programming-language-for-the-20s-71890baa8c47

https://blog.qiniu.com/archives/113

https://zhuanlan.zhihu.com/p/93931669

Python并非为AI而生,Golang将统治人工智能的下一个十年?相关推荐

  1. 人工智能选go还是python_Python不是为AI而生的,Golang会支配人工智能的下一个十年吗?...

    近年来,Python成为人工智能和数据科学领域最受欢迎的编程语言. 但是,随着5G时代的到来,生产环境对AI应用的性能要求越来越高,Python说有点"力所不及". 天生支持同时性 ...

  2. AI开发者大会:2020年7月3日09:50--10:10唐杰《人工智能的下一个十年》

    AI开发者大会:2020年7月3日09:50--10:10唐杰<人工智能的下一个十年> 导读:人工智能的第三次浪潮中,超越深度学习-ML和DL需要结合符号AI:自监督学习将会大放异彩. N ...

  3. AI:2020北京智源大会与五位图灵奖得主和100多位专家《共同探讨人工智能的下一个十年》——6月21日~6月24日的日程安排(实时更新,建议收藏)

    AI:2020北京智源大会与五位图灵奖得主和100多位专家<共同探讨人工智能的下一个十年>--6月21日~6月24日的日程安排(实时更新,建议收藏) 导读:2020年,是一个十年的结束,也 ...

  4. 认知智能,AI的下一个十年 | AI Procon 2020

    整理 | 屠敏 出品 | AI科技大本营(ID:rgznai100) 60 年间的「三起两落」 ,人工智能的沉浮变迁. 在 1956 年的夏天,人工智能在美国达特茅斯大学召开的学术会议之上蹒跚学步,吸 ...

  5. 2020 北京智源大会“云上”开幕, 中外顶尖学者畅想AI的下一个十年

    6月21日,由北京智源人工智能研究院(以下简称智源研究院)主办的2020北京智源大会在线上成功开幕,会期四天.北京智源大会是智源研究院主办的年度国际性人工智能高端学术交流活动,2019年举办了首届大会 ...

  6. 6位图灵奖得主,10多位院士,19个分论坛:北京智源大会邀你共同探索AI下一个十年...

    长按上图或点击「阅读原文」免费注册参会 2020年,是一个十年的结束,也是下一个十年的开始. 过去十年,人工智能在深度学习算法.大规模算力和新型芯片.互联网收集的海量数据等因素的共同驱动下,经历了波澜 ...

  7. AI:2020年6月22日北京智源大会演讲分享之19:00-19:40《 圆桌论坛:人工智能产业的下一个十年》

    AI:2020年6月22日北京智源大会演讲分享之19:00-19:40< 圆桌论坛:人工智能产业的下一个十年> 导读:首先感谢北京智源大会进行主题演讲的各领域顶级教授,博主受益匪浅,此文章 ...

  8. 认知智能,AI 的下一个十年 | AI Procon 2020

    整理 | 屠敏 出品 | AI科技大本营(ID:rgznai100) 60 年间的「三起两落」 ,人工智能的沉浮变迁. 在 1956 年的夏天,人工智能在美国达特茅斯大学召开的学术会议之上蹒跚学步,吸 ...

  9. AI ProCon 2020第一天:40+大厂专家共话AI技术应用下一个十年!

    7月3日,2020 年 AI开发者万人大会(AI ProCon 2020)隆重举行,作为CSDN策划并主办的系列技术「开发者大会」之一,本次大会通过线上直播的方式,吸引到了10000+开发者/学习者. ...

最新文章

  1. 零编程基础学python-如果是一个纯0编程基础的小白,如何学Python
  2. Ruby备份mongodb(fsync lock)
  3. 判断浏览器是否为IE内核的最简单的方法
  4. redis 系列19 客户端
  5. Flash 平台音视频直播的实现
  6. recurdyn和matlab联合仿真,基于RecurDyn与Simulink的液压破碎锤联合仿真与试验分析
  7. Mac 更改Apache文件系统目录
  8. python中pop用法_python中pop()函数的用法
  9. 车牌号识别php+sdk,车牌识别SDK
  10. GoldWave教程分享:删除声道该怎么操作?
  11. 服务器和客户端TSL协议不一致
  12. jQuery下载安装详细教程,jQuery入门必备
  13. 怎么用wifi进e站_科普微e站 | 注意!路由器千万别再这样用,当心信号越来越差!...
  14. 蔡琴 经典收藏APE
  15. 黑苹果卡在白苹果不动_iphone5开机白屏中间黑苹果,卡住不动。
  16. 网络安全加固的必要性
  17. 深度学习图像处理目标检测图像分割计算机视觉 02--图像特征与描述
  18. 百度地图的植入流程介绍
  19. 【转载】极大似然估计
  20. 大势至USB管理软件教你如何禁用U盘、屏蔽USB端口而不影响USB鼠标键盘使用!

热门文章

  1. python中的逗号_Python中的逗号有什么作用?
  2. 看漫画学python pdf下载_用python下载漫画并打包成pdf文件
  3. Python读取xlsx文件报错:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported‘)
  4. SetAutoResizeMode
  5. 前端进阶(三) webpack处理vue以及vue-cli脚手架环境
  6. AI创业周报:元宇宙时代来临!环球墨非风头正盛,53岁女博士领现象级芯片公司获数亿元融资...
  7. 一秒看遍10万神经元的「绚丽烟花」,AI究竟向大脑学什么?|北大陈良怡专访...
  8. 智源人工智能伦理与安全中心主任曾毅任联合国教科文组织人工智能伦理特设国际专家组专家...
  9. 智源重大研究方向:机器学习学术报告会(暨学者候选人发布)
  10. 尤雨溪携手字节前端专家,畅聊 Vue 3.0 前端技术新趋势