加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • Transformer只是中間態(tài)?
    • 分治法:AI的經(jīng)典范式?
    • 大模型時(shí)代到來,為何端到端逐漸成為主流?
    • 英偉達(dá)和GPU的遇到的困難?
    • 馮諾依曼架構(gòu)在大模型時(shí)代的困境?
    • Scaling Law能否延續(xù)?
    • 什么是存算一體?
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

AI的未來發(fā)展:分治法在左,端到端在右

05/17 09:55
3639
閱讀需 17 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

陽萌或許是我接觸過的最懂技術(shù)的CEO:他是北大計(jì)算機(jī)本科,碩博連讀機(jī)器學(xué)習(xí)專業(yè),但博士讀了一半就跑了;他是百億營(yíng)收大廠安克創(chuàng)新的創(chuàng)始人,也曾在谷歌做搜索算法的研發(fā);他的公司主要做的是充電寶、掃地機(jī)器人這些消費(fèi)類電子產(chǎn)品,但我們聊的是人工智能芯片等等硬科技。

我梳理了和他對(duì)談的全部?jī)?nèi)容,我們聊了接近兩個(gè)小時(shí),本文是第一篇,他幫我梳理了人工智能的過去、現(xiàn)在、以及未來的發(fā)展方向,我深受啟發(fā)。內(nèi)容有點(diǎn)長(zhǎng),但相信肯定會(huì)對(duì)你有所幫助。我們對(duì)談的視頻版本可以看視頻號(hào),或者點(diǎn)擊文末「閱讀原文」跳轉(zhuǎn)B站觀看。

Transformer只是中間態(tài)?

我本科就很喜歡做機(jī)器學(xué)習(xí),因?yàn)橛X得計(jì)算機(jī)能夠做決策是很酷的一件事情。后來03年博士也讀這個(gè),然后,非常痛苦。

我發(fā)現(xiàn),行業(yè)里每5-10年就會(huì)有個(gè)大牛出來,開天辟地地推出一個(gè)全新的范式。譬如最早的時(shí)候大家做專家系統(tǒng),后來做決策樹,再做Support Vector Machine (SVM)。這有點(diǎn)像大牛發(fā)現(xiàn)了一片礦脈,很多人去挖礦,那幾年大家都很開心,博士們都非常有成果。到2017年出現(xiàn)Transformer,這又是一個(gè)新的范式,大家又挖挖挖,又很感覺很有成果。這幾年我覺得還是一個(gè)比較井噴的狀態(tài),這個(gè)礦脈的大龍的部分還在被挖出來,但是總是會(huì)挖完的。

我覺得,Transformer只是一個(gè)中間狀態(tài)。比如10年、20年之后,大概率我們就不再用Transformer了。這是一個(gè)非常大膽的一個(gè)假設(shè),但我們可以把話放到這,20年以后我們?cè)倩貋砜?。就像同?0年以前,大家說的最多的就是SVM,但我們看今天還有多少人用SVM?

它真的就是長(zhǎng)江后浪推前浪,每一浪都會(huì)有一個(gè)新的范式的出現(xiàn),然后都會(huì)把之前的范式拍死在沙灘上。

分治法:AI的經(jīng)典范式?

如果將所有的范式按照背后解決問題的思路進(jìn)行分類,主要有兩種:一種是基于數(shù)理邏輯和分治法,其目標(biāo)是將問題分解成人類可以理解、公式可以推導(dǎo)的形式,然后再進(jìn)行組合;另一種則是利用大量數(shù)據(jù)訓(xùn)練一個(gè)端到端的模型,類似于黑盒,即使我們能看到其中的參數(shù),但卻無法理解其內(nèi)在邏輯,這種模型是不可解釋的。

這兩種范式代表了兩種不同的派別:一派通過分析問題,使用邏輯和數(shù)學(xué)公式來解決問題;另一派則直接利用大數(shù)據(jù)訓(xùn)練出網(wǎng)絡(luò)模型來解決問題,而無需理解其內(nèi)部機(jī)制。

中國(guó)有句古話“知其然,知其所以然”,分治法可以被視為最通用的“知其所以然”的方式。當(dāng)人類使用自己能理解的方式解決問題時(shí),這似乎是其唯一的方法。

