資料介紹
機器學習是近段時間以來的大熱門,而盡管 EDA 處理的也是大數(shù)據(jù)類型的問題,但在將機器學習技術(shù)整合進 EDA 工具方面還沒有取得很大的進展。
許多 EDA 問題和解決方案本質(zhì)上就是關(guān)于統(tǒng)計的,這說明機器學習自然而然適合 EDA。那為什么這個領(lǐng)域在采用機器學習技術(shù)上如此緩慢而視覺識別和搜索等其它技術(shù)領(lǐng)域卻可以如此輕松地接納它?
Solido Design Automation 技術(shù)運營副總裁 Jeff Dyck 表示:“你可以感受到這是一個機器學習問題。我們有大量的數(shù)據(jù),但我們可以應用哪些方法來解決這些問題?這才是難點。不是說讀一本教科書或?qū)W一門課就能將這些方法應用到所有問題上。工程問題需要一個不同的角度?!?
在深入了解機器學習在哪些地方有所應用之前,我們先看看一些問題。
從基于規(guī)則到深度學習
我們首先對這些技術(shù)進行一個分類吧。“從最廣義的角度講,在 EDA 領(lǐng)域,我們?nèi)慷家呀?jīng)習慣了基于規(guī)則的方法(rule-based techniques,RBT)?!?a href='http://www.brongaenegriffin.com/tags/英偉達/' target='_blank' class='arckwlink_none'>英偉達資深工程總監(jiān) Ting Ku 解釋說,“實際上機器學習是RBT的一個子集,而深度學習又是機器學習的一個子集。RBT是確定性的,不會涉及到數(shù)據(jù)庫,也不會定義特征。而機器學習的出發(fā)點是統(tǒng)計的,而非確定性的,而且因為必須從經(jīng)驗中學習,所以還會涉及到數(shù)據(jù)庫。使用機器學習,我們也許還需要預定義的特征,而這正是機器學習和深度學習的區(qū)別。對于深度學習而言,除了沒有預定義的特征,其它都和機器學習一樣。所以問題來了:‘特征(feature)是什么?’”
圖 1:技術(shù)分類
一旦你有了特征并存儲了足夠的數(shù)據(jù),你就要想辦法把它們用起來?!八阉髡麄€設(shè)計空間是不切實際的?!盢etSpeed Systems營銷和業(yè)務開發(fā)副總裁 Anush Mohandass 說,“由于該空間高度非線性的本質(zhì),搜索時間會隨著搜索范圍擴大而指數(shù)級增加。對于這樣的問題,機器學習(其中,過去的解決相似問題的經(jīng)驗可被用作訓練數(shù)據(jù),從而學習和預測可用于相似的新問題的解決方案)表現(xiàn)了巨大的潛力。”
機器學習的方法有很多,大體上可分為監(jiān)督學習、無監(jiān)督學習和強化學習。大多數(shù) EDA 應用都著眼于監(jiān)督學習。E3 Data Science 的 CTO Eric Hall 解釋說:“有兩種類型的監(jiān)督學習?;貧w(regression)可用于我們想要預測數(shù)值的情況,而分類(classification)則可用于預測多個結(jié)果中一個結(jié)果的情況??梢越鉀Q這些問題的機器學習算法有很多,但是卻沒有任何一種能夠單獨解決所有問題?!?
也還存在其它問題,Hall 補充說:“在尋找未被發(fā)現(xiàn)的特征來對非線性進行建模方面,深度學習技術(shù)表現(xiàn)很出色,但它卻是一個黑箱,難以解釋而且可能需要很長的訓練時間?!?
訓練
機器學習技術(shù)的表現(xiàn)取決于其訓練所用的數(shù)據(jù)?!皺C器學習是一個迭代過程,”Ku 說,“機器學習算法根據(jù)輸入數(shù)據(jù)有相應輸出。這些輸出可能不正確,所以你還必須要驗證。完成之后,這些數(shù)據(jù)又被包含回數(shù)據(jù)庫。這時候就該開始再訓練(rertraining)了。這個循環(huán)一直持續(xù)。在某種程度上,我們希望這些迭代循環(huán)能夠使得該模型相當準確,使得其在看到一個新案例時能夠做出很好的預測?!?
在許多案例中,數(shù)據(jù)可能來自于以前的設(shè)計,但這就夠用了嗎?Solido 的 Dyck 說:“想象一下,假如有 2000 個并行工作的 SPICE 模擬器要解決一個我們以前從未見過的芯片的一種從未見過的制造工藝問題。我們可以收集一些過去做法的信息并使用這些信息來塑造模型,但我們也有實時數(shù)據(jù)。這是實時機器學習以及實時構(gòu)建模型。”
而實時學習還有其它很多問題?!叭绻鲾?shù)據(jù)(streaming data)出了什么問題或者有會污染模型的錯誤答案,那你就需要過濾或調(diào)整它——而這是非常艱難的。”他補充說,“我們需要自動恢復和修復。當出現(xiàn)問題時,你必須要能夠?qū)α鲾?shù)據(jù)進行調(diào)試?!?
但調(diào)試機器學習系統(tǒng)還是一個相對未知的領(lǐng)域。驗證技術(shù)就算有,也只是寥寥無幾。
涉及 EDA 流程的學習還有其它一些類型?!拔覀冃枰芡ㄟ^設(shè)計實現(xiàn)過程獲取知識,”高通高級技術(shù)總監(jiān) Sorin Dobre 說,“EDA 有一個很好的機會,可以將監(jiān)督和無監(jiān)督機器學習解決方案擴展用于設(shè)計流程優(yōu)化(design flow optimization)。我們有20 年經(jīng)驗的高級工程師可以確保高質(zhì)量的設(shè)計,但我們也需要幫助剛剛開始的設(shè)計師。我們沒法等上五年時間才完全發(fā)揮他們的生產(chǎn)力?!?
就算對經(jīng)驗豐富的設(shè)計師,這個工作也正變得越來越難?!斑^去,架構(gòu)師根據(jù)他們的經(jīng)驗來設(shè)計互連(interconnect),并且根據(jù)他們的直覺來做出關(guān)于拓撲結(jié)構(gòu)和布線選擇的關(guān)鍵設(shè)計決策?!?NetSpeed 的 Mohandass 說,“但是,這種方法并不適用于片上需求非常多樣化的異構(gòu)系統(tǒng)。由于多個片上器件之間交互的復雜性,要設(shè)計一種接近最優(yōu)的,而且能夠工作的、表現(xiàn)良好的、還考慮了所有用例的互連實際上是不可能的?!?
數(shù)據(jù)集
Plunify 的 CEO Harnhua Ng 說:“獲取一個好的數(shù)據(jù)集可能難度很大。這些工具的學習能力可以保證當工程團隊使用它們越多時,學習數(shù)據(jù)庫就會變得越聰明,從而加速設(shè)計完成的時間?!?
所以只有那些已經(jīng)有大規(guī)模數(shù)據(jù)集的人可以使用這些技術(shù)嗎?或者 EDA 可以提供初始的訓練嗎?“對于 EDA 領(lǐng)域的許多機器學習應用而言,與算法相關(guān)的參數(shù)選擇和訓練需要完全在設(shè)計客戶或代工廠的計算環(huán)境內(nèi)進行?!?a href='http://www.brongaenegriffin.com/tags/Cadence/' target='_blank' class='arckwlink_none'>Cadence 的杰出工程師 David White 說,“在這些應用中,最具挑戰(zhàn)性的任務是創(chuàng)建自動化的訓練和驗證方法,使其可以確保算法在目標硅技術(shù)上按預期運行。在一些案例中,更先進和更復雜的機器學習方法可以提供更高的準確度,但要在該領(lǐng)域提供支持卻最為困難。在開發(fā)過程中,人們需要根據(jù)所需的準確度以及可用訓練數(shù)據(jù)的數(shù)量和其它支持以及模型相關(guān)的約束條件來權(quán)衡合適的算法與架構(gòu)選擇。”
聽上去很難,實際上也正是如此。“EDA 問題有很高的維度、高階的互動、不連續(xù)性和非線性,需要先進的實驗技術(shù)設(shè)計、先進的監(jiān)督學習、智能篩選和過濾以及基準基礎(chǔ)設(shè)施(benchmarking infrastructure)?!盨olido 總裁兼 CEO Amit Gupta說,“此外,EDA 問題還有很高的流數(shù)據(jù)速率和大規(guī)模的數(shù)據(jù)歸檔,需要優(yōu)化的流解析器(streaming parser)、可并行化算法、高效和可擴展的集群管理、自動恢復和修復以及大數(shù)據(jù)調(diào)試?!?
Mohandass給出了一個互連設(shè)計所需的數(shù)據(jù)集的例子。“完美的互連策略依賴于非常大量的 SoC 參數(shù),其中包括布圖(floorplan)、布線約束、可用資源、連接要求、協(xié)議層面的依賴、時鐘特性、工藝特性(比如線延遲、功耗、帶寬和延遲約束)等等。設(shè)計策略空間中不同維度的數(shù)量可以增至數(shù)百個,這會創(chuàng)造一個過大的設(shè)計空間?!?
基礎(chǔ)設(shè)施
這個問題有幾個維度。Synopsys 副總裁兼 CIO Hasmukh Ranjan 說:“機器學習可以被用在 EDA 中,但為了最大化其所帶來的好處,機器學習既應該被用在這些工具本身之中,也應該圍繞這些工具用在設(shè)計流程之中?!?
高通的 Dobre 表示同意:“沒必要將所有東西都做到 EDA 工具里面。你可以用獨立的機器學習解決方案來驅(qū)動已有的工具。”
IC Manage 的執(zhí)行副總裁 Shiv Sikand 提供了一個例子:“通過分析之前流片(tapeout)的數(shù)十億個數(shù)據(jù)點,我們可以預測漏洞、設(shè)計復雜度、人力資源、證書的影響,并計算當前項目服務器集群的吞吐量。通過確定半導體設(shè)計中的瓶頸,我們可以提供前瞻性預測并識別潛在的延遲。”
我們可能也需要檢查我們運行工具的基礎(chǔ)設(shè)施。“我們也需要考慮智能存儲,”Sikand 補充說:“通過分析與文件操作相關(guān)的數(shù)據(jù)流,聚類和回歸分析等機器學習技術(shù)可以持續(xù)改進 P2P 網(wǎng)絡和緩存管理,以提供更好的應用性能。”
Dobre 的團隊也很熟悉這些問題:“我們有包含數(shù)以萬計 CPU 的計算農(nóng)場。當你查看需要同時驗證的設(shè)計的數(shù)量時,你該怎樣以一種最優(yōu)的方式來使用這些資源,而不造成資源需求爆炸?這就需要數(shù)據(jù)管理。你該怎么有效地應對在設(shè)計空間和在代工方面的這么多的數(shù)據(jù),并提取出下一設(shè)計所需的知識和信息以減少學習周期?”
將運行該機器學習算法的機器又增加了額外的另一個維度。“機器學習將通過現(xiàn)有的復雜算法來減少設(shè)計和仿真的時間。” Markets and Markets 副總監(jiān) Sachin Garg 說,“EDA 工具可以采納或采取智能決策來使其更進一步,但我們需要更好的硬件(CPU GPU)來運行如此復雜的機器學習算法,以使其更有效率。當前一代又一代的 GPU 可以為并行計算負載提供巨大的加速和出色的性能擴展。”
Cadence 的 White 同意這個說法:“在大規(guī)模并行計算架構(gòu)領(lǐng)域的進步為基于假設(shè)的優(yōu)化和驗證( what-if based optimization and verification)開啟了大門,從而可以有效地探索設(shè)計空間和融合最有潛力的決策?!?
應用領(lǐng)域
成功依賴于定義正確的特征集合的能力?!耙钥紤]工藝偏差(variation)的設(shè)計為例,”Ku 說:“如果你想建模一個概率密度函數(shù),你需要屬性(attribute)。特征(feature)是能將一種事物與另一種事物區(qū)分開的屬性。對于人來說,特征可能是頭發(fā)顏色、身高、性別。對于考慮工藝偏差的設(shè)計而言,特征則可能是 PVT 角、定義器件變化的算法和器件的隨機變量。所以特征就是一些對一個特定問題重要的東西?!?
在 10nm 和 7nm 工藝上,我們可以看到有很多工藝偏差?!按S提出新工藝技術(shù)的努力是很重要的?!盌obre 說,“即便這是在數(shù)字領(lǐng)域,也需要將庫元素看作是模擬設(shè)計。你必須跨多個工藝角來對設(shè)計進行驗證。你該怎樣在不出現(xiàn)所需資源爆表的情況下實現(xiàn)高質(zhì)量?機器學習可以將生產(chǎn)力提升 10 倍、減少數(shù)周的測量時間和減少資源消耗。在識別會導致產(chǎn)量不達標的模式上,機器學習是一種有效方法。我們看到了其中的巨大潛力,可以帶來經(jīng)濟效益?!?
EDA 正在努力解決這個問題?!皩τ谙冗M節(jié)點的設(shè)計,新型的硅技術(shù)和額外的驗證需求帶來了更大的不確定性,從而也提升了潛在的風險。”White 說,“在傳統(tǒng)的設(shè)計流程中,先前的設(shè)計和布局數(shù)據(jù)并不會被有效地用來幫助指導下一個設(shè)計。分析方法的進步允許我們檢查(開采)之前的設(shè)計數(shù)據(jù)和趨勢,并將其用于在設(shè)計流程的最早期階段指導設(shè)計決策。這些同樣的方法也可以被用于發(fā)現(xiàn)和提供驅(qū)動機器學習引擎的訓練和開發(fā)的背景(context)。這樣的解決方案很可能需要利用大量的數(shù)據(jù)和數(shù)百個機器學習組件,它們都將需要管理和驗證。一旦數(shù)據(jù)被放在了適當?shù)谋尘爸?,機器學習就可以被用于獲取復雜行為提供的分析(比如寄生、電氣、驗證),而且準確度高、速度快?!?
另外還有一些其可以提供幫助的設(shè)計領(lǐng)域。Hall 說:“我們可以將其用于內(nèi)存或邏輯門的功率估計或時序估計。這將能減少不確定性并為人類工作提供補充,從而可以創(chuàng)造出更具競爭力的產(chǎn)品?!?
另一個正在出現(xiàn)解決方案的領(lǐng)域是布線(routing)。“在互連設(shè)計的背景中,第一步是識別每一個維度中設(shè)計策略的組合,這能為之前大量不同的 SoC 設(shè)計帶來優(yōu)良的解決方案?!?Mohandass 指出,“下一步是使用這些信息來學習模式并預測哪些策略組合將最有可能帶來優(yōu)良設(shè)計?!?
類似的技術(shù)也可應用于 FPGA 布線?!皫в袕碗s時序和性能封閉(performance closure)問題的復雜 FPGA 設(shè)計是基于機器學習技術(shù)的工具的良好候選項?!?Plunify 的 Ng 補充說,“機器學習工具能夠分析過去的編譯結(jié)果,從而可在數(shù)以千萬億計的可能方案中預測出最優(yōu)的綜合/布局和布線參數(shù)以及布放位置。它們可以使用統(tǒng)計建模和機器學習來推斷哪些工具參數(shù)對一種設(shè)計最優(yōu),以從數(shù)據(jù)中提取見解來提升結(jié)果的質(zhì)量?!?
值得信任的結(jié)果
但相對于其它機器學習應用,設(shè)計面臨著更大的障礙?!白詈笕绻粋€方案存在設(shè)計過于激進或過于保守的風險,人們就不會采用這個方案。”Dyck 解釋說,“機器學習工具是大型的估計器。你不能要求人們?nèi)バ湃嗡?。所以我們需要能夠清楚準確度的建模技術(shù)。目前這種技術(shù)還非常少——你必須發(fā)明它們。我們需要主動的學習方法,可以逐步發(fā)現(xiàn)相關(guān)的領(lǐng)域,而這些往往在最糟糕的情況旁邊。要向我展示可能會導致芯片失敗的地方,并且在那個區(qū)域提供清楚的洞察。這樣你就要在這些區(qū)域直接進行實驗。針對問題領(lǐng)域是很重要的。”
Dyck 還指出了 EDA 所面臨的另一個障礙:“如果你不能證明一個答案是正確的,他們就不會接受它。所以你需要設(shè)計可驗證的算法。你需要將驗證用作該技術(shù)的一部分,這樣當你給出一個答案時,你就可以說明它在運行時是正確的?!?
總結(jié)
機器學習已經(jīng)開始滲透進 EDA 和設(shè)計流程中了。Gupta 說:“機器學習已經(jīng)開始在 EDA 領(lǐng)域發(fā)揮重要的作用。它還有進一步提供顛覆性技術(shù)突破來解決半導體難題的機會?!?
但我們還有很長的路要走。Ku 說:“今天我們看到的只是冰山一角。我們希望未來 EDA 能停止提供數(shù)據(jù)。數(shù)據(jù)當然很好,但我們真正需要的是決策。你需要做的就是在數(shù)據(jù)和決策之間加入一層,該機器算法可以通過學習數(shù)據(jù)來了解應該做出怎樣的決策。EDA 正處在進行這項工作的完美位置上?!?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于Matlab的機構(gòu)與機器人分析資料下載 13次下載
- 學習模擬應用設(shè)計資料下載
- 納米器件的測試工具資料下載
- AVR開發(fā)工具介紹資料下載
- 機器學習算法如何用于制造無人駕駛汽車資料下載
- 物聯(lián)網(wǎng)防火墻與機器學習技術(shù)資料下載
- python機器學習筆記資料免費下載 39次下載
- 機器學習的個人學習筆記 22次下載
- 機器學習實戰(zhàn)的源代碼資料合集 52次下載
- 機器學習matlab源代碼的詳細資料免費下載 31次下載
- 機器學習教程之機器學習的十三個經(jīng)典課件資料免費下載 35次下載
- 機器學習算法中的FSS算法詳細資料合集免費下載 9次下載
- 機器學習算法中的ID3算法詳細資料合集免費下載 5次下載
- python機器學習和深度學習的學習書籍資料免費下載 95次下載
- dsPIC?語言工具入門資料下載
- 機器學習8大調(diào)參技巧 655次閱讀
- 機器學習開發(fā)人員必看的八大開源工具名單 2187次閱讀
- 使機器學習更容易的6種工具 724次閱讀
- 基于機器學習平臺如何獲取、處理和保留數(shù)據(jù) 1331次閱讀
- 10種機器學習的工具和框架 974次閱讀
- 什么是機器學習機器學習到底有什么重要性詳細資料說明 7846次閱讀
- 一些關(guān)于機器學習工具在學習過程中所犯錯誤的問題 2649次閱讀
- 機器學習入門寶典《統(tǒng)計學習方法》的介紹 4682次閱讀
- 機器學習專家們每天都在做什么?如何讓機器學習自動化 5156次閱讀
- 兩個關(guān)于機器學習的故事 2735次閱讀
- 理解為什么現(xiàn)在機器學習如此熱門 3550次閱讀
- 如何開始接觸機器學習_機器學習入門方法盤點 4093次閱讀
- 什么是機器學習?機器學習能解決什么問題?(案例分析) 1.6w次閱讀
- 自學機器學習的誤區(qū)和陷阱 4799次閱讀
- FPGA技術(shù)協(xié)助嵌入式系統(tǒng)競逐于機器學習之路 1263次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設(shè)備在嵌入式領(lǐng)域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論