原文來源:量子位元
圖片來源:由無界AI生成
英偉達推出了自家最新430億參數大語言模式-ChipNeMo。
對於它的用途,英偉達在官方披露消息中也是非常的明確,劍指AI晶片設計。
具體而言,ChipNeMo可以幫助工作人員完成與晶片設計相關的任務——
包括回答有關晶片設計的一般問題、總結bug文檔,以及為EDA工具編寫腳本等等。
英偉達首席科學家Bill Dally對此表示:
我們的目標是讓英偉達的設計師更有效率。
即使我們的生產力(因ChipNeMo)只提高了幾個百分點,這也是值得的。
△英偉達首席科學家Bill Dally
以英偉達H100 Tensor Core GPU為例,它由數百億個電晶體組成,在顯微鏡下看著就像是一個精心規劃建設的城市一般。
這些電晶體連接在比人類頭髮絲還細10,000倍的「街道」上,需要多個工程團隊協作兩年多的時間來完成,其間繁瑣且龐大的工作量,可見一斑。
因此,在英偉達看來,隨著ChipNeMo這樣大語言模式的問世,所有的工作流程都將在效率上得以提升。
用Bill Dally的話來說:
這項工作標誌著將大語言模型應用於半導體設計的複雜工作的重要第一步。
它展示了即使是高度專業化的領域,也可以使用其內部資料來訓練有用的生成式AI模型。
英偉達設計晶片有了新幫手
整體來看,ChipNeMo能夠幫助英偉達內部的晶片設計師們完成三大方面的工作。
首先就是問答。
ChipNeMo包含一個原型聊天機器人,它可以回答有關GPU 架構和設計的問題,幫助許多工程師在早期測試中快速找到技術文件。
例如,你可以向它提問:
為什麼我們要增加重新計時階段(retiming stages)?
ChipNeMo就會基於這個問題,給出精準的答案:
重新計時階段的增加是為了改善設計的時序,並考慮晶片不同部分之間的物理距離。
透過增加重定時級,我們可以減少訊號在晶片不同部分之間傳輸所需的時間,這有助於提高設計的整體性能。
此外,重定時級還可以幫助減少訊號上可能出現的雜訊和乾擾的數量,從而進一步提高設計的效能。
其次是DEA腳本產生。
例如只要向ChipNeMo用自然語言提出想要產生程式碼的要求即可:
在TOOL1中編寫程式碼,輸出給定矩形(0,0,100,100)中觸發器單元的數量。
只要靜候片刻,帶著註解的程式碼片段「啪的一下」就生成了。
據了解,英偉達目前也正在對程式碼產生器(如下圖所示)進行開發,它將來會和現有的工具做一個集成,好讓工程師用起來更加方便。
最後是Bug總結和分析。
晶片設計人員只需要向ChipNeMo描述一下情況即可,例如prompt的內容可能包括Bug的ID、Synopsis、Module和Description等等。
而後ChipNeMo就會根據prompt,給予做好的技術總結與管理總結等。
ChipNeMo是怎麼煉成的?
首先在資料集方面,英偉達主要採用的Bug總結、設計來源(Design Source)、文件以及維基百科、GitHub等硬體相關的程式碼和自然語言文字。
再經過一個中心化的資料收集過程來收集,最後在清洗和過濾之後,形成了241億個token。
其次在演算法、架構設計方面,英偉達並沒有直接拿目前已商用、開源的大語言模型來做部署。
而是主要採用了這些領域自適應(Domain-Adapted)技術,包括自訂標記器、領域自適應持續預訓練、具有領域特定指令的監督微調(SFT),以及領域自適應檢索模型。
在此方法之下,便提高了大語言模型在工程助理聊天機器人、EDA腳本產生和Bug摘要和分析等三個應用中的效能。
結果顯示,這些領域自適應技術使得大語言模型的效能超過通用基礎模型;同時模型大小最多可減少5倍,且保持相似或更好的效能。
不過論文作者也坦言:
雖然目前的結果已經取得了一些進展,但與理想結果之間仍有改進空間。進一步研究領域適應的LLM方法將有助於縮小這一差距。
參考連結:
[1]https://blogs.nvidia.com/blog/2023/10/30/llm-semiconductors-chip-nemo/
[2]https://www.eetimes.com/nvidia-trains-llm-on-chip-design/
[3]https://d1qx31qr3h6wln.cloudfront.net/publications/ChipNeMo%20%2824%29.pdf
資訊來源:由0x資訊編譯自8BTC。版權所有,未經許可,不得轉載