以計(jì)算機(jī)科學(xué)為例,如自然語言處理領(lǐng)域,搜索一個(gè)詞的第一步通常是進(jìn)行分詞,因?yàn)檎挝谋緹o法進(jìn)行檢索。分詞后,我們會(huì)對(duì)詞匯進(jìn)行特征提取,例如詞頻的高低,然后基于這些分詞和特征進(jìn)行搜索、翻譯等更高級(jí)的操作。

另一個(gè)例子是自動(dòng)駕駛技術(shù)。自動(dòng)駕駛本質(zhì)上是一種機(jī)器人技術(shù),第一步是感知,也就是識(shí)別周圍環(huán)境中的各種元素。第二步是規(guī)劃,也就是確定要執(zhí)行的任務(wù)以及如何與周圍環(huán)境協(xié)同或在其中移動(dòng)。第三步是控制,比如實(shí)際操作車輛怎么去加速、轉(zhuǎn)向等。

深度學(xué)習(xí)或端到端算法出現(xiàn)之前,除了分治法,我們幾乎沒有其他方法來解決這些問題。

因此,我們發(fā)現(xiàn),如果沒有分治法,人類似乎無法解決問題。也就是說,分治法是人類理性解決問題的必經(jīng)之路

大模型時(shí)代到來,為何端到端逐漸成為主流?

我在2003年攻讀博士學(xué)位時(shí)研究決策樹(Decision Tree),發(fā)現(xiàn)這是一個(gè)典型的分治法應(yīng)用。決策樹可以在一個(gè)數(shù)據(jù)集上輕易達(dá)到70%至80%的準(zhǔn)確率,但它的天花板就在那了。雖然可以通過各種各樣的技巧,比如增加擾動(dòng)、使用多個(gè)決策樹等方法來提高一些性能,但是再往上就上不去了。

這是因?yàn)榉种畏ǖ膭傂缘谋举|(zhì),打破了很多問題本身的一些柔性聯(lián)系。

當(dāng)我們?cè)趦蓚€(gè)步驟之間設(shè)定了一個(gè)非常明確和精確的邊界時(shí),這些柔性的聯(lián)系就被切斷了。我這個(gè)感受后來在工作里很多地方都被印證出來,比如做搜索時(shí),用的就是典型的分治法。當(dāng)時(shí)谷歌內(nèi)部有一套完整的評(píng)價(jià)體系,用百分制來評(píng)價(jià)一個(gè)搜索詞最后的效果。大約在2007年,谷歌的搜索效果可以達(dá)到64到65分,高出雅虎接近8分。但即使到了2024年,谷歌的分?jǐn)?shù)可能也還在70分左右。

換句話說就是,分治法可以迅速達(dá)到70%到80%的水平,但之后就會(huì)遇到瓶頸,再也上不去了。

在應(yīng)用分治法的過程里,我也發(fā)現(xiàn)很多有意思的事情。第一,分治法是一個(gè)非?!俺?a class="article-link" target="_blank" href="/tag/%E5%B7%A5%E7%A8%8B%E5%B8%88/">工程師”的方法。因?yàn)槿魏我粋€(gè)大問題,每向下細(xì)分一層,就意味著需要更多的團(tuán)隊(duì)和工程師來研究更細(xì)分的問題。所以,我當(dāng)年在谷歌時(shí),知道很多冷知識(shí),例如日語的某些詞如何分詞、阿拉伯語的一些特殊情況應(yīng)該怎么處理等。今天你會(huì)發(fā)現(xiàn),換到自動(dòng)駕駛領(lǐng)域里邊也是一樣的。

使用分治法的時(shí)候,問題被細(xì)分后就變成了一個(gè)小眾領(lǐng)域,很容易進(jìn)入牛角尖,然后在牛角尖里面再往里面鉆,其實(shí)花了可能很多博士的很多時(shí)間,研究了很多數(shù)據(jù),去寫一篇論文。但是,今天隨著端到端算法的出現(xiàn),這些博士們當(dāng)時(shí)的很多工作可能就失去了意義,變得不再重要。就像今天,我那些冷門的、怎么把詞分好的知識(shí)已經(jīng)沒有人會(huì)感興趣去購買了。

再來看自然語言處理,這是一個(gè)龐大的領(lǐng)域,過去至少培養(yǎng)了3萬個(gè)以上的博士(按每年1000個(gè)算,30年3萬個(gè))。但這些博士都是在分治法的框架下,解決了很多具體問題,可能也掌握了許多冷門知識(shí)。但是,隨著端到端的大模型的出現(xiàn),這些冷門知識(shí)不再被需要了。這3萬個(gè)博士投入了幾年、十幾年不等的人生,可能就再也沒有價(jià)值了。

