LLM若想高速推理,現如今,連GPU都無法滿足了?
曾造出世界最大晶片公司Cerebras,剛剛發佈了全球最快的AI推理架構——Cerebras Inference。
運行Llama3.1 8B時,它能以1800 token/s的速率吐出文字。
不論是總結文件,還是程式碼生成等任務,響應幾乎一閃而過,快到讓你不敢相信自己的眼睛。
如下圖右所示,以往,微調版Llama3.1 8B推理速度為90 token/s,清晰可見每行文字。
而現在,直接從90 token/s躍升到1800 token/s,相當於從撥號上網邁入了頻寬時代。
左邊Cerebras Inference下模型的推理速度,只能用「瞬間」、「瘋狂」兩字形容。
這是什麼概念?
比起輝達GPU,Cerebras Inference的推理速度快20倍,還要比專用Groq晶片還要快2.4倍。
另外,對於70B參數的Llama3.1,可達到450 token/s及時響應。
值得一提的是,Cerebras並沒有因為提高LLM的速度,而損失其精度。
測試中,使用的Llama3.1模型皆是採用了Meta原始16位權重,以便確保響應高精度。
最關鍵的是,價格還實惠。
根據官方API定價,Llama 3.1 8B每百萬token僅需10美分,Llama 3 70B每百萬token僅需60美分。
如此之高的性價比,更是打破了業界紀錄——
不僅遠超之前的保持者Groq,而且和其他平台相比,甚至是隔「坐標軸」相望了。
正是因為Cerebras Inference背後,是由自研的第三代晶片Wafer Scale Engine助力,才得以1/5價格快速推理Llama3.1。
看到自家模型推理如此神速,LeCun、Pytorch之父紛紛動手轉發起來。
還有網友看後表示,我想要!
關鍵原因所在,大模型自身的順序特性,以及需要大量的GPU記憶體和頻寬。
由於GPU的記憶體頻寬限制,如今推理速度為每秒幾十個token,而不是數千個。
更進一步說,大模型每個生成的單詞,都必須通過整個模型進行處理,即所有參數必須從記憶體投入到計算中。
而每生成一個單詞,就需要一次處理,以此循環往復。
也就是,生成100個單詞需要100次處理,因為「下一詞」的預測,皆需要依賴前一個單詞,而且這個過程無法平行。
那麼,想要每秒生成100個單詞,就需要所有模型參數,每秒投入計算100次。
由此,這對GPU記憶體頻寬提出了高要求。
以社區流行的Llama3.1-70B模型為例。
模型有700億參數,每個參數是16位,需要2字節的儲存,那整個模型便需要140GB的記憶體。
想要模型輸出一個token,那700億參數必須從記憶體,移動到計算核心,以執行前向推理計算。
由於GPU只有約200MB的片上記憶體,模型無法儲存在晶片。
因此,每次生成的token輸出時,需將整個佔用140GB記憶體的模型,完整傳輸到計算中。
再細算下來,為了實現10 token/s,則需要10*140=1.4 TB/s的記憶體頻寬。
那麼,一個H100有3.3 TB/s的記憶體頻寬,足以支援這種緩慢的推理。
而若要實現即時推理,需要達到1000 token/s或140 TB/s,這遠遠超過任何GPU伺服器/系統記憶體頻寬。
或許,你想到了一種「暴力」解決方案,將多個GPU串聯搭建DGX系統。
這完全是大錯特錯,更多的處理器只會增加系統的吞吐量(給出更長響應),並不會加速單個查詢的響應時間。
一直以來,這家公司就致力於打造世界上最大晶片,希望將整個模型儲存在一個晶片上,以此來解決記憶體頻寬瓶頸。
憑藉獨特的晶圓設計,WSE-3單個晶片上便整合了44GB SRAM,具備21 PB/s的記憶體頻寬。
單個晶片擁有如此大記憶體,便消除了對外部記憶體的需求,以及將外部記憶體連接到計算的慢速通道。
總的來說,WSE-3的總記憶體頻寬為21PB/s,是H100的7000倍。
它是唯一一款同時具有PB級計算和PB級記憶體頻寬的AI晶片,使其成為高速推理的近乎理想設計。
Cerebras推理不僅速度超快,而且吞吐量巨大。
與小型AI晶片相比,晶片上記憶體多了約200倍,支援從1-100的批大小,使其在大規模部署時,具有極高的成本效益。
正是有了如此強大的晶片,Cerebras Inference的快速推理得以實現。
它的出現,是為了實現數十億到兆參數模型的推理。
如果模型參數超過單個晶圓的記憶體容量時,研究人員將在「層邊界」將其拆分,並對應到多個CS-3系統上。
20B模型適合單個CS-3,而70B模型則至少需要4個這樣的系統。
官方表示,未來幾周,將會測試更大參數版本的模型,比如Llama3-405B、Mistral Large。
業界中,一些公司試圖將模型權重精度,從16位減少到8位,來克服記憶體頻寬的瓶頸。
這樣方法,通常會造成模型精度損失,也就是響應結果的精準性、可靠性不如以前。
Cerebras Inference之所以強就強在了,速率和原始權重,皆要顧及。
正如開篇所述,他們採用了原始16位權重運行了Llama3.1 8B和70B。
通過評估,16位模型精準率比8位模型,高出多達5%。尤其是在,多輪對話、數學和推理任務中表現更好。
基於熟悉的OpenAI Chat Completions格式,開發者只需更換API金鑰即可整合強大的推理功能。
Cerebras Inference API提供最佳的性能、速度、精度和成本組合。
它是唯一能即時運行Llama3.1-70B的方案,可實現450 token/s,同樣使用的是原始16位模型權重。
在此,Cerebras送上大福利,每天為開發者們提供100萬個免費token。對於大規模部署,其定價只是H100雲的一小部分。
首次推出時,Cerebras提供了Llama3.1 8B和70B模型,而且有能力每天為開發者和企業,提供數千億token。
接下來幾周,他們將增加對更大模型的支援,如Llama3 405B、Mistral Large 2。
有開發者問道,你們提供的rpm(每分鐘請求次數)和tpm(每分鐘處理token數)是多少?
Cerebras提供了一張針對Llama 3.1 8B和70B模型完整的請求/token處理數的圖。
通常,LLM會即刻輸出自己的全部想法,而不考慮最佳答案。而諸如scaffolding(腳手架)這類的新技術,則如同一個深思熟慮的智能體,會在作出決定前探索不同的可能解決方案。
這種「先思考後發言」的方式在程式碼生成等嚴苛任務中,可以帶來超過10倍的性能提升,從根本上提升了AI模型的智能,且無需額外訓練。
但這些技術在執行階段,需要多達100倍的token。
因此可見,如果我們能大幅縮短處理時間,那麼就可以實現更為複雜的AI工作流程,進而即時增強LLM的智能。
但極致的速度,確實為Cerebras帶來了極致的速度-價格和速度-延遲比。
不過,值得注意的是,在Cerebras上跑的Llama 3.1,上下文只有8k……
相比之下,其他平台都是128K。 (新智元)
具體資料如下:
Llama 3.1 70B
Llama 3.1 8B