英偉達(dá)發(fā)布了一個(gè)以自家內(nèi)部數(shù)據(jù)為基礎(chǔ)訓(xùn)練而成的定制大語(yǔ)言模型——ChipNeMo,可以幫助工程師完成與芯片設(shè)計(jì)相關(guān)的任務(wù)。
這廂,黃仁勛穿著花背心、拿著手絹出席年會(huì)。那廂,Sam Altman 正在籌措數(shù)十億資金,以建立新 AI 芯片公司。
春風(fēng)得意與雄心勃勃的對(duì)比之下,正是當(dāng)前 AI 芯片領(lǐng)域的真實(shí)寫照,算力至上的時(shí)代,英偉達(dá)幾乎是卡所有人脖子。所以,越來越多 AI 芯片初創(chuàng)企業(yè)如雨后春筍般拔地而起,更有甚者高喊對(duì)標(biāo)、替代英偉達(dá),同時(shí)微軟、谷歌等大廠也開始更加勤奮地自研芯片。
誠(chéng)然,自進(jìn)入智能時(shí)代以來,芯片已經(jīng)成為了一眾科技巨頭的「阿喀琉斯之踵」,而半導(dǎo)體行業(yè)的高門檻也使得這一技術(shù)圍城很難被輕易攻克。除了華為已經(jīng)「現(xiàn)身說法」的生產(chǎn)環(huán)節(jié)外,半導(dǎo)體設(shè)計(jì)同樣極具挑戰(zhàn)性。尤其是在電子芯片逼近摩爾定律極限,算力需求卻持續(xù)走高之際,如何在先進(jìn)制程上發(fā)揮更高性能就成為了 AI 芯片設(shè)計(jì)的重要挑戰(zhàn)。
具有 144 個(gè) SM 的 GH100 完整 GPU
如上圖所示,在顯微鏡下,NVIDIA H100 Tensor Core GPU 這樣的先進(jìn)芯片看起來就像一個(gè)精心規(guī)劃的城市,由數(shù)百億個(gè)晶體管組成,比人的頭發(fā)絲還細(xì) 1 萬(wàn)倍的「街道」將這些晶體管連接起來。而整個(gè)城市的搭建,需要多個(gè)工程團(tuán)隊(duì)協(xié)作兩年才能完成。
其中,各個(gè)部門分工協(xié)作,一些定義芯片的整體架構(gòu),一些負(fù)責(zé)各種超小型電路的設(shè)計(jì)與布局,還有一些負(fù)責(zé)測(cè)試工作。每項(xiàng)工作都需要采取專門的方法、軟件程序和計(jì)算機(jī)語(yǔ)言,復(fù)雜程度可見一斑,而這也恰恰是芯片廠商的技術(shù)護(hù)城河。
有意思的是,憑借最強(qiáng) AI 芯片瘋狂掏空大廠錢包的英偉達(dá),也開始琢磨起利用 AI 更「輕松」地賺錢。不久前,英偉達(dá)發(fā)布了一個(gè)以自家內(nèi)部數(shù)據(jù)為基礎(chǔ)訓(xùn)練而成的定制大語(yǔ)言模型——ChipNeMo,可以幫助工程師完成與芯片設(shè)計(jì)相關(guān)的任務(wù),目前僅供內(nèi)部使用。
該成果已收錄于 arXiv,論文地址:
https://arxiv.org/abs/2311.00176
關(guān)注公眾號(hào),后臺(tái)回復(fù)「ChipNeMo」即可下載論文
基于領(lǐng)域自適應(yīng)技術(shù)為芯片設(shè)計(jì)定制 LLM
英偉達(dá)的研究人員并沒有選擇直接部署已有的 LLMs,而是基于領(lǐng)域自適應(yīng)技術(shù) ,利用 NVIDIA NeMo 對(duì)基礎(chǔ)模型 (70 億參數(shù)、130 億參數(shù)、700 億參數(shù)的 LLaMA2) 進(jìn)行了定制。
注:NVIDIA NeMo 是一款端到端云原生框架,可以靈活地構(gòu)建、定制和部署生成式 AI 模型,包含訓(xùn)練和推理框架、護(hù)欄工具包、數(shù)據(jù)管護(hù)工具和預(yù)訓(xùn)練模型
ChipNeMo 采用多種領(lǐng)域自適應(yīng)技術(shù) (domain adaptation techniques) 以使 LLMs 適應(yīng)芯片設(shè)計(jì)領(lǐng)域,其中包括:
* 用于芯片設(shè)計(jì)數(shù)據(jù)的定制分詞器 (custom tokenizers)
* 使用大量領(lǐng)域數(shù)據(jù)進(jìn)行的領(lǐng)域自適應(yīng)預(yù)訓(xùn)練 (domain-adaptive continued pretraining)
* 帶有領(lǐng)域特定任務(wù)的監(jiān)督微調(diào) (supervised fine-tuning with domain-specific instructions)
* 使用經(jīng)過微調(diào)的檢索模型 (domain-adapted retrieval models)
* 檢索增強(qiáng)生成 (RAG)
研究人員通過工程助手聊天機(jī)器人、EDA 腳本生成以及故障總結(jié)和分析三個(gè)具體應(yīng)用,對(duì) ChipNeMo 進(jìn)行實(shí)測(cè)評(píng)估。
ChipNeMo 訓(xùn)練流程
其中,領(lǐng)域特定的分詞器通過定制規(guī)則,能夠提高對(duì)特定術(shù)語(yǔ)的標(biāo)記化效率 (tokenization efficiency)。研究人員將 ChipNeMo 預(yù)訓(xùn)練的分詞器調(diào)整為適應(yīng)該研究的芯片設(shè)計(jì)數(shù)據(jù)集,僅為領(lǐng)域特定術(shù)語(yǔ)添加新的標(biāo)記。
在領(lǐng)域自適應(yīng)預(yù)訓(xùn)練 (DAPT) 期間,研究人員將英偉達(dá)內(nèi)部的芯片設(shè)計(jì)數(shù)據(jù)與公開數(shù)據(jù)集結(jié)合,經(jīng)過收集、清洗、過濾,內(nèi)部數(shù)據(jù)訓(xùn)練語(yǔ)料庫(kù)共擁有 231 億個(gè) token,涵蓋設(shè)計(jì)、驗(yàn)證、基礎(chǔ)設(shè)施,以及相關(guān)的內(nèi)部文檔。
在進(jìn)行有領(lǐng)域特定指令的監(jiān)督微調(diào) (SFT) 時(shí),研究人員使用公開的通用聊天指令數(shù)據(jù)集進(jìn)行多輪聊天,并結(jié)合少量領(lǐng)域特定指令數(shù)據(jù)集對(duì) ChipNeMo 基礎(chǔ)模型進(jìn)行 SFT,生成 ChipNeMo Chat 模型。
此外,研究人員通過使用 Tevatron 框架生成了 3000 個(gè)特定領(lǐng)域的自動(dòng)生成樣本,對(duì) e5 小型無(wú)監(jiān)督模型進(jìn)行微調(diào),從而創(chuàng)建了該研究的領(lǐng)域適應(yīng)檢索模型。
為了解決 ChatBot 普遍存在的「幻覺」問題,研究人員采用了檢索增強(qiáng)生成 (RAG),從而提高特定領(lǐng)域問題的答案質(zhì)量。
具體而言,RAG 從數(shù)據(jù)庫(kù)中檢索相關(guān)段落,將其與問題一起包含在提示中,從而使 LLM 能夠更加基于事實(shí)地生成更準(zhǔn)確的答案。同時(shí),研究人員發(fā)現(xiàn),通過使用適量的領(lǐng)域特定訓(xùn)練數(shù)據(jù)對(duì)無(wú)監(jiān)督預(yù)訓(xùn)練稠密檢索模型進(jìn)行微調(diào),可以顯著提高檢索的準(zhǔn)確性。
RAG 實(shí)現(xiàn)過程
此外,領(lǐng)域自適應(yīng)技術(shù)除了能夠令大語(yǔ)言模型更加適配芯片設(shè)計(jì)領(lǐng)域外,還能夠減少模型參數(shù)高達(dá) 5 倍,從而減少推理成本。
值得一提的是,所有模型均使用 128 個(gè) A100 GPU 進(jìn)行訓(xùn)練,研究人員估測(cè)了 ChipNeMo 領(lǐng)域自適應(yīng)預(yù)訓(xùn)練的成本,如下表所示。其中,DAPT 的占比不足從零開始預(yù)訓(xùn)練基礎(chǔ)模型總成本的 1.5%。
130億參數(shù)的定制模型超越LLaMA2
研究人員在三種芯片設(shè)計(jì)應(yīng)用中對(duì) ChipNeMo 的實(shí)際性能進(jìn)行監(jiān)測(cè)評(píng)估,分別是工程助手聊天機(jī)器人 (Engineering Assistant Chatbot)、EDA 腳本生成 (EDA Script Generation)、Bug 總結(jié)與分析 (Bug Summarization and Analysis)。
首先,工程助手聊天機(jī)器人可以幫助芯片設(shè)計(jì)工程師回答有關(guān)架構(gòu)、設(shè)計(jì)、驗(yàn)證等方面的問題,避免其基于錯(cuò)誤的假設(shè)而編寫代碼或調(diào)試其不熟悉的代碼,從而提高生產(chǎn)力。此外,Chatbot 還能從內(nèi)部設(shè)計(jì)文檔、代碼、有關(guān)設(shè)計(jì)的其他記錄數(shù)據(jù)、以及技術(shù)溝通留痕(電子郵件、公司即時(shí)通信等)中提取相關(guān)知識(shí),幫助工程師提高工作效率。
工程助手聊天機(jī)器人示例
其次,EDA 腳本編寫是工業(yè)芯片設(shè)計(jì)流程中的重要環(huán)節(jié)。過去,工程師需要學(xué)習(xí)內(nèi)部腳本庫(kù)、查閱工具文檔,并調(diào)試腳本,占用大量時(shí)間。所以,研究人員從自然語(yǔ)言任務(wù)描述中,基于 Tool1 (Python)、Tool2 (TCL) 生成了兩種不同類型的腳本。工程師可以在同一界面查詢模型并運(yùn)行生成的代碼,同時(shí)還能看到還需要多少次更正才能獲得一個(gè)可運(yùn)行的腳本。
LLM 腳本生成器與 EDA 工具的集成
EDA 腳本生成器示例
第三,針對(duì) Bug 總結(jié)與分析,研究人員利用英偉達(dá)內(nèi)部的 Bug 數(shù)據(jù)庫(kù) NVBugs,還構(gòu)建了一個(gè)領(lǐng)域特定的 SFT 數(shù)據(jù)集。
Bug 總結(jié)與分析示例
研究人員針對(duì)芯片設(shè)計(jì)知識(shí)、EDA 腳本、Bug 分析、電路設(shè)計(jì)和 MMLU(Mean Multi-Language Understanding,多語(yǔ)言理解均值)對(duì) ChipNeMo 的性能進(jìn)行了對(duì)比評(píng)估。
結(jié)果顯示,ChipNeMo 的性能隨基礎(chǔ)模型的參數(shù)規(guī)模大小而提高,ChipNeMo 領(lǐng)域自適應(yīng)預(yù)訓(xùn)練在基礎(chǔ)模型上提供了顯著的性能改善。同時(shí),最優(yōu) ChipNeMo 模型在所有基準(zhǔn)測(cè)試上的性能均優(yōu)于 GPT-3.5,在設(shè)計(jì)知識(shí)和 Bug 基準(zhǔn)測(cè)試上優(yōu)于 GPT-4。
此外,在芯片設(shè)計(jì)任務(wù)中,只有 130 億個(gè)參數(shù)的定制 ChipNeMo 模型的性能達(dá)到或超過了更大的通用大語(yǔ)言模型(例如包含 700 億個(gè)參數(shù)的 LLaMA2)。
大模型設(shè)計(jì)芯片還真不是新鮮事
目前,ChipNeMo 僅供內(nèi)部使用,并且由于使用了英偉達(dá)內(nèi)部數(shù)據(jù)進(jìn)行訓(xùn)練,未來對(duì)外開源的可能性或許也不大。盡管如此,英偉達(dá)作為顯卡巨頭,借助大語(yǔ)言模型優(yōu)化工作流程的這一舉動(dòng),對(duì)行業(yè)而言還是頗具啟發(fā)意義的。
一方面,芯片設(shè)計(jì)的高門檻不僅體現(xiàn)在技術(shù)壁壘上,同時(shí)也體現(xiàn)在經(jīng)驗(yàn)與成本方面。從設(shè)計(jì)到落地、再到投產(chǎn)的每一個(gè)步驟,都可能成為行業(yè)競(jìng)爭(zhēng)中的「超車點(diǎn)」。而大模型的加入,對(duì)一些起步較晚、自身經(jīng)驗(yàn)積累不足的初創(chuàng)企業(yè)企業(yè)而言,可以在更短的時(shí)間內(nèi)「博采眾長(zhǎng)」,甚至可以看作是直接聘請(qǐng)了一位經(jīng)驗(yàn)豐富的工程師。不過,這需要更多的開源數(shù)據(jù)與模型支撐。
另一方面,在大模型以 Chatbot 的形式持續(xù)驚艷世人的同時(shí),很多企業(yè)都想基于開源模型,研發(fā)更加契合自身行業(yè)特點(diǎn)與業(yè)務(wù)屬性的大語(yǔ)言模型,但大多都因?yàn)殡y以解決高昂的訓(xùn)練成本而打了退堂鼓,同時(shí)還要考慮訓(xùn)練數(shù)據(jù)安全問題。這一點(diǎn)也在英偉達(dá)身上再次得到印證,訓(xùn)練 ChipNeMo 所用的 128 個(gè) A100 GPU 就不是所有企業(yè)能夠輕易獲得的。
值得注意的是,ChipNeMo 其實(shí)并不是大模型在芯片領(lǐng)域的首次落腳。
早在 2023 年 5 月,紐約大學(xué)坦登工程學(xué)院的研究人員就已經(jīng)通過與 AI「對(duì)話」,首次實(shí)現(xiàn)了由人工智能來設(shè)計(jì)一種微處理器芯片。
論文鏈接:
https://arxiv.org/abs/2305.13243
關(guān)注公眾號(hào),后臺(tái)回復(fù)「Chip-Chat」即可下載論文
紐約大學(xué)教授 Hammond Pearce 在接受采訪時(shí)介紹道:“我根本就不是一個(gè)芯片設(shè)計(jì)專家。這是我設(shè)計(jì)的第一個(gè)芯片。我認(rèn)為這是這件事令人印象深刻的原因之一。”
具體而言,研究人員通過 124 次對(duì)話成功讓 GPT-4 設(shè)計(jì)出一個(gè) 8 位累加器微處理器,經(jīng)由 Skywater 130nm shuttle 進(jìn)行制造。
就在這一研究成果發(fā)布的第二天,中國(guó)科學(xué)院計(jì)算技術(shù)研究所在 arXiv 上發(fā)布了 ChipGPT,再度掀起討論熱潮。研究人員表示,ChipGPT 是一種嘗試,旨在探索使用自然語(yǔ)言芯片規(guī)范自動(dòng)生成邏輯設(shè)計(jì)的可行性,并利用當(dāng)前的 LLM 降低傳統(tǒng)上需要高度專業(yè)知識(shí)和人工勞動(dòng)的硬件前端設(shè)計(jì)成本。
論文地址:
https://arxiv.org/abs/2305.14019
研究結(jié)論表明,ChipChat 與傳統(tǒng)敏捷方法相比,代碼量可以減少 5.32-9.25 倍。在優(yōu)化面積模式下,ChipGPT 的面積減少最大可達(dá) 47%, 比原始 ChatGPT 模型減少更多。
此外,基于 AI 優(yōu)化芯片設(shè)計(jì)也并非新概念。除了英偉達(dá)之外,谷歌等大廠均有布局。谷歌團(tuán)隊(duì)曾在 2021年 發(fā)布論文《A graph placement methodology for fast chip design》,介紹了一種用于芯片版面規(guī)劃的深度強(qiáng)化學(xué)習(xí)方案。英偉達(dá)也曾在 2022 年發(fā)布基于深度增強(qiáng)學(xué)習(xí)的電路設(shè)計(jì)方法 PrefixRL。
不過,ChipNeMo 歷經(jīng)沉淀,且為定制模型,在應(yīng)用的契合度與效率層面勢(shì)必都將更具優(yōu)勢(shì)。在這個(gè) AI 芯片內(nèi)卷的時(shí)代,英偉達(dá)作為遙遙領(lǐng)先的「卷王」,竟然還想著用 AI 提升效率,或許也是感受到了追趕者帶來的壓力?
參考資料:
https://blogs.nvidia.cn/2023/10/31/llm-semiconductors-chip-nemo
https://mp.weixin.qq.com/s/cRa-qAUTB2czlUcGb4YiDw
https://mp.weixin.qq.com/s/54BCR1wMoncvRYfaccNk3g