所以我也很慶幸,當(dāng)時(shí)博士讀了一半就跑了。

英偉達(dá)和GPU的遇到的困難?

前幾次算法的迭代并沒有摧毀一個(gè)行業(yè),比如在深度學(xué)習(xí)時(shí)代,自然語言處理仍然存在。只是這一輪基于Transformer的大語言模型出來,才真正把自然語言處理這個(gè)行業(yè)給“摧毀”了。所以,我們發(fā)現(xiàn)最近這一輪算法范式的迭代實(shí)際上跟芯片和硬件息息相關(guān)。

或者應(yīng)該這么說,就這一輪“毀天滅地”的算法迭代,是跟GPU這樣的硬件互為因果的。

因?yàn)闆]有GPU,就不可能產(chǎn)生Transformer。換句話說,只有在GPU上,Transformer這樣的算法才能在大規(guī)模數(shù)據(jù)上得到實(shí)現(xiàn)。

之前黃仁勛請(qǐng)了Transformer 的所有的發(fā)明人,他們?cè)谝黄鹜_(tái)相互惺惺相惜了一下,有點(diǎn)像是兩組人一起開創(chuàng)歷史,然后在今天這個(gè)歷史時(shí)刻大家在一起擁抱一下那種感覺。

如果你打開英偉達(dá)的 GPU ,會(huì)發(fā)現(xiàn)現(xiàn)在GPU中間貼著一小塊運(yùn)算核心,主要負(fù)責(zé)計(jì)算矩陣乘法;外面貼著4塊或8塊高帶寬內(nèi)存HBM。這個(gè)架構(gòu)就是把幾十億、幾百億個(gè)模型參數(shù)存在兩端的內(nèi)存里。

當(dāng)任務(wù)進(jìn)來的時(shí)候,這些參數(shù)被搬到中間的計(jì)算核心去做矩陣乘法計(jì)算,計(jì)算完之后然后再寫回去。所以,每一次計(jì)算都是要經(jīng)歷把所有的參數(shù)從內(nèi)存里搬到計(jì)算中心,算完然后再拿出來的過程。

馮諾依曼架構(gòu)在大模型時(shí)代的困境?

馮諾依曼架構(gòu)和分治法就是一對(duì)最佳搭檔。我們通過分治法解決問題,然后把它表達(dá)成為程序,編寫出來的就是一行行的代碼,分成一個(gè)個(gè)的函數(shù),它們會(huì)相互調(diào)用。但在分治法中,一段時(shí)間內(nèi)實(shí)際上只運(yùn)行一段代碼,也就是說,一段時(shí)間內(nèi)我們只在解決某一個(gè)子問題。所以,當(dāng)年馮諾依曼發(fā)明了這樣的架構(gòu),就是把數(shù)據(jù)和程序都寫在內(nèi)存里,然后分治法每運(yùn)行到哪一步,就把對(duì)應(yīng)的程序和數(shù)據(jù)加載到CPU里中。

所以,馮諾依曼架構(gòu)的核心,就是區(qū)分了計(jì)算器和存儲(chǔ)器。代碼存儲(chǔ)在存儲(chǔ)器中,分治法運(yùn)行到哪一步,就把那一步的代碼加載到計(jì)算器里去運(yùn)行,運(yùn)算完成后再取出來。

這么多年過去,我們的計(jì)算機(jī)越來越先進(jìn),但它的L1 Cache 始終維持在幾百KB,因?yàn)闆]有必要再增加,任何一段程序也不會(huì)超過這個(gè)大小。每次加載到處理器中的程序,幾十KB、100KB就足夠了。

但你會(huì)發(fā)現(xiàn),今天的Transformer大模型是截然相反的。因?yàn)門ransformer是基于分治法的反面,也就是黑盒的端到端解法。它表現(xiàn)出來的不是一段一段去解決問題,而是表現(xiàn)出了整體800億個(gè)參數(shù);也不是每次都從800億個(gè)參數(shù)里面加載一小部分去運(yùn)算,而是每次都需要將800億個(gè)參數(shù)完整地加載進(jìn)去,然后算完再出來。

