偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python并非為AI而生,Golang將統(tǒng)治人工智能的下一個(gè)十年?

新聞 人工智能
過去幾年,Python成為人工智能和數(shù)據(jù)科學(xué)領(lǐng)域最受歡迎的編程語言。但是隨著5G時(shí)代的來臨,生產(chǎn)環(huán)境對AI應(yīng)用的性能要求越來越高,Python有點(diǎn)「力不從心」。

 過去幾年,Python成為人工智能和數(shù)據(jù)科學(xué)領(lǐng)域最受歡迎的編程語言。但是隨著5G時(shí)代的來臨,生產(chǎn)環(huán)境對AI應(yīng)用的性能要求越來越高,Python有點(diǎn)「力不從心」。天生支持并發(fā)的Golang應(yīng)運(yùn)而生,專家稱,Go語言將統(tǒng)治人工智能的下一個(gè)十年。

[[345746]]

Python花20年終獲認(rèn)可,但并非為AI而生

30年前,Python 首次出現(xiàn)。

但是Python花了20年的時(shí)間才得到公眾的認(rèn)可。

根據(jù)2019年Stack Overflow的調(diào)查,Python成為開發(fā)人員第二喜愛的語言。

過去的5年里,Python的成長無疑是巨大的,已經(jīng)成為機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)開發(fā)人員的首選語言。

短時(shí)間來看,Python 的主導(dǎo)地位大概率不會(huì)變。但是與一些新興的語言相比,它有一些嚴(yán)重的缺點(diǎn),將成為生產(chǎn)環(huán)境部署的障礙。

Python 受歡迎的主要原因是它很容易學(xué)習(xí)。

與其他語言相比,它的語法很簡單,任何人都可以在幾個(gè)小時(shí)或幾天內(nèi)學(xué)會(huì) Python 的基礎(chǔ)知識(shí)。

即使在學(xué)習(xí)了c++ 或 Java 等其他語言之后,開發(fā)人員還是更愿意使用 Python。因?yàn)闊o論你想干啥,總有一個(gè)Python 庫能滿足你的需求,這些庫讓開發(fā)數(shù)據(jù)科學(xué)和AI類的應(yīng)用變的簡單高效。

但Python在大規(guī)模生產(chǎn)環(huán)境下的性能問題,直接影響了AI應(yīng)用的開發(fā)效率?,F(xiàn)在很多人工智能初創(chuàng)企業(yè),正處于底層架構(gòu)的構(gòu)建階段,檢查 Python 的問題很有必要。

GIL鎖住了Python,拄拐走路性能成瓶頸

Python是一個(gè)解釋性語言,這導(dǎo)致它執(zhí)行起來比較慢,與其他編譯語言如c++ 和 Go 相比,Python 的執(zhí)行速度就像烏龜一樣,所以很多AI模型雖然是用Python開發(fā)的原型,部署時(shí)還得轉(zhuǎn)成其他語言。

Python 是一種動(dòng)態(tài)類型語言。變量的數(shù)據(jù)類型在運(yùn)行時(shí)自動(dòng)判斷,也使得執(zhí)行速度變慢。

為了克服 Python 的速度,很多Python庫選擇更快的語言來重寫,例如 TensorFlow、 Numpy 和 Pandas 部分是用 c 或c++ 編寫的,它們有助于顯著提高執(zhí)行速度。

這就有點(diǎn)像拄著拐走路,一直需要外界的幫助。

隨著5G時(shí)代的來臨,多任務(wù)并行處理和實(shí)時(shí)性的需求猛增,Python是可以構(gòu)建小而美的應(yīng)用,但是大規(guī)模、高吞吐的場景下,表現(xiàn)不盡如人意。雖然有很多方法,來提高Python的并行計(jì)算的能力,但都是曲線實(shí)現(xiàn)的,并沒有實(shí)現(xiàn)真正意義的并行。

因?yàn)镻ython中存在一個(gè)GIL鎖,每次只允許程序執(zhí)行一個(gè)線程。

GIL的全稱是Global Interpreter Lock(全局解釋器鎖),Python之父為了數(shù)據(jù)安全而設(shè)計(jì)的,那個(gè)時(shí)候計(jì)算機(jī)的主頻還沒有達(dá)到1G,程序全部都是運(yùn)行在單核計(jì)算機(jī)上面。

[[345747]]

 某個(gè)線程想要執(zhí)行,必須先拿到GIL,可以把GIL看作CPU的「通行證」,拿不到通行證就不允許進(jìn)入CPU執(zhí)行,Python 的多線程實(shí)際上并沒有利用到多核計(jì)算的優(yōu)勢,它不管你有幾個(gè)核,100個(gè)核也只能跑一個(gè)線程。

所以,原生的Python在性能上是有諸多限制的。人工智能和數(shù)據(jù)科學(xué)領(lǐng)域,對性能需求又很高,那有沒有一種語言既有Python簡單易用的優(yōu)點(diǎn),又能滿足生產(chǎn)需求呢?

這時(shí),Golang應(yīng)運(yùn)而生。

Go天生支持并發(fā)制霸云計(jì)算,還將統(tǒng)治AI的下一個(gè)十年

Golang(簡稱Go) 是一種靜態(tài)和編譯型語言,這意味著它的執(zhí)行速度將比 Python 快好幾倍。與 Python 不同,Go 不需要其他語言的幫助來提高速度。

