原創(chuàng) 撐起移動(dòng)AI江山的浮點(diǎn)計(jì)算,到底是如何工作的?

如果要為手機(jī)行業(yè)的未來(lái)尋找一個(gè)技術(shù)錨點(diǎn),AI絕對(duì)當(dāng)之無(wú)愧。

不僅廠(chǎng)商們紛紛孵化出了眾多或真或假的手機(jī)AI軟硬件解決方案,消費(fèi)者決策也開(kāi)始越來(lái)越多地向手機(jī)的AI應(yīng)用傾斜。與此同時(shí),AI也讓手機(jī)性能的理解和認(rèn)知門(mén)檻變得越來(lái)越高高了。

比如在眾多AI手機(jī)硬件評(píng)測(cè)中,普遍堆砌著一大堆玄幻的技術(shù)名詞和數(shù)值。具體強(qiáng)在哪里,能夠優(yōu)化哪些功能,別說(shuō)普通消費(fèi)者,很多程序員都未必能說(shuō)出個(gè)所以然。

舉個(gè)例子,移動(dòng)AI芯片的指標(biāo)中,都離不開(kāi)浮點(diǎn)數(shù)的運(yùn)算能力,也就是FLOPS(floating point operations per second,每秒計(jì)算的浮點(diǎn)數(shù)目多少),作為評(píng)估手機(jī)性能強(qiáng)弱的標(biāo)準(zhǔn)之一。

那么,浮點(diǎn)運(yùn)算究竟是怎樣工作的?為什么會(huì)成為手機(jī)AI性能的評(píng)測(cè)標(biāo)準(zhǔn)?又將對(duì)我們的生活起到什么幫助?還真是云里霧里捉摸不透。

今天我們就來(lái)嘗試用說(shuō)人話(huà)的方式回答一下這些問(wèn)題,通過(guò)浮點(diǎn)計(jì)算這個(gè)小切口,窺視一下手機(jī)AI技術(shù)版圖的冰山一角。

什么是浮點(diǎn)計(jì)算?

首先有必要解釋一下,什么是浮點(diǎn)計(jì)算。

通俗來(lái)說(shuō),就是一種可以通用表示所有數(shù)字的科學(xué)計(jì)數(shù)法。它的表示形式為0.*****×10^***,其中小數(shù)點(diǎn)前面是定點(diǎn)小數(shù),后面則是一個(gè)定點(diǎn)整數(shù)(10的N次方)。比如傳統(tǒng)的1024整數(shù),浮點(diǎn)數(shù)就表示成0.1024×10^4。

不難發(fā)現(xiàn),浮點(diǎn)數(shù)可以表示出任意一個(gè)整數(shù)和小數(shù),并且比普通格式的計(jì)數(shù)方式數(shù)位更長(zhǎng),因此計(jì)算難度和精度也更高。而利用浮點(diǎn)數(shù)進(jìn)行的運(yùn)算就是浮點(diǎn)運(yùn)算。

浮點(diǎn)運(yùn)算到底有多重要呢?這么說(shuō)吧,目前所有的計(jì)算機(jī)處理器都采用的是浮點(diǎn)運(yùn)算,手機(jī)AI芯片也是以浮點(diǎn)運(yùn)算能力為基礎(chǔ)展開(kāi)的。

這種運(yùn)算能力究竟蘊(yùn)含著怎樣的能量?又是如何取代定點(diǎn)計(jì)算成功上位的?

天選之子:浮點(diǎn)計(jì)算發(fā)展史

要搞清楚浮點(diǎn)運(yùn)算的應(yīng)用價(jià)值,有必要回溯一下,這種計(jì)算方式是怎么來(lái)的。

最早將“浮點(diǎn)運(yùn)算”作為計(jì)算機(jī)處理引擎概念,是萊昂納多·托雷斯和奎韋多在1914年提出的。直到1938年,第一個(gè)使用二進(jìn)制浮點(diǎn)數(shù)的計(jì)算機(jī)Z1才正式誕生。1942年,第一個(gè)帶有浮點(diǎn)運(yùn)算硬件單元的計(jì)算機(jī)Z4出現(xiàn)。到了1946年,貝爾實(shí)驗(yàn)室推出的Mark V,已經(jīng)可以實(shí)現(xiàn)十進(jìn)制浮點(diǎn)數(shù)運(yùn)算。

在接下來(lái)的數(shù)十年間,帶有浮點(diǎn)運(yùn)算硬件的“科學(xué)計(jì)算機(jī)”開(kāi)始風(fēng)靡。1985年,浮點(diǎn)運(yùn)算的標(biāo)準(zhǔn)IEEE754問(wèn)世。