所以,這個(gè)過程實(shí)際上不應(yīng)該再使用之前的馮諾依曼架構(gòu)了,否則就會(huì)遇到英偉達(dá)今天面臨的困難和挑戰(zhàn)。英偉達(dá)現(xiàn)在90%以上的時(shí)間都在做數(shù)據(jù)搬運(yùn),只有不到10%的時(shí)間真正用于矩陣乘法計(jì)算。

前段時(shí)間還聽到一個(gè)有趣的段子,說英偉達(dá)推出了算力經(jīng)過嚴(yán)重“閹割”的顯卡,但如果你把足夠多的顯卡并聯(lián)起來去做訓(xùn)練,它的整體算力是不會(huì)下降的。因?yàn)楸M管單卡的算力降低了,但當(dāng)很多卡連接在一起時(shí),大部分功夫都花在了數(shù)據(jù)搬運(yùn)上,因此即使算力降低,性能也不會(huì)受到影響。因?yàn)槠款i在數(shù)據(jù)搬運(yùn)而不在計(jì)算上。

Scaling Law能否延續(xù)?

當(dāng)前GPU技術(shù)正向更先進(jìn)的制程走,從5納米到3納米,再到1納米,還能提高多少是需要打一個(gè)問號(hào)的。我對(duì)這條路線整體比較悲觀,并不是說性能提升已達(dá)極限,而是覺得目前處理問題的方法在本質(zhì)上存在誤區(qū)。

對(duì)大型模型來說,尤其是在推理端,還要再沿用馮諾依曼架構(gòu)把數(shù)據(jù)和處理分開嗎?我們可以類比人腦:人腦同樣擁有約800億個(gè)神經(jīng)元,但運(yùn)作起來功耗只有不到20瓦,而在英偉達(dá)的芯片上運(yùn)行具有800億參數(shù)的模型,耗電量至少在兩三千瓦以上。這中間的核心差異在于,人腦不需要搬移數(shù)據(jù)的。

假設(shè)人腦采用馮諾依曼架構(gòu),所有知識(shí)和記憶存在左腦,所有的處理活動(dòng)發(fā)生在右腦,每次你看見、聽到的東西在右腦進(jìn)來,然后把數(shù)據(jù)從左腦搬到右腦去處理,再將處理結(jié)果寫回去,覺得這樣的腦子會(huì)燒掉嗎?所以我想說,馮諾依曼架構(gòu)最適合解決我們說的分制法的算法問題,但它不適合解決端到端的問題

人類過去用分治法解決問題,在計(jì)算機(jī)里表現(xiàn)出來就是程序。而馮諾伊曼架構(gòu)把所有的程序存在存儲(chǔ)器里邊,然后每次執(zhí)行到一步就加載一部分到計(jì)算器里邊去運(yùn)行,這樣的架構(gòu)非常適合去運(yùn)行分治法產(chǎn)生的程序。

如果我們分三層,最底下一層是解題思路分治法,往上一層是對(duì)應(yīng)的表現(xiàn)形式,也就是程序,最上面硬件,過去 70 年里就是馮諾依曼架構(gòu)的CPU。所以,分治法、程序和馮諾依曼架構(gòu)的CPU,共同構(gòu)成了一個(gè)時(shí)代。

從這個(gè)視角看的話,英偉達(dá)和Transformer模型開創(chuàng)了一個(gè)新時(shí)代。它的底層不再是分治法了,而是端到端的算法。中間的表現(xiàn)層是大模型,再往上一層運(yùn)行這些模型的芯片已經(jīng)不再是傳統(tǒng)的馮諾依曼架構(gòu)了,而是把內(nèi)存與計(jì)算單元緊密結(jié)合的近存計(jì)算架構(gòu),也就是我們今天所說的GPU。

為什么我們說中間這樣的時(shí)代也大概率會(huì)被被拍死在沙灘上呢?其實(shí)大模型和幾百億個(gè)參數(shù)的端到端模型,是否應(yīng)該被運(yùn)行在一個(gè)存和算分離的芯片上,這仍存在疑問。它最理想的運(yùn)行方式一定是像我們的大腦一樣,在同一個(gè)神經(jīng)元里邊存著知識(shí)和做計(jì)算,也就是存算一體。所以,我們相信,在未來幾年內(nèi),一定會(huì)出現(xiàn)存和算一體的芯片。

什么是存算一體?

