Everything To Byte? And To Tensor
??????????????????????? -- Welcome to age of AI
?? 本文是一篇關(guān)于AI時(shí)代的軟硬件組織形態(tài)的思考,關(guān)于AI時(shí)代我們應(yīng)該如何重新定義我們的數(shù)據(jù)、硬件和軟件的思考。為了避免誤解這里把傳統(tǒng)的軟件和互聯(lián)網(wǎng)時(shí)代稱為PC時(shí)代,而與之相對(duì)應(yīng)的以深度學(xué)習(xí)為主的時(shí)代稱為AI時(shí)代.(本文不是嚴(yán)謹(jǐn)?shù)目茖W(xué)論述,是對(duì)行業(yè)的一些思考的總結(jié))
??? 不管是過(guò)去還是未來(lái),信息處理圍繞的核心始終是數(shù)據(jù),這里先從數(shù)據(jù)開(kāi)始談起,并圍繞著數(shù)據(jù)這一核心進(jìn)行展開(kāi)論述。
??? PC 時(shí)代我們的主要處理的數(shù)據(jù)是各種各樣的量化的信息,這種數(shù)據(jù)包括各種文字,聲音,圖像,視頻,等各種量化的數(shù)據(jù),他們都有一個(gè)共同的特點(diǎn),就是精確的描述了我們所要說(shuō)明的對(duì)象,如音頻數(shù)據(jù)精確地描述了聲音波形,圖像精確的展示了物體的各種細(xì)節(jié),數(shù)據(jù)庫(kù)中的各種屬性數(shù)據(jù)精確表述了各種對(duì)象之間的關(guān)系與對(duì)象所擁有的屬性,這些數(shù)據(jù)最終的存在形式是BYTE,所有的數(shù)據(jù)都是人為的數(shù)字化后存儲(chǔ)下來(lái)。PC時(shí)代我們通過(guò)這些精確的數(shù)據(jù)精確的描述與控制了我們這個(gè)時(shí)代的信息,然而隨著我們對(duì)知識(shí)的渴求,發(fā)現(xiàn)直接從精確的數(shù)據(jù)中發(fā)覺(jué)信息存在著很多的困難,以及表示很多知識(shí)用精確的數(shù)據(jù)描述存在著困難,如我們很難從一堆文本中直接找到我們想要的知識(shí)片段,好點(diǎn)的搜索引擎也只是關(guān)鍵詞匹配(當(dāng)然排除現(xiàn)在的下一代搜索引擎),以及通過(guò)規(guī)則表示大量的規(guī)則信息并讓他很好的應(yīng)用,當(dāng)然現(xiàn)在的知識(shí)圖譜以及owl等本體數(shù)據(jù)表現(xiàn)不錯(cuò),但是它仍然不能夠方便我們對(duì)這些數(shù)據(jù)進(jìn)行加工和分析,更加無(wú)法全面的覆蓋,也無(wú)法很好的應(yīng)對(duì)不確定性,如知識(shí)圖譜的數(shù)據(jù)智能夠表述其已有的關(guān)聯(lián)信息,但是無(wú)法告訴我們一個(gè)不存在的關(guān)聯(lián),另外隨著關(guān)聯(lián)的復(fù)雜度增加我們?cè)絹?lái)越難于管理和應(yīng)用。
? AI時(shí)代我們的辦法是放棄精確性,轉(zhuǎn)而進(jìn)行抽象的表示。這個(gè)想法就是把一切數(shù)據(jù)向量化,也就是everything to tensor.雖然這樣做以后我們無(wú)法直接通過(guò)解讀tensor來(lái)描述我們的對(duì)象,卻帶來(lái)了前所未有的方便,我們可以很容易的通過(guò)各種向量運(yùn)算,來(lái)對(duì)這些向量數(shù)據(jù)進(jìn)行關(guān)聯(lián)與加工,而這正是我們實(shí)現(xiàn)AI時(shí)代各種智能的基礎(chǔ),也是AI時(shí)代的核心數(shù)據(jù)形式。
??? 總之一句就是在AI時(shí)代一切數(shù)據(jù)除了要精確記錄還要轉(zhuǎn)變?yōu)閠ensor,以方便我們進(jìn)行處理和進(jìn)行大規(guī)模的知識(shí)發(fā)掘,知識(shí)關(guān)聯(lián)與知識(shí)加工,為一切智能的基礎(chǔ),AI時(shí)代讓byte加上tensor.
??????? 說(shuō)完數(shù)據(jù)接著來(lái)說(shuō)說(shuō)處理這些數(shù)據(jù)的軟件。PC時(shí)代的軟件很擅長(zhǎng)處理各種精確的結(jié)構(gòu)化數(shù)據(jù),對(duì)于各種非結(jié)構(gòu)化的多媒體數(shù)據(jù)有些力不從心。PC時(shí)代我們用邏輯等確定的規(guī)則來(lái)組織軟件,程序員的工作就是直接告訴電腦一步步怎么操作,換言就是固化人類(lèi)自身的經(jīng)驗(yàn),而對(duì)于程序員沒(méi)有定義的行為我們的電腦就是個(gè)徹徹底底的白癡。AI時(shí)代的程序員則需要增加一項(xiàng)另外的能力,這項(xiàng)能力就是構(gòu)建電腦的學(xué)習(xí)能力,放棄一些以前直接告訴電腦怎么做,轉(zhuǎn)而讓電腦怎么學(xué)著做,程序員構(gòu)建學(xué)習(xí)能力,電腦自己學(xué)習(xí)。而構(gòu)建學(xué)習(xí)能力的核心就是我們當(dāng)今熱門(mén)的以神經(jīng)網(wǎng)絡(luò)為主的深度學(xué)習(xí),換句話說(shuō)AI時(shí)代的軟件=PC時(shí)代的規(guī)則軟件+神經(jīng)網(wǎng)絡(luò)集合,AI時(shí)代我們?nèi)匀灰砸?guī)則程序來(lái)處理我們的各種精確地信息數(shù)據(jù),而用神經(jīng)網(wǎng)絡(luò)來(lái)處理上面所說(shuō)的tensor,并將二者有機(jī)的進(jìn)行結(jié)合。
????? 說(shuō)完軟件來(lái)聊聊當(dāng)下火熱的AI硬件,PC時(shí)代我們的硬件結(jié)構(gòu)是CPU+RAM+SSD這樣的三級(jí)處理結(jié)構(gòu),CPU可以很好的執(zhí)行規(guī)則與邏輯算法,RAM,SSD這些基于地址尋址的設(shè)備很好的存儲(chǔ)了現(xiàn)有的精確數(shù)據(jù)。但是在AI時(shí)代這一切還需要有所增加,AI時(shí)代我們有大量的tensor數(shù)據(jù)需要進(jìn)行存儲(chǔ)和管理與計(jì)算,傳統(tǒng)的這些設(shè)備有些力不從心,個(gè)人觀點(diǎn)AI時(shí)代我們需要TPU+NTM+TSD,下面解釋下這幾種設(shè)備并說(shuō)下為什么需要他們,以及當(dāng)下的一些現(xiàn)狀。
????? tensor處理器TPU,可以處理大量的tensor計(jì)算,這個(gè)優(yōu)勢(shì)目前已經(jīng)不言而喻,重點(diǎn)說(shuō)下當(dāng)下TPU未來(lái)的一些發(fā)展,目前的TPU未來(lái)有g(shù)oogle-TPU,nvida-GPU,FPGA,寒武紀(jì)等,現(xiàn)在的nvida GPU做的不錯(cuò),但是個(gè)人覺(jué)得現(xiàn)在的GPU遺留了以前的一些歷史思維,有些過(guò)重,需要進(jìn)行重新設(shè)計(jì),寒武紀(jì)也很優(yōu)秀但是需要時(shí)間積累,未來(lái)的TPU一定能夠方便神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),并且最好不要使用過(guò)多的像NVIDA那樣的緩存,要與AI時(shí)代的存儲(chǔ)器進(jìn)行共享數(shù)據(jù)。當(dāng)然 TPU節(jié)能高效這是時(shí)代的應(yīng)用的要求。
????
????? 當(dāng)下AI時(shí)代在硬件上大家好像關(guān)注的都是在計(jì)算上如GPU,F(xiàn)PGA寒武紀(jì)等這些芯片,都是人工智能時(shí)代的處理器,卻忽略了人工智能時(shí)代的存儲(chǔ),PC時(shí)代大家采取CPU+RAM+SSD,實(shí)現(xiàn)了規(guī)則精確的控制和快速的確定性的推理,基于地址的快速查找。人工智能時(shí)代則需要增加TPU+NTM+TSD,用于實(shí)現(xiàn)模糊智能的控制以及快速的模糊推理,基于內(nèi)容的快速查詢。這一切依然需要一個(gè)存儲(chǔ)核心,就是基于內(nèi)容定位的,存儲(chǔ)大量tensor的ntm芯片,NTM是以存儲(chǔ)為主并加上了輕量的計(jì)算的新型存儲(chǔ)設(shè)備。
NTM(nural tensor memory)功能如下:
1)芯片的存儲(chǔ)的是大量的固定維度的tensor,規(guī)模至少億*百級(jí)別
2)芯片可以根據(jù)指定的位置信息訪問(wèn)到對(duì)應(yīng)的tensor
3)芯片可以快速給出存儲(chǔ)的tensor與給定的tensor之間的度量向量(按照地址排列),即基于內(nèi)容查找,也就是實(shí)現(xiàn)out=d([store],input)
4)芯片應(yīng)當(dāng)可以指定輕量級(jí)度量計(jì)算過(guò)程
5)配合TPU進(jìn)行Tensor計(jì)算
NTM的意義如下:
???? 當(dāng)下的許多現(xiàn)有的神經(jīng)網(wǎng)絡(luò)應(yīng)用只是基于有限的tensor信息以及網(wǎng)絡(luò)自身信息進(jìn)行的處理,但是實(shí)際上我們需要在應(yīng)用程序中引入更多的外部tensor信息,如知識(shí)圖譜量化的tensor信息,用戶的tensor信息等等,當(dāng)我們要對(duì)大量的外部tensor進(jìn)行attention時(shí)候,cpu與當(dāng)下的gpu顯得有些力不從心,因此基于內(nèi)容尋址的NTM向量?jī)?nèi)存芯片就有其非凡的意義,它可以模擬人的大腦實(shí)現(xiàn)對(duì)大量數(shù)據(jù)的快速聯(lián)想功能,從而避免了現(xiàn)如今的這種需要遍歷數(shù)據(jù)的逐個(gè)計(jì)算的尷尬的低效境地。人腦是通過(guò)共享神經(jīng)元與自動(dòng)創(chuàng)建神經(jīng)元之間的連接來(lái)實(shí)現(xiàn)稀疏編碼,機(jī)器直接實(shí)現(xiàn)這種功能很困難,但我們可以通過(guò)直接存儲(chǔ)大量的分布式編碼來(lái)直接實(shí)現(xiàn)并通過(guò)硬件上的快速分布式計(jì)算來(lái)實(shí)現(xiàn)快速聯(lián)想。當(dāng)我們把大量的事實(shí)分布式編碼tensor存儲(chǔ)在NTM上后,NTM可以很好的實(shí)現(xiàn)人的聯(lián)想能力,如告訴某個(gè)人名快速聯(lián)想某個(gè)人以及人的性格和有關(guān)于他的一切,又或者我們可以輕松的實(shí)現(xiàn)大量相似的事物的聚類(lèi)。
????? 在NTM上我們可以快速的進(jìn)行聯(lián)想功能以及進(jìn)行基于內(nèi)容的查找,當(dāng)然這些在GPU+CPU的當(dāng)下也可以實(shí)現(xiàn),但是這需要遍歷計(jì)算亦或者需要很多數(shù)據(jù)存儲(chǔ)與篩選技巧,這樣做既不可能高效也不優(yōu)雅,更加無(wú)法在大規(guī)模的數(shù)據(jù)情況下做到毫秒級(jí)別的實(shí)現(xiàn),另外這些設(shè)備都是重計(jì)算而不是重在查找與存儲(chǔ)。同樣類(lèi)比于SSD是RAM的外部大量存儲(chǔ),而對(duì)于大量的tensor我們則把它放入TSD,同樣可以進(jìn)行大量的tensor數(shù)據(jù)的基于內(nèi)容查找。有了NTM與TSD最直觀的應(yīng)用是我們很容易實(shí)現(xiàn)基于內(nèi)容理解的快速搜索而不僅僅是基于關(guān)鍵詞的搜索,復(fù)雜應(yīng)用是基于知識(shí)圖譜向量化后的推薦以及對(duì)話問(wèn)答等,更加復(fù)雜的是如果我們把一切信息(文字,圖像,聲音,視頻,數(shù)據(jù)庫(kù),軟件功能入口等)在一個(gè)空間編碼后,我們可以以前所未有的規(guī)模對(duì)一切信息進(jìn)行關(guān)聯(lián)與聚類(lèi)并實(shí)現(xiàn)基于此的快速?gòu)?fù)雜模糊推理進(jìn)而為實(shí)現(xiàn)高度智能的機(jī)器人做基礎(chǔ)。
????? 可惜當(dāng)下并無(wú)看到相關(guān)的存儲(chǔ)芯片研發(fā)報(bào)道又或者大家覺(jué)得根本無(wú)必要亦或者有我等孤陋寡聞。最后我們把AI時(shí)代的一些名詞和PC時(shí)代的做一些對(duì)比來(lái)總結(jié)下。
?? 個(gè)人以為AI時(shí)代是一個(gè)混合時(shí)代,byte與tensor的結(jié)合,精確與模糊的結(jié)合,神經(jīng)網(wǎng)絡(luò)與符號(hào)程序的結(jié)合,CPU和TPU的結(jié)合,
?????????????????? 量化-----Byte---------RAM--------CPU------SSD-----精準(zhǔn),確定-------規(guī)則程序------地址尋址
信息??? <??????? |?????????? |???????????????? |???????????????? |????????????? |???????????????? |??????????????????????? |?????????????????????? |
?????????????????? 表示 ---Tensor-------NTM--------TPU------TSD-----模糊,不確定------神經(jīng)網(wǎng)絡(luò)------內(nèi)容尋址
我們用精確的byte數(shù)據(jù)和規(guī)則構(gòu)建這個(gè)世界各種數(shù)據(jù)之間的明確的硬鏈接,PC時(shí)代這個(gè)鏈接是指針是地址是key。
我們用模糊的tensor數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)來(lái)構(gòu)建這個(gè)世界各種數(shù)據(jù)間模糊的軟連接,AI時(shí)代這個(gè)鏈接是相關(guān)性是attention是測(cè)度。
硬鏈接明確但不靈活,軟連接靈活但不明確,AI時(shí)代我們需要二者結(jié)合構(gòu)建靈活的廣泛鏈接
PC時(shí)代我們關(guān)心如何量化世界與這些數(shù)據(jù)如何應(yīng)用和管理,我們用一系列的規(guī)則化的程序來(lái)完成
AI時(shí)代我們需要關(guān)心如何表示世界,同樣也包括如何應(yīng)用和管理,我們需要加上神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行表示學(xué)習(xí)和應(yīng)用
未來(lái)的AI一定是用大量的不同神經(jīng)網(wǎng)絡(luò)和規(guī)則程序管理著大量的byte規(guī)則類(lèi)事實(shí)數(shù)據(jù)與tensor模糊數(shù)據(jù)
PC時(shí)代我們有程序員+少量經(jīng)驗(yàn)可以構(gòu)建軟件,AI時(shí)代我們需要程序員+大量經(jīng)驗(yàn)數(shù)據(jù)來(lái)構(gòu)建軟件
AI時(shí)代我們完全可以依靠PC時(shí)代的一切+embeding化表示+TPU+NTM+STM來(lái)構(gòu)建一個(gè)能夠應(yīng)對(duì)大量的確定性的與不確定性的系統(tǒng),可以徹底的解決一切依賴經(jīng)驗(yàn)、直覺(jué)、規(guī)則,確定性等非創(chuàng)造非情感的事務(wù),并完全能夠構(gòu)建一個(gè)基于理性系統(tǒng)的真正意義上的智能機(jī)器人(非創(chuàng)造非情感的,不是強(qiáng)AI,個(gè)人觀點(diǎn)強(qiáng)AI還需要量子計(jì)算機(jī)以及神經(jīng)科學(xué)發(fā)展和進(jìn)步),AI時(shí)代的機(jī)器人更加接近機(jī)器之心的MX,而非星際迷航的百科指揮官更非疑犯追蹤的機(jī)器寶寶,相信在不久的二十年內(nèi)這一切將會(huì)成為現(xiàn)實(shí),讓我們一起步入AI時(shí)代吧!
