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