而1989年英特爾i 486的推出,正式奠定了浮點(diǎn)運(yùn)算在計(jì)算機(jī)歷史上的基礎(chǔ)地位,開(kāi)始作為標(biāo)準(zhǔn)功能被應(yīng)用在個(gè)人計(jì)算機(jī)上,處理器的浮點(diǎn)運(yùn)算能力也成為重要的芯片性能評(píng)價(jià)指標(biāo),代表著硬件制作技術(shù)的不斷進(jìn)步。

進(jìn)入AI時(shí)代,隨著機(jī)器學(xué)習(xí)在電腦及手機(jī)等硬件端的普及,浮點(diǎn)運(yùn)算更是有了新的用武之地。

各種主打AI功能的手機(jī)芯片,比如蘋(píng)果A11、華為麒麟系列、高通845、谷歌PVC等等,都是以浮點(diǎn)運(yùn)算作為基本運(yùn)算單元。預(yù)計(jì)未來(lái),還有更多的AI功能會(huì)以浮點(diǎn)運(yùn)算展開(kāi),直接影響手機(jī)AI的發(fā)展進(jìn)程和感官體驗(yàn)。

那么,為什么在處理AI任務(wù)時(shí),浮點(diǎn)運(yùn)算更加游刃有余呢?恐怕還要從它的特殊能力說(shuō)起。

焦不離孟:為什么移動(dòng)AI離不開(kāi)浮點(diǎn)運(yùn)算?

浮點(diǎn)運(yùn)算之所以成為手機(jī)AI芯片的標(biāo)配,與新運(yùn)算需求和傳統(tǒng)硬件之間的矛盾是分不開(kāi)的。

我們知道,AI任務(wù)大多是通過(guò)機(jī)器學(xué)習(xí)算法模仿神經(jīng)網(wǎng)絡(luò)來(lái)完成的,需要更大的算力和能效來(lái)支撐大型矩陣運(yùn)算。

而傳統(tǒng)CPU的運(yùn)算邏輯,是進(jìn)行多組運(yùn)算并統(tǒng)籌全局,一次帶動(dòng)不同部類(lèi)的系統(tǒng)工作,類(lèi)似于多面手。在面對(duì)神經(jīng)網(wǎng)絡(luò)這樣龐大、單一、重復(fù)的高并發(fā)任務(wù)指令時(shí),就有點(diǎn)難以負(fù)荷。因此,浮點(diǎn)運(yùn)算能力更高的GPU就取代CPU,成為AI芯片的首選。

其次,AI手機(jī)芯片不僅要更快地處理數(shù)據(jù),保證使用中不卡頓,還要能夠支撐大量多媒體技術(shù)應(yīng)用,對(duì)手機(jī)畫(huà)面進(jìn)行更好的渲染和呈現(xiàn),這種手機(jī)功能的升級(jí)需求,傳統(tǒng)的定點(diǎn)運(yùn)算力不從心,只能交給數(shù)位更長(zhǎng)、精度更大的浮點(diǎn)運(yùn)算。

總之,更多的深度學(xué)習(xí)任務(wù)、更大的算力需求、更高的計(jì)算精度,加上硬件本身的迭代升級(jí),共同推動(dòng)浮點(diǎn)運(yùn)算成為移動(dòng)AI性能的關(guān)鍵指標(biāo)。

拉開(kāi)差距:浮點(diǎn)運(yùn)算的差異在哪里?

盡管市面上的AI芯片都擁有浮點(diǎn)計(jì)算能力,但最終的呈現(xiàn)效果卻各不相同。

有的AI手機(jī)能夠帶你裝X帶你飛,有的則處理簡(jiǎn)單的識(shí)別任務(wù)都要等到天荒地老。它們之間的浮點(diǎn)運(yùn)算能力又有哪些區(qū)別呢?

簡(jiǎn)單來(lái)說(shuō),評(píng)估AI芯片運(yùn)算能力的指標(biāo)主要有三個(gè):

1.吞吐率(throughput)。處理AI任務(wù)需要支撐大規(guī)模的并行運(yùn)算,而吞吐率就直接決定著芯片計(jì)算速度。這有點(diǎn)像水管,直徑越大,可以同時(shí)對(duì)外流出的水就更多。

2.FLOPS。即每秒所執(zhí)行的浮點(diǎn)運(yùn)算次數(shù)。為了衡量吞吐率,就可以折算到具體的浮點(diǎn)操作數(shù)量上來(lái)。原則上來(lái)說(shuō),F(xiàn)LOPS越高,單位時(shí)間內(nèi)處理的數(shù)據(jù)量越大,表現(xiàn)出的圖像數(shù)量峰值也就越高,從而可以顯示出更加細(xì)膩的圖像。