人腦的一個(gè)神經(jīng)元其實(shí)是存著一些信息的,每一次計(jì)算的話,電信號(hào)又會(huì)通過它進(jìn)行計(jì)算。也就是說,存儲(chǔ)信息和進(jìn)行計(jì)算在同一個(gè)神經(jīng)元里發(fā)生。

所以如果在現(xiàn)在計(jì)算機(jī)的存儲(chǔ)單元上,能再加上計(jì)算的邏輯,也就是同一個(gè)單元既存儲(chǔ)又計(jì)算,那我想這樣結(jié)構(gòu)的芯片其實(shí)是非常適合運(yùn)行大模型算法的。

我相信運(yùn)行一個(gè)幾百億參數(shù)的大模型,最好的架構(gòu)一定是存算一體的架構(gòu),因?yàn)樗苊饬怂械臄?shù)據(jù)的搬運(yùn)。過去為什么我們沒有做出存算一體的架構(gòu)?其實(shí)也是因?yàn)檫^去都是分治法。它其實(shí)不太需要在存儲(chǔ)單元里邊進(jìn)行計(jì)算。但當(dāng)你去認(rèn)真地研究怎么在存儲(chǔ)單元里做計(jì)算的時(shí)候,這件事情我相信幾年下來就會(huì)有很大的突破。

我其實(shí)是很相信仿生的。無論從大模型、還是像存算一體的芯片算法和硬件的發(fā)展,其實(shí)都是在朝一個(gè)仿生的方向在走。那觀察人腦的時(shí)候不難發(fā)現(xiàn),其實(shí)腦子不只是在存儲(chǔ)知識(shí),不只是在推理,腦子還在每一次推理的過程中間訓(xùn)練自己,所以它本質(zhì)上是一個(gè)存算訓(xùn)一體的東西。

但今天的芯片在不停搬運(yùn)數(shù)據(jù)的時(shí)候,其實(shí)我們是沒有功夫再去修改這個(gè)模型的參數(shù)的,因?yàn)槲覀兯械墓Ψ蛞呀?jīng)花在把那800億個(gè)參數(shù)搬來搬去上面了。所以我們沒有功夫再去操心說怎么調(diào)整一下參數(shù),讓它變得更好。但一旦出現(xiàn)存算一體的芯片,也就是那些參數(shù)再也不搬了,然后每次推理就是走一遍的時(shí)候,我們是不是空出的腦子就可以利用積累的知識(shí)來更新一下模型的參數(shù)。

所以,我相信在存算一體的芯片上,一定會(huì)誕生新一代的、不再是Transformer的全新算法,而這一代全新的算法可能會(huì)超越存算的界限,可能會(huì)一邊運(yùn)行一邊進(jìn)化自己,但這也是個(gè)非??植赖氖虑椤?/p>

下一篇,我們會(huì)討論AI的落地、應(yīng)用、以及為何陽萌和安克會(huì)對(duì)AI有這么深入的思考。關(guān)注我,下篇見。

(注:本文不代表老石任職單位的觀點(diǎn)。)

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
STM32F401VET6 1 STMicroelectronics High-performance access line, Arm Cortex-M4 core with DSP and FPU, 512 Kbytes of Flash memory, 84 MHz CPU, ART Accelerator

ECAD模型

下載ECAD模型
$10.53 查看
STM32F407VGT6 1 STMicroelectronics High-performance foundation line, Arm Cortex-M4 core with DSP and FPU, 1 Mbyte of Flash memory, 168 MHz CPU, ART Accelerator, Ethernet, FSMC

ECAD模型

下載ECAD模型
$20.39 查看
ATMEGA328P-MU 1 Microchip Technology Inc IC MCU 8BIT 32KB FLASH 32VQFN

ECAD模型

下載ECAD模型
$2.5 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

微信公眾號(hào)“老石談芯”主理人,博士畢業(yè)于倫敦帝國(guó)理工大學(xué)電子工程系,現(xiàn)任某知名半導(dǎo)體公司高級(jí)FPGA研發(fā)工程師,從事基于FPGA的數(shù)據(jù)中心網(wǎng)絡(luò)加速、網(wǎng)絡(luò)功能虛擬化、高速有線網(wǎng)絡(luò)通信等領(lǐng)域的研發(fā)和創(chuàng)新工作。曾經(jīng)針對(duì)FPGA、高性能與可重構(gòu)計(jì)算等技術(shù)在學(xué)術(shù)界頂級(jí)會(huì)議和期刊上發(fā)表過多篇研究論文。