英偉達(dá)發(fā)布大語言模型,專攻輔助芯片設(shè)計(jì)
英偉達(dá)推出了自家最新430億參數(shù)大語言模型——ChipNeMo。
圖片
對(duì)于它的用途,英偉達(dá)在官方披露消息中也是非常的明確,劍指AI芯片設(shè)計(jì)。
具體而言,ChipNeMo可以幫助工作人員完成與芯片設(shè)計(jì)相關(guān)的任務(wù)——
包括回答有關(guān)芯片設(shè)計(jì)的一般問題、總結(jié)bug文檔,以及為EDA工具編寫腳本等等。
英偉達(dá)首席科學(xué)家Bill Dally對(duì)此表示:
我們的目標(biāo)是讓英偉達(dá)的設(shè)計(jì)師更有效率。
即使我們的生產(chǎn)率(因ChipNeMo)只提高了幾個(gè)百分點(diǎn),這也是值得的。
△英偉達(dá)首席科學(xué)家Bill Dally
以英偉達(dá)H100 Tensor Core GPU為例,它由數(shù)百億個(gè)晶體管組成,在顯微鏡下看著就像是一個(gè)精心規(guī)劃建設(shè)的城市一般。
這些晶體管連接在比人類頭發(fā)絲還細(xì)10000倍的“街道”上,需要多個(gè)工程團(tuán)隊(duì)協(xié)作兩年多的時(shí)間來完成,其間繁瑣且龐大的工作量,可見一斑。
因此,在英偉達(dá)看來,隨著ChipNeMo這樣大語言模型的問世,所有的工作流程都將在效率上得以提升。
用Bill Dally的話來說:
這項(xiàng)工作標(biāo)志著將大語言模型應(yīng)用于半導(dǎo)體設(shè)計(jì)的復(fù)雜工作的重要第一步。
它展示了即使是高度專業(yè)化的領(lǐng)域,也可以使用其內(nèi)部數(shù)據(jù)來訓(xùn)練有用的生成式AI模型。
英偉達(dá)設(shè)計(jì)芯片有了新幫手
總體來看,ChipNeMo能夠幫助英偉達(dá)內(nèi)部的芯片設(shè)計(jì)師們完成三大方面的工作。
首先就是問答。
ChipNeMo包含一個(gè)原型聊天機(jī)器人,它可以回答有關(guān) GPU 架構(gòu)和設(shè)計(jì)的問題,幫助許多工程師在早期測(cè)試中快速找到技術(shù)文檔。
例如,你可以向它提問:
為什么我們要添加重新計(jì)時(shí)階段(retiming stages)?
圖片
ChipNeMo就會(huì)基于這個(gè)問題,給出精準(zhǔn)的答案:
重新計(jì)時(shí)階段的增加是為了改善設(shè)計(jì)的時(shí)序,并考慮到芯片不同部分之間的物理距離。
通過增加重定時(shí)級(jí),我們可以減少信號(hào)在芯片不同部分之間傳輸所需的時(shí)間,這有助于提高設(shè)計(jì)的整體性能。
此外,重定時(shí)級(jí)還可以幫助減少信號(hào)上可能出現(xiàn)的噪聲和干擾的數(shù)量,從而進(jìn)一步提高設(shè)計(jì)的性能。
其次是DEA腳本生成。
例如只需向ChipNeMo用自然語言提出想要生成代碼的要求即可:
在TOOL1中編寫代碼,輸出給定矩形(0,0,100,100)中觸發(fā)器單元的數(shù)量。
圖片
僅需靜候片刻,帶著注釋的代碼片段“啪的一下”就生成了。
據(jù)了解,英偉達(dá)目前還在對(duì)代碼生成器(如下圖所示)進(jìn)行開發(fā),它將來會(huì)和現(xiàn)有的工具做一個(gè)集成,好讓工程師用起來更加方便。
圖片
最后是Bug總結(jié)和分析。
芯片設(shè)計(jì)人員只需要向ChipNeMo描述一下情況即可,例如prompt的內(nèi)容可能包括Bug的ID、Synopsis、Module和Description等等。
圖片
而后ChipNeMo就會(huì)根據(jù)prompt,給出做好的技術(shù)總結(jié)和管理總結(jié)等。
ChipNeMo是怎么煉成的?
首先在數(shù)據(jù)集方面,英偉達(dá)主要采用的Bug總結(jié)、設(shè)計(jì)源(Design Source)、文檔以及維基百科、GitHub等硬件相關(guān)的代碼和自然語言文本。
再經(jīng)過一個(gè)集中的數(shù)據(jù)采集過程來收集,最終在清洗和過濾之后,形成了241億個(gè)token。
圖片
其次在算法、架構(gòu)設(shè)計(jì)方面,英偉達(dá)并沒有直接拿目前已商用、開源的大語言模型來做部署。
而是主要采用了這些領(lǐng)域自適應(yīng)(Domain-Adapted)技術(shù),包括自定義標(biāo)記器、領(lǐng)域自適應(yīng)持續(xù)預(yù)訓(xùn)練、帶有領(lǐng)域特定指令的監(jiān)督微調(diào)(SFT),以及領(lǐng)域自適應(yīng)檢索模型。
圖片
在此方法之下,便提高了大語言模型在工程助理聊天機(jī)器人、EDA腳本生成和Bug摘要和分析等三個(gè)應(yīng)用中的性能。
結(jié)果顯示,這些領(lǐng)域自適應(yīng)技術(shù)使得大語言模型的性能超過通用基礎(chǔ)模型;同時(shí)模型大小最多可減少5倍,且保持相似或更好的性能。
圖片
不過論文作者也坦言:
雖然目前的結(jié)果已經(jīng)取得了一些進(jìn)展,但與理想結(jié)果之間仍存在改進(jìn)空間。進(jìn)一步研究領(lǐng)域適應(yīng)的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