當前位置:
首頁 > 最新 > SNUG 2018熱點之:機器學習終於來了!

SNUG 2018熱點之:機器學習終於來了!

在去年的SNUG(Synopsys User Group)2017上,機器學習的關鍵詞出現多次,是當時無可爭議的熱點。今年我們終於看到了機器學習真正用於後端設計的技術之一,那就是PrimeTime ECO with Machine Learning。

在介紹這項技術之前,我想先和大家聊聊機器學習。雖然在這方面本人絕對談不上有什麼經驗,但是從SNUG現場觀眾的提問來看,很多人對機器學習還沒有比較清晰的概念,因此想先普及一下Machine Learning的基本思想,以便於我們理解它的應用。

Machine Learning(ML),機器學習,主要是通過概率和統計學等數學手段建模來尋找大量數據的內在規律。根據演算法的不同,主要可以分為有監督學習(supervised learning)和無監督學習(unsupervised learning)。二者的區別在於是否需要一個數據集作為訓練樣本,從而提取出一個數學模型。前者需要這樣的數據集,而後者不需要。

在此我們不花太多篇幅去討論不同的演算法,但是我希望大家能夠理解一個概念,那就是機器學習的結果一定是一個數學模型。比如在有監督學習中,它並不是我們直觀的理解中把訓練樣本中的所有情況提取出來做一個數據集,然後在給出新的輸入的時候去數據集中尋找匹配。而是在訓練樣本中提取一個模型,這個模型可能是一個簡單的n元m次方程,也可能是更複雜的函數,然後可以根據我們給定的輸入計算一個新的輸出。基本流程差不多是這個樣子:

言歸正傳,我們說說PrimeTime ECO with Machine Learning是怎麼回事。在此次SNUG上,Synopsys主要介紹兩種PT中的機器學習技術。

1. 運用PTECO結合機器學習實現同等的QoR和更快的runtime。

例如,我們想通過PT-ECO來優化power,一般來說工具內部的行為大概是這個樣子:

這樣的流程的缺點在於,對於每種需要優化的電路,都需要遍歷其所有可能的方案並從中尋找最佳。而實際情況是,很多電路具有相似甚至完全相同的結構,我們完全可以直接運用已有的正確方案來直接執行,而不需要遍歷。針對這個問題,機器學習能夠提供比較好的解決方案。有了機器學習,上述流程就變成了這個樣子:

上述流程中可以看出,事先通過訓練數據獲得power優化的訓練模型,在每次對某種電路進行power優化時,不再需要遍歷,只需要將電路量化後的結果輸入到模型中,就可得到一個預測的優化過後的電路結構,然後可以在PT中將此結果驗證。如果確實能夠實現power降低並無其他影響,則可以直接生成解決方案。據Synopsys資料顯示,訓練模型能夠覆蓋90%以上的case。

那麼PT中如何實現模型的訓練以及使用呢。其實很簡單,主要靠一下兩條命令即可:

在訓練階段,使用上述前兩條命令將會生成訓練模型在$your_directory下;在實際eco fix power過程中,再次調用相同的兩條命令,PT將會自動讀取$your_directory下的訓練模型,並在fix_eco_power的過程中使用此模型。

上述即為第一種應用機器學習的PTECO方法。而還有一種方法,是針對另外一種情況而設計的。大家在做項目的過程中,應該遇到過自己寫的腳本的ECO效果比PT的效果還要好。PT-ECO本來已經比較智能,但畢竟是為了平衡大多數design而設計的通用技術,對某些特殊design或者特殊case的效果可能並沒有那麼好。有鑒於此,Synopsys還帶了以下第二種技術:

2. 通過對用戶的腳本進行建模,從而能夠針對特定場合學慣用戶腳本的ECO方法而達到更快的收斂速度。

我們以優化timing為例,假如自己寫了一個腳本,希望PT在ECO的過程中能夠按照腳本中的思路來進行優化,那麼我們如何實現呢?

其基本思路為,先用一個DB用於模型訓練,然後將此模型保存起來,以供後續PTECO流程中自己或者其他人使用。其具體實現分兩步:

機器學習有很多優點,但是也有一個非常常見的缺點,那就是精度,也就是訓練模型的預測結果有一定概率並不會很好。雖然大數據訓練能夠一定程度提高模型的精度,但是在更多時候,需要不斷改善演算法才能夠達到比較可靠的效果。

以上就是機器學習在PTECO中的應用。雖然根據Synopsys透露,此方法的PTECO可以在實現相同的QoR的前提下提高5x-10x的ECO速度,但是其實際效果還需要更多項目的考驗和測試。

如果大家有任何後端技術與職業發展方面的問題,抑或關於數字後端感興趣的技術話題想要了解和探討,歡迎識別左側二維碼加入數字後端交流群。

同時為避免散布廣告人士,請同時發送驗證信息回答以下問題:

IC設計主流EDA工具廠商除了Synopsys,Mentor還有誰?

也歡迎大家識別右側二維碼關注我的知乎:

知乎賬號:閻浮提

知乎專欄:數字IC後端設計工程師修鍊之路


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

機器學習演算法的使用以及實踐到應用
IBM發明機器學習設備,可幫助應付漫長會議

TAG:機器學習 |