0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機器學(xué)習(xí)如何影響計算機硬件設(shè)計1

jf_78858299 ? 來源:OneFlow 沈佳麗、胡燕君、賈 ? 作者:OneFlow ? 2023-02-20 14:16 ? 次閱讀

前 言

為什么芯片設(shè)計需要很長時間?能不能加速芯片設(shè)計周期?能否在幾天或幾周之內(nèi)完成芯片的設(shè)計?這是一個非常有野心的目標(biāo)。過去十年,機器學(xué)習(xí)的發(fā)展離不開系統(tǒng)和硬件的進(jìn)步,現(xiàn)在機器學(xué)習(xí)正在促使系統(tǒng)和硬件發(fā)生變革。

Google在這個領(lǐng)域已率先出發(fā)。在第58屆DAC大會上,Google AI負(fù)責(zé)人Jeff Dean分享了《機器學(xué)習(xí)在硬件設(shè)計中的潛力》,他介紹了神經(jīng)網(wǎng)絡(luò)發(fā)展的黃金十年,機器學(xué)習(xí)如何影響計算機硬件設(shè)計以及如何通過機器學(xué)習(xí)解決硬件設(shè)計中的難題,并展望了硬件設(shè)計的發(fā)展方向。

他的演講重點在于Google如何使用機器學(xué)習(xí)優(yōu)化芯片設(shè)計流程,這主要包括架構(gòu)搜索和RTL綜合、驗證、布局與布線(Placement and routing)三大階段。在架構(gòu)搜索階段,Google提出了FAST架構(gòu)自動優(yōu)化硬件加速器的設(shè)計,而在驗證階段,他們認(rèn)為使用深度表示學(xué)習(xí)可提升驗證效率,在布局與布線階段,則主要采用了強化學(xué)習(xí)技術(shù)進(jìn)行優(yōu)化。

以下是他的演講內(nèi)容:

1

神經(jīng)網(wǎng)絡(luò)的黃金十年

制造出像人一樣智能的計算機一直是人工智能研究人員的夢想。而機器學(xué)習(xí)是人工智能研究的一個子集,它正在取得很多進(jìn)步?,F(xiàn)在大家普遍認(rèn)為,通過編程讓計算機變得“聰明”到能觀察世界并理解其含義,比直接將大量知識手動編碼到人工智能系統(tǒng)中更容易。

神經(jīng)網(wǎng)絡(luò)技術(shù)是一種非常重要的機器學(xué)習(xí)技術(shù)。神經(jīng)網(wǎng)絡(luò)一詞出現(xiàn)于1980年代左右,是計算機科學(xué)術(shù)語中一個相當(dāng)古老的概念。雖然它當(dāng)時并沒有真正產(chǎn)生巨大的影響,但有些人堅信這是正確的抽象。

本科時,我寫了一篇關(guān)于神經(jīng)網(wǎng)絡(luò)并行訓(xùn)練的論文,我認(rèn)為如果可以使用64個處理器而不是一個處理器來訓(xùn)練神經(jīng)網(wǎng)絡(luò),那就太棒了。然而事實證明,我們需要大約100萬倍的算力才能讓它真正做好工作。

2009年前后,神經(jīng)網(wǎng)絡(luò)技術(shù)逐漸火熱起來,因為我們開始有了足夠的算力讓它變得有效,以解決現(xiàn)實世界的問題以及我們不知道如何解決的其他問題。2010年代至今是機器學(xué)習(xí)取得顯著進(jìn)步的十年。

是什么導(dǎo)致了神經(jīng)網(wǎng)絡(luò)技術(shù)的變革?我們現(xiàn)在正在做的很多工作與1980年代的通用算法差不多,但我們擁有越來越多的新模型、新優(yōu)化方法等,因此可以更好地工作,并且我們有更多的算力,可以在更多數(shù)據(jù)上訓(xùn)練這些模型,支撐我們使用更大型的模型來更好地解決問題。

在探討設(shè)計自動化方面之前,我們先來看看一些真實世界的例子。首先是語音識別。在使用深度學(xué)習(xí)方法之前,語音識別很難得到實際應(yīng)用。但隨后,使用機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)技術(shù),大幅降低了詞語的識別錯誤率。

幾年后,我們將錯誤率降低到5%左右,讓語音識別更加實用,而現(xiàn)在,在不聯(lián)網(wǎng)的設(shè)備里,我們都可以做到僅僅4%左右的錯誤率。這樣的模型被部署在人們的手機里面,隨時隨地幫助人們識別自己的語音。

圖片

計算機視覺方面也取得了巨大的進(jìn)步。2012年左右,Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton在ImageNet比賽中首次使用了AlexNet,錯誤率得到顯著降低,并在當(dāng)年奪得桂冠。