下面是Go和 Python 之間的一個(gè)小型基準(zhǔn)游戲?qū)Q。Go執(zhí)行幾乎和 c++、 Java 一樣快,而且Go 編譯代碼比c++ 和 Java 要快得多,有些游戲中Go所需時(shí)間只有Python的百分之一。

Go 的語法也很簡單,程序?qū)懲旰罂梢灾苯泳幾g成二進(jìn)制文件執(zhí)行。25 個(gè)關(guān)鍵字就能表達(dá)你能想到的所有招式,想干啥事就 Go一下。

Go 最大的特色就是天生支持并發(fā),不需要像其他編程語言那樣需要開發(fā)者自行實(shí)現(xiàn)或借助第三方庫實(shí)現(xiàn)并發(fā)編程,邏輯簡單通俗易懂。

Go使用 Goroutine來實(shí)現(xiàn)并發(fā),Goroutine 是可以同時(shí)獨(dú)立運(yùn)行的函數(shù),只占用2 kB 的內(nèi)存,所以單機(jī)同時(shí)運(yùn)行成千上萬個(gè)Goroutine,也沒問題。     

上面這段程序順序執(zhí)行花費(fèi)了1000多毫秒。下面我們在printTime函數(shù)前面增加一個(gè)關(guān)鍵字go,也就是使用Goroutine讓程序并發(fā)執(zhí)行,整個(gè)過程只花費(fèi)了110毫秒,所以Go中實(shí)現(xiàn)并發(fā)非常簡單。

不同于其他腳本或解釋性高級(jí)編程語言,用 Go 編寫的代碼直接了當(dāng)編譯成機(jī)器碼高效執(zhí)行。x86、AMD64 (x86_64)、ARM;Linux、Windows、Darwin (OSX)、FreeBSD、Android (計(jì)劃Go 1.4) 幾乎全平臺(tái)支持,真正做到了一碼在手,隨處復(fù)用。

人工智能正在席卷整個(gè)世界,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等模仿人類智能的應(yīng)用程序?qū)映霾桓F,Python可以很好地構(gòu)建原型系統(tǒng),幫我們驗(yàn)證模型是否有利用提高效率。

但現(xiàn)在,對高可擴(kuò)展性和計(jì)算能力的需求,讓Python有點(diǎn)捉襟見肘,而Go則在這些方面表現(xiàn)出了更大的潛力。與Python相比,Go的速度可以快幾十倍上百倍,吞吐更多的數(shù)據(jù),滿足更高的并發(fā)需求。

根據(jù) Hackearth 對來自76個(gè)國家的16000多名開發(fā)者的調(diào)查,Go 成為2020年最受歡迎的編程語言。

今年,有經(jīng)驗(yàn)的開發(fā)人員中有近三成想學(xué)習(xí)Go,學(xué)生中這一比例也達(dá)到了29%。 

知乎在幾年前也將推薦系統(tǒng)從 Python切換到了 Go。

Go首席布道師許式偉2015年時(shí)曾說,Go 語言將在兩年內(nèi)制霸云計(jì)算領(lǐng)域,而且Go 將統(tǒng)治下一個(gè) 10 年。 

Docker、Kubernetes等項(xiàng)目的成功,讓Go在集群計(jì)算和云計(jì)算領(lǐng)域拔得了頭籌,但是Go的腳步并沒有停下。 

我們利用機(jī)器學(xué)習(xí)、深度學(xué)習(xí)來預(yù)測和推理,最終目的還是為了生產(chǎn)服務(wù)。

Go對生產(chǎn)環(huán)境的支持要遠(yuǎn)遠(yuǎn)好于Python,比如Go語言開發(fā)的Cortex,可以將Python開發(fā)的AI模型快速、穩(wěn)定地部署至生產(chǎn)環(huán)境。

Go 和 Python 兩大社區(qū)的開發(fā)人員也爭論過哪種語言更好,似乎,誰也沒完全說服誰。

但越來越多的公司采用Go搭建基礎(chǔ)架構(gòu),至少證明,Go對生產(chǎn)環(huán)境來說更加合適。

 

 

 

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2015-11-10 09:41:47

Go統(tǒng)治下

2022-07-26 14:43:47

人工智能圓桌會(huì)議

2021-01-06 11:38:58

人工智能人工智能發(fā)展

2020-08-20 10:53:13

人工智能技術(shù)互聯(lián)網(wǎng)

2023-02-28 15:21:37

人工智能AGI

2015-11-24 17:20:43

Go語言十年寶座

2019-04-11 13:00:40

人工智能AI醫(yī)療領(lǐng)域

2021-01-06 14:14:05

AI 知識(shí)圖譜

2020-11-01 23:56:22

AI人工智能

2023-03-01 14:45:59

奔馳自動(dòng)駕駛

2017-08-01 08:07:14

存儲(chǔ)HPEIBM

2020-12-23 13:08:05

大數(shù)據(jù)數(shù)據(jù)科學(xué)

2014-10-28 09:21:46

通信LTE物聯(lián)網(wǎng)

2019-07-03 08:00:00

技能IT開發(fā)者

2014-11-07 10:18:57

中國軟件產(chǎn)業(yè)

2019-01-08 14:47:32

2015-10-19 17:50:43

云計(jì)算IT行業(yè)DevOps

2023-04-18 14:16:48

2018-12-10 11:50:08

人工智能語音識(shí)別機(jī)器人

2020-11-05 14:53:51

人工智能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)