3.精度。那么,是不是只要看FLOPS值就可以判斷性能高低了呢?并不是。浮點(diǎn)數(shù)還會(huì)根據(jù)精度分為多種類(lèi)型,以滿(mǎn)足不同的計(jì)算需求,比如單精度、雙精度、擴(kuò)展雙精度。

精度會(huì)根據(jù)任務(wù)場(chǎng)景、成本控制、產(chǎn)品線(xiàn)定位等來(lái)設(shè)計(jì)和應(yīng)用,不同維度上的比較往往失于片面。比如英偉達(dá)就在geforce產(chǎn)品線(xiàn)中屏蔽了大部分的雙精度單元,卻在tesla產(chǎn)品線(xiàn)中全部打開(kāi)。

總而言之,浮點(diǎn)運(yùn)算性能對(duì)于3D圖形處理和大規(guī)模并行任務(wù)的表現(xiàn)起到了至關(guān)重要的作用。

但其對(duì)手機(jī)性能的影響大小,取決于硬件設(shè)計(jì)、處理效率、數(shù)據(jù)精度等要素的綜合做功。

從理論到應(yīng)用:浮點(diǎn)運(yùn)算能給用戶(hù)帶來(lái)什么?

說(shuō)了這么多技術(shù)上的東西,不難發(fā)現(xiàn),浮點(diǎn)運(yùn)算能力并不是只看數(shù)值就能夠判斷出來(lái)的。

而對(duì)于絕大多數(shù)人來(lái)說(shuō),可能也根本不care復(fù)雜的技術(shù)概念和參數(shù)表。消費(fèi)者能夠感知到的功能和實(shí)際價(jià)值,才是真正的意義所在。

那么落地到具體應(yīng)用上,浮點(diǎn)運(yùn)算究竟給端側(cè)AI帶來(lái)了哪些價(jià)值呢?主要體現(xiàn)在三個(gè)方面:

首先是帶來(lái)了全新的視覺(jué)體驗(yàn)升級(jí)。

如今的手機(jī)新品發(fā)布會(huì),要是不講點(diǎn)機(jī)器視覺(jué)的應(yīng)用,比如拍照識(shí)花、視頻美顏、虛擬現(xiàn)實(shí)、人臉識(shí)別、游戲渲染等等,都不配被成為AI手機(jī)。而這些功能的實(shí)現(xiàn),都離不開(kāi)浮點(diǎn)運(yùn)算保質(zhì)保量的圖像處理能力。

另一個(gè)改變則是浮點(diǎn)運(yùn)算對(duì)終端算力的加持,減少了AI任務(wù)對(duì)云計(jì)算的過(guò)度依賴(lài)。

在端側(cè)就能夠完成一部分機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)方面的計(jì)算,一方面可以解決計(jì)算的延遲問(wèn)題,讓手機(jī)可以實(shí)時(shí)處理AI任務(wù),運(yùn)行更加流暢;另一方面,用戶(hù)的信息無(wú)需全部上傳到云端處理,安全性更有保障。

而更大的價(jià)值在于,浮點(diǎn)運(yùn)算能力的提升,還能夠幫助手機(jī)解鎖更多的AI想象力。

浮點(diǎn)的計(jì)算速度本身就比定點(diǎn)運(yùn)算要慢,如果能力欠佳,在面對(duì)神經(jīng)網(wǎng)絡(luò)和卷積運(yùn)算的算力要求時(shí),就會(huì)力不從心,不僅運(yùn)算緩慢,還需要大量耗能。又慢又耗電,還要將各種各樣的AI功能都加載到一部手機(jī)里,絕對(duì)是一場(chǎng)災(zāi)難。

幸好,移動(dòng)芯片浮點(diǎn)運(yùn)算能力的不斷提升,正在打破手機(jī)端的算力桎梏,比如新的TPU就可以在神經(jīng)網(wǎng)絡(luò)運(yùn)算上達(dá)到高計(jì)算吞吐量,同時(shí)能耗和物理空間都很小。

當(dāng)運(yùn)算能力不再是問(wèn)題,移動(dòng)端AI應(yīng)用開(kāi)發(fā)的活力也將被徹底釋放,更多創(chuàng)意能夠在手機(jī)端開(kāi)花結(jié)果,可以被普通用戶(hù)所感知到的AI功能自然也就越來(lái)越多。

未來(lái)腦洞:浮點(diǎn)運(yùn)算譜寫(xiě)的手機(jī)功能狂想曲

這里不妨一起開(kāi)一下腦洞,浮點(diǎn)運(yùn)算能力的提升,有可能幫助哪些手機(jī)AI應(yīng)用駛上快車(chē)道?