后一年的ImageNet比賽中,幾乎所有參賽者都使用深度學(xué)習(xí)方法,研究人員則進(jìn)一步放棄了傳統(tǒng)的方法。其中,2015年,由何愷明等微軟研究人員提出ResNet更進(jìn)一步降低了錯誤率。

當(dāng)時的斯坦福大學(xué)研究生Andrej Karpathy正在幫助運營ImageNet比賽,他想知道如果人工識別這項艱難的任務(wù),錯誤率會是多少。在上千個類別中有40種狗,你必須能夠看著一張照片說:“哦,那是一只羅威納犬,不是一只大力金剛?cè)?,或者其他品種的狗?!?經(jīng)過一百個小時的訓(xùn)練,他將錯誤率降到了5%。

這是一項非常艱難的任務(wù),將計算機識別錯誤率從2011年的26%降低到2017年的2%是一件很了不起的事,過去計算機無法識別的東西,現(xiàn)在已經(jīng)可以識別。自然語言處理、機器翻譯和語言理解中也經(jīng)歷了類似的故事。

圖片

此外,開源框架確實使世界各地的許多人能夠應(yīng)用機器學(xué)習(xí)技術(shù),TensorFlow就是其中之一。

大約在2015年11月,我們開源了TensorFlow以及供Google內(nèi)部使用的工具。TensorFlow對世界產(chǎn)生了相當(dāng)大的影響,它已經(jīng)被下載了大約5000萬次,當(dāng)然也出現(xiàn)了很多其他框架,比如JAX、PyTorch等等。

世界各地的人們能夠?qū)C器學(xué)習(xí)用于各種了不起的用途,例如醫(yī)療保健、機器人技術(shù)、自動駕駛等等,這些領(lǐng)域都是通過機器學(xué)習(xí)方法來理解周圍的世界,進(jìn)而推動領(lǐng)域的發(fā)展。

2

機器學(xué)習(xí)改變計算機設(shè)計方式

圖片

ML研究社區(qū)中的許多成功源自使用更多算力和更大的模型,更多的算力促進(jìn)了機器學(xué)習(xí)研究領(lǐng)域中重要成果的產(chǎn)生。深度學(xué)習(xí)的發(fā)展正在深刻改變計算機的結(jié)構(gòu)?,F(xiàn)在,我們想圍繞機器學(xué)習(xí)計算類型構(gòu)建專門的計算機。

圖片

近年來,我們已經(jīng)在Google做了很多類似的工作,其中TPU(張量處理單元)是我們構(gòu)建定制處理器的一種方法,這些處理器專為神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)模型而設(shè)計。

TPU v1是我們第一個針對推理的產(chǎn)品,當(dāng)你擁有經(jīng)過訓(xùn)練的模型,并且只想獲得已投入生產(chǎn)使用的模型的預(yù)測結(jié)果,那它就很適合,它已經(jīng)被用于神經(jīng)機器翻譯的搜索查詢、AlphaGo比賽等應(yīng)用中。

后來我們還構(gòu)建了一系列處理器。TPU v2旨在連接在一起形成稱為Pod的強大配置,因此其中的256個加速器芯片通過高速互聯(lián)緊緊連接在一起。TPU v3則增加了水冷裝置。

TPU v4 Pod不僅可以達(dá)到ExaFLOP級的算力,它還讓我們能夠在更大的模型訓(xùn)練中達(dá)到SOTA效果,并嘗試做更多的事情。

以ResNet-50模型為例,在8塊P100 GPU上訓(xùn)練完ResNet-50需要29小時,而在2021年6月的MLPerf競賽中,TPU v4 pod僅耗時14秒就完成了訓(xùn)練。但我們的目的不僅僅是在14秒內(nèi)訓(xùn)練完ResNet,而是想把這種強大的算力用于訓(xùn)練其他更先進(jìn)的模型。

可以看到,從一開始的29小時到后來的14秒,模型的訓(xùn)練速度提高了7500倍。我認(rèn)為實現(xiàn)快速迭代對于機器學(xué)習(xí)非常重要,這樣才能方便研究者試驗不同想法。

基于機器學(xué)習(xí)的計算方式越來越重要,計算機也正在往更適應(yīng)機器學(xué)習(xí)計算方式的方向上演進(jìn)。但深度學(xué)習(xí)有可能影響計算機的設(shè)計方式嗎?我認(rèn)為,答案是肯定的。

3

機器學(xué)習(xí)縮短芯片設(shè)計周期

目前,芯片的設(shè)計周期非常長,需要幾十甚至幾百人的專業(yè)團隊花費數(shù)年的努力。從構(gòu)思到完成設(shè)計,再到成功生產(chǎn),中間的時間間隔十分漫長。但如果將來設(shè)計芯片只需要幾個人花費幾周時間呢?這是一個非常理想的愿景,也是研發(fā)人員當(dāng)前的目標(biāo)。

