技術編輯:王治治丨發自 思否第四大道
SegmentFault 思否報道丨公衆號:SegmentFault算法
近日,Google AI 負責人傑夫•迪恩(Jeff Dean)和谷歌研究部門、谷歌芯片實現和基礎設施團隊共同撰寫了一篇論文,論文中描述了一種基於學習的芯片設計方法,並聲稱能夠平均在 6 個小時內完成芯片的設計。segmentfault
據悉,這項研究基於谷歌於 3 月份發表的一篇論文的基礎上進行,並對當時提出的技術方向作了推動。框架
該論文的發佈,意味着片上晶體管的放置能夠在很大程度上實現自動化。若是技術成果能夠公開發表,那麼這項技術可讓資金緊張的初創公司開發出本身的芯片,用來進行人工智能或其餘行業的研究應用。此外,該技術還能夠幫助縮短芯片的設計週期,使硬件可以更好地適應理論研究的快速發展。機器學習
傑夫•迪恩在去年年末的一次採訪中曾透露過這一項技術,並介紹到"從你想要的設計,到實際將其鋪設在芯片上,並在面積、功率和線長等方面有適當的限制,知足全部的設計或製造過程,這是一個持續很長時間的過程,而咱們基本上設計出了一款機器學習模型,它能夠學習如何爲一個特定的芯片進行元件佈局。"函數
該 AI 模型的方法旨在將邏輯門、存儲器和更多的網格圖放置到芯片畫布上,從而使設計在遵照放置密度和路由擁塞限制的同時,優化功耗、性能和麪積(PPA)。圖譜的大小從幾百萬到幾十億個節點組成的集羣不等,一般狀況下,評估目標指標須要數小時到一天以上的時間。佈局
該框架經過指導一個經過強化學習訓練的模型來優化芯片的佈局,進而給出網表、當前要放置的節點的 ID,以及網表和半導體技術的元數據,一個策略 AI 模型會輸出一個機率分佈在可用放置位置上的機率分佈,而一個價值模型則估計當前放置的預期效果。性能
在實踐中,從空芯片開始,到上面提到的模型按順序放置組件,直到完成網表,直到最後纔會獲得波長(與功率和性能相關)和擁擠度的負加權總和(受密度限制)。爲了指導模型選擇先放置哪些組件,組件按大小排序;先放置較大的組件能夠減小之後沒有可行的放置的可能性。學習
訓練該模型須要建立一個由 10,000 個芯片放置的數據集,其中輸入是與給定放置相關的狀態,標籤是放置的補償效果(即線長和擁擠)。研究人員經過首先挑選 5 個不一樣的芯片網表進行構建,並對其應用 AI 算法,爲每一個網表建立 2000 個不一樣的放置狀態。優化
在實驗中,研究者報告表示隨着他們在更多的芯片上訓練該框架,他們可以加快訓練過程,更快地產生高質量的結果。事實上,他們聲稱,與領先的基線相比,該框架在 TPU 上實現了極佳的 PPA。人工智能
"與現有的方法不一樣的是,咱們的工做利用了從放置以前的芯片中得到的知識來優化每一個新芯片的放置,使其隨着時間的推移變得更好,"研究人員總結道。"此外,咱們的方法能夠直接優化目標指標,如線長、密度和擁擠度等,而無需像其餘方法那樣定義函數。當新的成本函數出現時,咱們的公式不只能夠很容易地將其歸入,並且還能夠根據給定芯片塊的需求(例如,時序關鍵型或功率受限型)對其相對重要性進行加權。"
資料來源:
Venturebeat:《Google claims its AI can design computer chips in under 6 hours》