目前看來(lái),至少在以下三個(gè)方面存在無(wú)限可能:

1.流數(shù)據(jù)處理。浮點(diǎn)運(yùn)算能力直接影響處理器的多媒體、3D圖形處理,從而改變大量多媒體技術(shù)應(yīng)用的體驗(yàn)。

比如實(shí)時(shí)大規(guī)模的數(shù)據(jù)運(yùn)算能力,讓人臉識(shí)別、人像分割、視頻風(fēng)格化、虛擬現(xiàn)實(shí)等技術(shù)在端側(cè)進(jìn)行,更高耦合度的有趣應(yīng)用(比如annimoji、虛擬主播等)也從理論變?yōu)楝F(xiàn)實(shí),作用于視頻、直播、攝影等功能,創(chuàng)造出新的功能亮點(diǎn)。

2.識(shí)別功能。手機(jī)AI功能的另一個(gè)特點(diǎn),則是識(shí)別和決策能力,比如識(shí)別文字(翻譯)、圖片(攝影)、商品(購(gòu)物)、情緒(交互)、場(chǎng)景(主動(dòng)服務(wù))等等。

浮點(diǎn)運(yùn)算能力的進(jìn)一步提升,將讓手機(jī)的智能化、人格化成為可能,從工具進(jìn)化成真正的智慧伴侶。

3.IoT。更進(jìn)一步,越來(lái)越多的智能硬件進(jìn)入AI交互模式,如果手機(jī)的計(jì)算傳輸效率被攻破,那么完全可以作為眾多IoT設(shè)備的大腦中樞,讓智能硬件交互圍繞手機(jī)端展開(kāi)。

用手機(jī)操作和管理智能家電、無(wú)人汽車(chē)、體聯(lián)網(wǎng)設(shè)備等,將為產(chǎn)業(yè)創(chuàng)造出新的價(jià)值點(diǎn)。

總體而言,浮點(diǎn)計(jì)算的進(jìn)一步發(fā)展,帶給手機(jī)的核心改變?cè)谟?,AI任務(wù)所需要的大規(guī)模并行運(yùn)算將不再是問(wèn)題。

澎湃的算力為廠(chǎng)商和開(kāi)發(fā)者搭建了新的想象力舞臺(tái)。如何利用好這一紅利,放飛腦洞創(chuàng)造新應(yīng)用,構(gòu)想出未知功能,或許是接下來(lái)各個(gè)玩家拉開(kāi)競(jìng)爭(zhēng)差距的關(guān)鍵機(jī)遇。

再多說(shuō)兩句……

當(dāng)然,在看重浮點(diǎn)運(yùn)算能力之時(shí),不能忽略這樣一個(gè)現(xiàn)狀:浮點(diǎn)運(yùn)算只是移動(dòng)AI基礎(chǔ)能力的一個(gè)組成部分。它與處理器能力、內(nèi)存的多少、算法的優(yōu)劣,甚至操作系統(tǒng)、應(yīng)用開(kāi)發(fā)等等因素綜合做功,才最終決定一部手機(jī)的AI輸出能力。

因此,對(duì)于手機(jī)廠(chǎng)商來(lái)說(shuō),除了單點(diǎn)性能的提升之外,也需要在生產(chǎn)成本、開(kāi)發(fā)者生態(tài)、市場(chǎng)教育等方面同時(shí)發(fā)力,最大限度促進(jìn)移動(dòng)應(yīng)用的AI化,才能最終讓算力的提升真正釋放到移動(dòng)端軟硬件上,化為真實(shí)可感的用戶(hù)體驗(yàn)及產(chǎn)業(yè)價(jià)值增長(zhǎng)點(diǎn)。

到那個(gè)時(shí)候,用戶(hù)也就不需要再為復(fù)雜的數(shù)值和技術(shù)名詞所苦惱,直接從體驗(yàn)上就能感知到不同手機(jī)之間的巨大差異。

從這個(gè)角度看,浮點(diǎn)計(jì)算背后所隱藏的,不僅是AI的真實(shí)價(jià)值,更是手機(jī)產(chǎn)業(yè)的新起跑線(xiàn)。

免責(zé)聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評(píng)論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個(gè)人觀點(diǎn),與極客網(wǎng)無(wú)關(guān)。文章僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2019-01-25
原創(chuàng) 撐起移動(dòng)AI江山的浮點(diǎn)計(jì)算,到底是如何工作的?
這么說(shuō)吧,目前所有的計(jì)算機(jī)處理器都采用的是浮點(diǎn)運(yùn)算,手機(jī)AI芯片也是以浮點(diǎn)運(yùn)算能力為基礎(chǔ)展開(kāi)的。

長(zhǎng)按掃碼 閱讀全文