圖片

如上圖所示,芯片設(shè)計包含四個階段:架構(gòu)探索→RTL綜合→驗證→布局和布線。完成設(shè)計之后,在制作生產(chǎn)環(huán)節(jié)需要進(jìn)行布局和布線(Placement & Routing),有沒有更快、更高質(zhì)量的布局和布線方法?驗證是非常耗時的一步,能不能用更少的測試次數(shù)涵蓋更多的測試項目?有沒有自動進(jìn)行架構(gòu)探索和RTL綜合的方法?目前,我們的芯片架構(gòu)探索只針對幾種重要的應(yīng)用,但我們終將要把目光擴大。

布局與布線

首先,關(guān)于布局和布線,Google在2020年4月發(fā)表過一篇論文Chip Placement with Deep Reinforcement Learning,2021年6月又在Nature上發(fā)表了A graph placement methodology for fast chip design。

我們知道強化學(xué)習(xí)的大致原理:機器執(zhí)行某些決定,然后接收獎勵(reward)信號,了解這些決定帶來什么結(jié)果,再據(jù)此調(diào)整下一步?jīng)Q定。

因此,強化學(xué)習(xí)非常適合棋類游戲,比如國際象棋和圍棋。棋類游戲有明確的輸贏結(jié)果,機器下一盤棋,總共有50到100次走棋,機器可以根據(jù)最終的輸贏結(jié)果評定自己和對手的整套走棋方法的有效性,從而不斷調(diào)整自己的走棋,提高下棋水平。

那么ASIC芯片布局這項任務(wù)能不能也由強化學(xué)習(xí)智能體來完成呢?

圖片

這個問題有三個難點。第一,芯片布局比圍棋復(fù)雜得多,圍棋有10^{360}種可能情況,芯片布局卻有10^{9000}種。

第二,圍棋只有“贏”這一個目標(biāo),但芯片布局有多個目標(biāo),需要權(quán)衡芯片面積、時序、擁塞、設(shè)計規(guī)則等問題,以找到最佳方案。

第三,使用真實獎勵函數(shù)(true reward function)來評估效果的成本非常高。當(dāng)智能體執(zhí)行了某種芯片布局方案后,就需要判斷這個方案好不好。如果使用EDA工具,每次迭代都要花上很多個小時,我們希望將每次迭代所需時間縮減為50微秒或50毫秒。

圖片

利用強化學(xué)習(xí)進(jìn)行芯片布局的步驟如下:首先從空白底座開始,運用分布式PPO算法(強化學(xué)習(xí)的常用算法)進(jìn)行設(shè)計,然后完成每個節(jié)點的布局放置,最后進(jìn)行評估。

評估步驟使用的是代理獎勵函數(shù)(proxy reward function),效果和真實獎勵函數(shù)相近,但成本低得多。在一秒或半秒內(nèi)就可以完成對本次布局方案的評估,然后指出可優(yōu)化之處。

圖片

構(gòu)建獎勵函數(shù)需要結(jié)合多個不同的目標(biāo)函數(shù),例如線長、擁塞和密度,并分別為這些目標(biāo)函數(shù)設(shè)定權(quán)重。

圖片

如上圖所示,布局優(yōu)化采取的是混合方式。強化學(xué)習(xí)智能體每次放置宏(macro),然后通過力導(dǎo)向方法(force-directed method)放置標(biāo)準(zhǔn)單元。

圖片

上圖來自前面提到的Nature論文,展示了更多芯片架構(gòu)的細(xì)節(jié)。

圖片

上圖展示了一個TPU設(shè)計塊的布局與布線結(jié)果。白色區(qū)域是宏,綠色區(qū)域是標(biāo)準(zhǔn)單元群(standard cell clusters)。

