有道理的是,我們會發現很多應用程序,我們可以在其中利用人工智能的力量來改進我們的流程并更快地構建芯片。
Mentor, a Siemens Business 的高級營銷總監 Jean-Marie Brunet 擔任主持人,主持了一場出席人數眾多且熱鬧非凡的 DVCon 美國小組討論,討論人工智能 (AI) 和機器學習 (ML) 的熱門話題。
長達一小時的會議由 Achronix 副總裁兼首席技術專家 Raymond Nijssen 主持。Arm 研究員兼技術總監 Rob Aitken;AMD 高級研究員 Alex Starr;Mythic 硬件工程副總裁 Ty Garibay;英偉達應用深度學習研究主管 Saad Godil。
根據小組記錄,這個由四部分組成的迷你系列的第 1 部分講述了 Brunet 關于人工智能如何重塑半導體行業的第一個問題,特別是芯片設計驗證,以及小組成員的回答(參見“專家權衡人工智能重塑半導體工業”)。
接下來是第 2 部分,該部分涉及 AI 芯片的設計和驗證。第 3 部分和第 4 部分將包括觀眾成員的問題和小組成員的回答。
Raymond Nijssen:在我看來,我們才剛剛開始接觸人工智能。這將是一條漫長的道路,這將是一個激動人心的時刻。我們必須現在或一年后做好準備,并且絕對做好準備。該方法可以是漸進的。我們已經可以自動化一些很棒的小事情。
如果我們想深入了解我們在這里談論的內容,傳統上,使用機器學習,您需要擁有一個數據集,然后使用該數據集訓練您的機器學習網絡。
在驗證的情況下,您可能想知道該訓練集是什么樣的。它是一個包含錯誤的大數據集,可能會影響系統并引發問題,“這是好還是壞?” 因為你受過訓練?再退一步。如果你看一下機器學習系統是什么,它是一個通用的曲線擬合函數。
如果您還記得高中或大學中的曲線擬合函數,那么它就是構建最適合一系列數據點的曲線或數學函數的過程。然后你可以有一堆系數進入曲線擬合運動訓練數據。從曲線擬合練習中得出的系數將成為您的系數。那么問題是,如果你有一個新的 x 值,你能預測那個類比中的 y 值嗎?然后你可以說它好或壞。
現在,回到設計驗證。如果你想擴展這個類比,你必須有一個包含正確事物的大數據集和另一個包含錯誤事物的數據集。
如果你看看設計驗證的另一個領域——如果你可以稱之為——晶圓廠中的晶圓檢測。人們使用機器學習是因為它可以通過這種方法自動識別一些東西。如果我在那里有許多 Verilog 插入并且我的插入正在完成,我怎么知道當我運行任何類型的模擬或我正在查看的內容是正確的?我們必須有能夠以某種方式預測什么是好的,什么是不好的訓練集。在許多情況下,如果您正在查看某個 AI 產生的波形,您可以這樣做。這是未來不尋常的事情——在此之前我從未見過這一系列事件,作為一名人工智能設計師,你需要看看。我認為作為具有訓練數據的工具,您可以直截了當。
我們準備好了嗎?是的,我認為我們已經為此做好了準備。
如果您查看 Google Go,這是另一個正在執行規則的示例,但系統沒有被告知規則是什么。它只是通過輸入大量數據來學習規則。我認為類比延伸到沿著這些思路的設計驗證。
Ty Garibay:確實所有處理器都使用軟件。對于其中一些人工智能應用程序來說,這可能更真實。這些芯片只是一堆乘法器,上面有一些編程。這些芯片的驗證任務必須包括固件和軟件層,甚至不僅僅是在普通處理器或 SoC 中。
我們沒有用于集成硬件和軟件設計驗證的良好 EDA 環境,因為長期以來,我們一直說固件是一個獨立的東西,他們將測試自己的固件。什么?我們實際上是在設計固件的同時制造硬件。當然,這推動了我們產品的規格,這很好,但我們沒有我見過的理論來制作一個工具來驗證集成的硬件/軟件產品。我們從調制解調器、RF、DSP 中學到了很多東西,我們將這些東西帶到了我們的設計中,內置到我們的系統中,并試圖利用它們。
Rob Aitken:我認為曲線擬合還有一個重要的點。在驗證空間中考慮它很有用,特別是因為如果您的訓練集限制了您的曲線,曲線擬合作為一個過程非常有效。插值是好的,而外插在曲線擬合中是出了名的糟糕。你必須記住,無論你認為你用機器學習解決了什么驗證問題,如果它涉及外推,你很可能會感到失望。
構建超越對象檢測的人工智能系統是可能的,但它們比僅僅說“這是一只鴨子”或類似的系統更難設計。一個能夠正確識別以前從未見過的東西的圖像識別系統是一個更具挑戰性的問題。
亞歷克斯斯塔爾:我想加倍強調這里已經說過的很多事情。這些天我們必須驗證的硬件/軟件生態系統不僅僅是設計。我們幾乎在整個行業都有糟糕的工具來解決這個問題。我們有工具可以查看設計并同時查看固件在做什么以及軟件堆棧在做什么。這很棒。
我們需要一個更抽象的調試級別,并以全局視圖理解所有這些。我們需要一個系統的工作流程。最近沒看到什么好工具。我認為這就是我們需要向人工智能設計行業發展的地方,也需要復雜的 CPU、GPU 等,極其復雜的系統,在單個芯片中集成數十個不同類型的微處理器。這是一個復雜的問題,我們今天沒有 EDA 行業的工具來解決它。
Saad Godil:作為長期從事特定領域芯片工作的人,尤其是 GPU,我在 DVCon 上經常看到的一件事就是非常關注設計重用和第三方 IP 即插即用 -玩以及如何輕松啟用它。
一個觀察:我看到更多的人在定制芯片,更多特定領域的芯片,而不僅僅是人工智能。通常,這些與他們自己的領域特定語言配對。
我認為驗證社區依賴通用標準和通用工具的機會將會減少。EDA 提供商為每個人構建通用的解決方案,這無濟于事。相反,我認為您將不得不自己投資,并且您將在公司內部擁有更多專有設計和標準。
你不能外包和依賴別人的軟件。您將在內部進行投資并構建您需要的工具,這會變得更加困難,因為大多數硬件/軟件系統都將具有專有軟件和語言。這將是一筆相當大的投資。
此時,版主 Brunet 介入為 EDA 辯護:考慮使用模擬器進行硬件和軟件驗證的演變。人工智能設計的一個問題是容量。仿真器可以很好地處理容量。至于實際的硬件/軟件驗證,我們正在取得進展,但還不是很好。AI 領域的不同之處在于與移動框架基準測試不同的新框架。例如,Cafe 工具、TensorFlow 和許多不同的框架。
從 EDA 的角度來看,我們需要用戶的幫助來告訴我們他們需要從設計中提取什么。并非所有的模擬器都是一樣的。在我們的例子中,我們的模擬器可以提取所有內容,但設計師想要的是避免因為數據過多而傾倒大量數據。
這就是我們需要指導提取哪些指標很重要的地方。當設計在模擬器中映射并且軟件正在運行時,我們幾乎可以提取任何東西,但隨后它變成了大量數據。
Ty Garibay:我們有一些通用層,即神經網絡輸入,但在那之后,每個供應商都是獨一無二的。工具供應商有責任快速適應每個獨特的實現。他們需要提供快速生成記分牌的能力,以便以可見的方式跟蹤芯片內的不同狀態,并了解新的數據類型和新的操作類型。
我們可以在處理元素和語言的正式語言定義方面使用幫助,以便 EDA 工具可以使用架構描述。我認為,這種基礎設施可以帶來很大的不同。
我們可能都能夠指定一些東西——我們只是不知道如何指定。
Saad Godil:我認為到目前為止,問題是不同的。從商業模式的角度來看,這是有道理的,按照一定的標準構建工具,多個客戶可以攤銷。
當每個人都有自己的自定義專有規格時,問題就會變得更加困難。在等式的另一邊,您現在可以使用 AI 來幫助您解決問題。人工智能擅長感知,它可以查看圖片并找出不同的對象是什么,而無需知道這些對象的含義或它們是什么。或者它真的很擅長從句子中提取意義,即使它不理解。它不能很好地推理,但它善于感知。
也許答案是,考慮到您正在構建的規范,您能否發現專有設計的屬性并弄清楚哪些是重要的,哪些不重要?這是一個非常難以解決的問題。這不是現成的解決方案可以工作的東西。從理論上講,可以構建可以做這些事情的神經網絡。
為了解決曲線擬合問題,這將屬于監督學習范式,并且迄今為止在深度學習中已經取得了成功。在無監督學習方面已經做了很多偉大的工作,我認為這將推動人工智能的下一輪革命。我認為我們的工具可以使用這些東西。有很多可用數據可用于處理信息。問題是,我要保存什么?我要向神經網絡展示什么?我們應該考慮如何找到模式,并嘗試確定什么是重要的,什么是不重要的。
Rob Aitken:不過,我認為還有別的東西。當您查看該處理如何工作的實際實現時,如果您只是對一些隨機邊緣集和一些激活函數有可見性,并且您說,“這些數據出現在這里并且它被觸發了”,那么您并沒有真正知道這意味著什么或為什么,這是人工智能的一個好處。
這就是為什么這些東西有效,以及為什么我們不必對它們的每個方面都進行編程。這也是它們很難調試的原因。在這一點上,匹配輸出是最接近可證明性的東西。這個軟件版本和這個硬件版本做同樣的事情。我們知道他們做同樣的事情。因此,我們將假設它是正確的,但這種方法存在許多固有風險。
Raymond Nijssen:我認為我們正在討論一些重要的事情:監督學習和無監督學習之間的區別。同樣的道理,當機器學習在 20 年前開始時,人們擁有特定領域的知識,如果你想識別一只貓,你必須進行邊緣檢測。然后你必須在上面找到一些橢圓形和兩個三角形。這是一條規則,你可以走得很遠。他們碰到了玻璃天花板,直到他們提出了無監督學習,基本上沒有規則來驅動系統。該系統必須通過提供大量這些流因素來工作。該工具得出的系數使得貓的尾巴被識別出來,而無需任何人指定規則是什么。
讓我們看看有規則的應用程序,并且您想將這些規則指定給系統。這絕對是一種很有希望的途徑。此外,它不如不依賴規則但依賴大量輸入的自學習系統智能。
在某些時候,您還必須區分現在的人工智能和自然智能。這兩者之間的真正區別是什么?
自然智能是插值和外推之間的區別。如果您閱讀杰夫·霍金斯 (Jeff Hawkins) 的《論智能》一書,就會思考智能的真正含義。基本上,它將我們所有人描述為外推引擎。
在我們的童年時期,我們知道如果你有事件 A,然后是事件 B,然后是事件 C,下次你有事件 A 和事件 B,你知道事件 C 會隨之而來。我們都是外推引擎,只要我們這樣做,我們的工作就是安全的。如果你的人工智能可能會以某種方式影響你的工作,或者你發現自己一直在插值,那么你應該專注于尋找可以改變你的工作以進行推斷的方法。
當您開始外推時,不再清楚它的工作有多完美,因為現在您沒有數據,因為這里有一堆點的數據。現在我們可能會對那邊的 x 軸方式產生影響,現在我們必須進行推斷,并且您沒有與之前的訓練數據相同的置信度。
對于設計驗證,風險在于有人可能會說自學系統可能會遺漏一些東西,或者訓練數據可能不夠好。然后這可能不會發生在規則驅動的系統中,規則提供了更高的可能性,即系統將在大量數據上發現與規則的偏差。這些區別很重要。
在這個迷你系列的第 3 部分和第 4 部分中,小組成員回答觀眾成員的問題。
審核編輯 黃昊宇
-
驗證工具
+關注
關注
0文章
9瀏覽量
7480 -
設計工具
+關注
關注
0文章
19瀏覽量
9250 -
人工智能芯片
+關注
關注
1文章
119瀏覽量
29068
發布評論請先 登錄
相關推薦
評論