谷歌利用人工智能設計的芯片揭示了智能的本質

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"italic"},{"type":"size","attrs":{"size":10}},{"type":"strong"}],"text":"本文最初發表於 TechTalks 網站,經原作者 Ben Dickson 授權,InfoQ 中文站翻譯並分享。本文是TechTalks 對"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/tag\/ai-research-papers\/","title":"","type":null},"content":[{"type":"text","marks":[{"type":"italic"}],"text":"人工智能研究論文的評論文章"}],"marks":[{"type":"italic"},{"type":"size","attrs":{"size":10}},{"type":"strong"}]},{"type":"text","marks":[{"type":"italic"},{"type":"size","attrs":{"size":10}},{"type":"strong"}],"text":"之一,這個系列主要探索人工智能領域的最新發現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"InfoQ 中文站曾經翻譯並分享過《"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/UGcbksi2QB8G3TkkLljm","title":"","type":null},"content":[{"type":"text","text":"谷歌的深度學習在 AI 芯片中找到了一條關鍵路徑"}]},{"type":"text","text":"》,該文介紹了 ZDNet 與谷歌大腦總監 Jeff  Dean 談到谷歌如何使用人工智能來推進定製芯片的內部開發,從而加快軟件開發。使用人工智能設計芯片來運行人工智能,這本身是一件非常有意思的事。本文作者探討了他對谷歌使用人工智能爲人工智能設計芯片的思考。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上個星期,在同行評審的科學雜誌《自然》(Nature)上發表的一篇論文,谷歌大腦的科學家提出了一項"},{"type":"link","attrs":{"href":"https:\/\/www.nature.com\/articles\/s41586-021-03544-w","title":"","type":null},"content":[{"type":"text","text":"深度強化學習技術"}]},{"type":"text","text":",可以用於布圖規劃(floorplan),即安排計算機芯片上不同元件的放置過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"譯註"},{"type":"text","text":":布圖規劃是在集成電路設計(特別是其中的物理設計步驟)對於電路主要功能模塊在試驗性佈局中的圖形表示。它是物理設計後續過程,即精確佈線的前提。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"研究人員試圖用強化學習技術來設計下一代的張量處理器,也就是谷歌的人工智能處理器。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"使用軟件進行芯片設計並非新鮮事。但據谷歌研究人員稱,這種新的強化學習模型“能自動生成芯片平面圖,這些圖在所有關鍵指標上都優於或可匹敵由人類繪製的平面圖,包括功耗、性能和芯片面積。”並且它只花了人類所需時間的一小部分。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人工智能在性能上優於人類的特性已經引起了廣泛的關注。一家媒體將其描述爲“能夠比人類更快地設計計算機芯片的人工智能軟件”,並寫道:“一款需要人類花費數月來設計的芯片,谷歌的一種新的人工智能在六個小時內就能實現。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外一家媒體寫道:“人工智能爲人工智能設計芯片的良性循環似乎剛剛起步。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是讀了這篇論文後,讓我喫驚的,不是用於設計計算機芯片的人工智能系統的複雜性,而是人類和人工智能之間的協同。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"類比、直覺和獎勵"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/c3\/76\/c3b8bba226181bd794e77d6db8b21076.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這篇論文是這樣描述這個問題的:“芯片布圖規劃涉及到在芯片畫布(二維網格)上放置網表,以優化性能指標(例如,功耗、時序、面積和佈線長度),同時又要遵守佈線密度和布通率的硬約束條件。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基本上,你要做的就是以最優化的方式放置元件。但是,和其他問題一樣,隨着芯片中元件數量的增加,尋找最佳設計變得越來越困難。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現有的軟件有助於加快發現芯片排列的過程,但是,如果目標芯片越來越複雜,就會產生問題。研究人員決定從"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/2019\/05\/28\/what-is-reinforcement-learning\/","title":"","type":null},"content":[{"type":"text","text":"強化學習"}]},{"type":"text","text":"的方法中汲取經驗,以解決其他複雜的空間問題,例如圍棋。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"研究人員寫道:“芯片布圖規劃"},{"type":"text","marks":[{"type":"strong"}],"text":"類似"},{"type":"text","text":"於一場遊戲,其中存在不同的棋子(例如網表拓撲結構、宏計數、宏大小和長寬比)、棋盤(不同的畫布尺寸和長寬比)和勝負條件(不同評估指標的相對重要性或不同的佈線密度和布通率限制)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在人類智慧中,這是一個最重要也是最複雜的方面:"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/2020\/07\/13\/ai-barrier-meaning-understanding\/","title":"","type":null},"content":[{"type":"text","text":"類比"}]},{"type":"text","text":"。我們人類能從自己解決的問題中提取出抽象的東西,然後再把抽象運用到新問題上。儘管我們把這些技能視爲理所當然,但正是這些技能,讓我們在遷移學習方面做得很好。因此,研究人員可以把芯片的布圖規劃問題重新設計成一種棋盤遊戲,而用其他科學家解決圍棋遊戲的方法來解決它。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"深度強化學習模型可以特別擅長於在很大的空間內進行搜索,這在物理上是無法實現的,因爲人類大腦的計算能力決定了。然而,科學家們面臨的問題比圍棋要複雜幾個數量級。“將 1000 個節點集羣放置在由 1000 個單元組成的網格中的狀態空間是 1000 的數量級!(大於 10²⁵⁰⁰),而圍棋的狀態空間爲 10³⁶⁰。”研究人員寫道。他們想要設計的芯片將由數百萬個節點組成。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他們使用"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/2019\/08\/05\/what-is-artificial-neural-network-ann\/","title":"","type":null},"content":[{"type":"text","text":"人工神經網絡"}]},{"type":"text","text":"來解決複雜的問題,這種網絡可以將芯片設計編碼爲向量表示,從而使探索問題空間更容易。根據這篇論文,“我們的直覺(重點在於我的直覺)表明,一種能夠完成芯片放置的常規工作的策略,也應該能在推理過程中,將與新的未知芯片有關的狀態編碼成有意義的信號。所以,我們訓練了一個神經網絡架構,它可以預測放置有獎勵的新網表,最終目標是把這個架構作爲我們策略的編碼層。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"直覺(intuition)這個詞常被隨意使用。但直覺是一個很"},{"type":"link","attrs":{"href":"https:\/\/en.wikipedia.org\/wiki\/Intuition","title":"","type":null},"content":[{"type":"text","text":"複雜的鮮爲人知的過程"}]},{"type":"text","text":",包括經驗、潛意識知識、模式識別等等。我們的直覺來自於多年來在某一領域的研究,但也可以從其他領域的經驗中得到。幸運的是,在高功率計算和"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/2017\/08\/28\/artificial-intelligence-machine-learning-deep-learning\/","title":"","type":null},"content":[{"type":"text","text":"機器學習工具"}]},{"type":"text","text":"的幫助下,將這些直覺用於測試變得更加容易。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,值得注意的是,強化學習系統要求有周密設計的獎勵。實際上,一些科學家認爲,只要有正確的獎勵功能,強化學習就足以使通用人工智能成爲現實。但是,如果沒有正確的獎勵,強化學習智能體就會陷入無休止的循環之中,做出一些愚蠢而無意義的事情。在下面的視頻中,一個玩《賽船冠軍賽》(Coast Runners)電子遊戲的強化學習智能體正在試圖使其積分最大化,而放棄了主要目標——贏得比賽。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/0f\/c2\/0f58134f1975f9036e848be6ddc5dac2.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"視頻鏈接:https:\/\/youtu.be\/tlOIHko8ySg"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"谷歌的科學家將布圖規劃系統的獎勵設計爲“代理佈線長度、布通率和佈線密度的負加權和”。在開發和訓練強化學習模型時,這些權重是他們必須調整的超參數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過正確的獎勵,強化學習模型可以充分發揮它的計算能力,找到各種方式設計平面圖,使獎勵最大化。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"策劃數據集"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"該系統中使用的深度神經網絡是使用"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/2020\/02\/10\/unsupervised-learning-vs-supervised-learning\/","title":"","type":null},"content":[{"type":"text","text":"監督學習"}]},{"type":"text","text":"開發的。監督機器學習需要標記數據,以便在訓練期間調整模型的參數。谷歌的科學家創建了“一個包含 10000 個芯片放置的數據集,其中輸入是與特定放置相關的狀態,標籤是該放置的獎勵”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲避免手動創建每個平面圖,研究人員結合了人類設計的平面圖和計算機生成的數據。對於訓練數據集中所包含的算法生成例子的評估,需要多少人力,論文中並沒有給出太多信息。但是,沒有高質量的訓練數據,監督學習模型最終將做出糟糕的推斷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這個意義上,該人工智能系統不同於其他強化學習程序,例如 AlphaZero,它開發的遊戲策略無需人類參與。將來,研究人員可能會開發一種強化學習智能體,它可以設計自己的平面圖,而無需監督學習組件。但是我猜想,由於問題的複雜性,解決這類問題很有可能會繼續要求整合人類直覺、機器學習和高性能計算。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"強化學習設計與人類設計"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在谷歌研究人員提出的工作中,有趣的方面是芯片的佈局。我們人類使用各種捷徑來克服大腦的極限。我們無法在一個大塊中解決複雜的問題。但我們可以設計模塊化、分層次的系統來對複雜的問題進行劃分和求解。在開發能夠執行非常複雜任務的系統時,我們考慮並設計自頂向下架構的能力起了重要作用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我舉一個軟件工程的例子,這是我自己的專業領域。從理論上講,你可以在一個文件中用非常大的、連續的命令流來編寫整個程序。但軟件開發人員從來不會這麼寫他們的程序。我們所創建的軟件都是小塊的,函數、類、模塊,它們可以通過明確定義的接口進行交互。接着,我們將這些小塊嵌套到較大的小塊中,逐漸地形成一個元件的層次結構。你不必閱讀程序的每一行,就能理解其功能。模塊化使得多個程序員能夠在同一個程序上工作,也使得一些程序可以重複使用先前構建的組件。有時候,僅僅是看看程序的類架構就足夠了,它可以爲你指出正確的方向,找出錯誤,或者找到增加升級的正確位置。我們經常以速度換取模塊化和更好的設計。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從某種意義上說,計算機芯片的設計也有類似的問題。人類設計的芯片往往在不同的模塊之間有整齊的界線。而谷歌的強化學習智能體所設計的平面圖,無論佈局看上去如何(見下圖),都已找到最小阻力路徑。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/c1\/62\/c192d1e8d396bf68989158cd1bc5fe62.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"左圖爲人類設計的芯片,右圖爲人工智能設計的芯片"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這是否會成爲一種可持續的設計模式,還是需要在高度優化的機器學習產生的設計與人類工程師強加的自頂而下的順序之間作出某種妥協,我很好奇。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"人工智能 + 人類智能"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"正如谷歌的強化學習驅動的芯片設計者所展示的,人工智能硬件和軟件的創新將繼續需要抽象思維,"},{"type":"link","attrs":{"href":"https:\/\/bdtechtalks.com\/2021\/03\/29\/ai-algorithms-representations-herbert-roitblat\/","title":"","type":null},"content":[{"type":"text","text":"找到要解決的正確問題"}]},{"type":"text","text":",培養對解決方案的直覺,以及選擇正確的數據來驗證解決方案。這些都是更好的人工智能芯片可以加強但不能取代的技能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"總之,我不認爲這是一個“人工智能戰勝人類”、“人工智能創造更智能的人工智能”或人工智能發展了“遞歸自我完善”能力的故事。相反,人類可以利用人工智能作爲工具來克服自身的認知極限,並擴展自身能力的表現。假如存在良性循環,那就是人工智能和人類找到更好的合作方式。"}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"作者介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Ben Dickson,軟件工程師,也是 TechTalks 的創始人。撰寫關於技術、商業和政治方面的文章。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/bdtechtalks.com\/2021\/06\/14\/google-reinforcement-learning-ai-chip-design\/"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章