圖中左邊是人類專家完成的設(shè)計,從中可以看出一些規(guī)律。人類專家傾向于把宏沿邊緣放置,把標(biāo)準(zhǔn)單元放在中間。一名人類專家需要6~8周完成這個布局,線長為57.07米。圖中右邊是由智能體(ML placer)完成的布局,耗時24小時,線長55.42米,違反設(shè)計規(guī)則的地方比人類專家略多,但幾乎可以忽略。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    咦???怎么沒有專門的計算機硬件設(shè)計的板塊和cpu設(shè)計的板塊?

    我對計算機硬件和編程很有興趣,但是沒有發(fā)現(xiàn)有關(guān)設(shè)計cpu和計算機硬件的板塊。
    發(fā)表于 02-21 12:24

    什么是計算機系統(tǒng)、計算機硬件計算機軟件?

    第一章 計算機系統(tǒng)概論1. 什么是計算機系統(tǒng)、計算機硬件計算機軟件?硬件和軟件哪個更重要?解:
    發(fā)表于 07-22 09:06

    用簡單的語言描述計算機硬件系統(tǒng)構(gòu)成 精選資料分享

    一.計算機硬件系統(tǒng)概述所謂計算機硬件系統(tǒng),就是指構(gòu)成計算機看得見的,摸得著的實際物理設(shè)備。常見的計算機硬件組成主要由下圖各部件組成:現(xiàn)代計算機
    發(fā)表于 07-29 08:51

    計算機硬件各種故障及診斷方法

    摘要:經(jīng)濟的發(fā)展和科技的進(jìn)步使得計算機得以普及。計算機的已經(jīng)成為工業(yè)、經(jīng)濟、管理等眾多方面的重要運行手段,甚至已經(jīng)成為了普通居民工作、生活、娛樂的一部分。關(guān)鍵詞:計算機硬件;識別方法;解決措施中圖
    發(fā)表于 09-08 07:47

    計算機硬件,第2篇 計算機硬件系統(tǒng).pdf 精選資料分享

    第第2 章章 計算機硬件系統(tǒng)計算機硬件系統(tǒng)第第 章章 計算機硬件系統(tǒng)計算機硬件系統(tǒng)在本章中,首先我們將討論組成計算機
    發(fā)表于 09-13 06:37

    計算機硬件系統(tǒng)的組成及其性能維護分析

    計算機硬件系統(tǒng)的組成及其性能維護分析1、前言隨著信息技術(shù)的飛速發(fā)展, 計算機技術(shù)被廣泛地應(yīng)用于人們的生活與工作中, 計算機系統(tǒng)的安全穩(wěn)定運行直接關(guān)系到整個經(jīng)濟社會的進(jìn)步, 為了確保
    發(fā)表于 09-13 07:31

    計算機硬件系統(tǒng)故障及維修過程

    計算機硬件系統(tǒng)故障及維修.ppt如圖14.11所示,選定劃分好的新分區(qū),右擊選擇“進(jìn)階”→“隱藏分割磁區(qū)”項,將會隱藏這個新的分區(qū)。 檢查所有設(shè)置,最后單擊【執(zhí)行】按鈕進(jìn)行分區(qū)操作,分區(qū)完畢重啟
    發(fā)表于 09-17 07:44

    計算機硬件維護的方法

    1先檢查電源及其他靜態(tài)故障在進(jìn)行其他部件的檢測有調(diào)查可知,當(dāng)前我國計算機硬件故障在維護過程中,因為電源故障而導(dǎo)致的故障問題非常常見,所以要對電源部件出現(xiàn)的故障問題引起足夠的重視。在對計算機硬
    發(fā)表于 09-17 07:15

    了解計算機硬件體系結(jié)構(gòu)

    模塊一知識點1.了解計算機硬件體系結(jié)構(gòu)2.掌握常見的計算機硬件設(shè)備3.了解計算機軟件體系結(jié)構(gòu)4.掌握主板結(jié)構(gòu)的組成5.了解CPU、內(nèi)存、硬盤的發(fā)展歷程6.掌握CPU、內(nèi)存、硬盤的結(jié)構(gòu)、
    發(fā)表于 09-17 09:03

    計算機硬件的基本組成

    嵌入式系統(tǒng)設(shè)計師學(xué)習(xí)筆記③:計算機的基本組成計算機硬件的基本組成:輸入/輸出設(shè)備(I/O設(shè)備)、存儲器(主存儲器、輔助存儲器)、CPU(中央處理器)等。CPU中包含運算器和控制兩大組成部分和寄存器組
    發(fā)表于 12-23 06:00

    微型計算機硬件組成

    微型計算機硬件組成 好東西哦。網(wǎng)上搜集,希望對你有用。
    發(fā)表于 03-25 15:17 ?62次下載

    計算機硬件知識大全

    計算機硬件知識大全
    發(fā)表于 05-15 09:50 ?0次下載
    <b class='flag-5'>計算機硬件</b>知識大全

    計算機硬件知識試題

    計算機硬件知識一、微機基本工作原理1、計算機系統(tǒng)的組成微型計算機硬件系統(tǒng)和軟件系統(tǒng)組成。硬件
    發(fā)表于 07-01 17:21 ?76次下載

    計算機硬件接口大全圖解

    計算機硬件接口大全圖解 點擊看大圖
    發(fā)表于 03-26 10:15 ?2040次閱讀

    計算機硬件的重要部件

    本視頻主要詳細(xì)介紹了計算機硬件的重要部件,分別是控制器、運算器、存儲器、輸入設(shè)備、輸出設(shè)備以及中央處理器。
    的頭像 發(fā)表于 11-24 10:34 ?1.8w次閱讀