談到大模型私有化部署,很多人會(huì)首先想到數(shù)據(jù)中心,以為動(dòng)輒就得使用很多臺(tái)服務(wù)來(lái)支撐。一些中小企業(yè)或者應(yīng)用部門(mén),主要做知識(shí)庫(kù)和智能體方向的應(yīng)用,模型大小基本在70B以內(nèi)。只要搭配合理,用本地的專(zhuān)業(yè)工作站同樣可以訓(xùn)練推理,算得上極具性價(jià)比的方案了。
隨著OpenAI o1-preview的發(fā)布,大模型已經(jīng)越發(fā)成熟,距離走入企業(yè)生產(chǎn)應(yīng)用已經(jīng)很近了。但OpenAI提供訪問(wèn)的次數(shù)非常有限,這給企業(yè)用戶的AI應(yīng)用普及帶來(lái)了一定的費(fèi)用焦慮和困擾。為了應(yīng)對(duì)日益增長(zhǎng)的訪問(wèn)頻率需求,越來(lái)越多的企業(yè)用戶傾向于大模型的本地化部署。大模型本地部署可以極大地降低數(shù)據(jù)泄漏的風(fēng)險(xiǎn),而且系統(tǒng)響應(yīng)速度和實(shí)時(shí)性更強(qiáng),在一些需要快速反饋的場(chǎng)景里優(yōu)勢(shì)非常明顯,同時(shí)也能應(yīng)對(duì)企業(yè)個(gè)性化需求。
通過(guò)在傳統(tǒng)數(shù)據(jù)中心上進(jìn)行本地大模型部署的方法,會(huì)對(duì)IT設(shè)施帶來(lái)比較大的挑戰(zhàn),因?yàn)閺挠?jì)算資源來(lái)說(shuō),很多企業(yè)的數(shù)據(jù)中心計(jì)算資源很緊張,而且擴(kuò)展成本比較高,甚至有些中小企業(yè)還不具備搭建數(shù)據(jù)中心的能力。所幸的是,對(duì)于知識(shí)庫(kù)等企業(yè)級(jí)AI 應(yīng)用來(lái)說(shuō),完全可以用高配的AI工作站來(lái)應(yīng)對(duì)計(jì)算需求,以經(jīng)濟(jì)高效的方式減輕對(duì)數(shù)據(jù)中心計(jì)算資源的壓力,從而降低云服務(wù)的成本支出。
這次我們選用的是Dell Precision 7960 Tower,搭載了4張「NVIDIA RTX 5880 Ada 」顯卡,每張顯卡顯存48GB,相當(dāng)于在1臺(tái)工作站里就能最多有192GB顯存,完全可以部署Llama3.1 70B模型。
Dell Precision 7960 Tower
70B模型擁有700億參數(shù)量,在語(yǔ)言理解和生成方面具有顯著優(yōu)勢(shì),已經(jīng)能夠滿足常見(jiàn)的企業(yè)級(jí)AI應(yīng)用,比如知識(shí)庫(kù)應(yīng)用、對(duì)話問(wèn)答等,同時(shí)多任務(wù)處理能力也很強(qiáng),可以支持企業(yè)在一個(gè)統(tǒng)一的平臺(tái)上運(yùn)行多種AI 應(yīng)用。同時(shí),開(kāi)源大模型70B的開(kāi)放和靈活使得它在市場(chǎng)上具有廣泛的適用性,大大降低企業(yè)的使用成本。而且量化后的70B模型僅占70G的顯存,非常適合部署在工作站上,降低計(jì)算資源方面的成本。
購(gòu)置機(jī)器前我們做了相對(duì)完整的測(cè)試和驗(yàn)證,包括推理、訓(xùn)練和噪音測(cè)試,下面給大家分享一些數(shù)據(jù)。
一、測(cè)試環(huán)境
硬件配置:
硬件平臺(tái):Dell Precision 7960 Tower
CPU: Intel(R) Xeon(R) w5-3433
內(nèi)存:64G DDR5 * 8
GPU: NVIDIA RTX 5880 ada * 4
軟件平臺(tái)環(huán)境:
操作系統(tǒng):ubuntu22.04
Driver Version: 550.107.02
CUDA: 12.1
軟件包:conda python3.10 torch2.4 vllm0.6.1
測(cè)試模型:
這次我們分別測(cè)試了單GPU、雙GPU以及四卡GPU的表現(xiàn)情況。并在不同的模型下進(jìn)行測(cè)試,模型參數(shù)分別為8B/13B/32B/70B,具體模型名稱(chēng)如下:
Meta-Llama-3.1-8B-Instruct
Baichuan2-13B-Chat
Qwen1.5-32B-Chat
Meta-Llama-3.1-70B-Instruct
說(shuō)明:接下來(lái)的推理測(cè)試,會(huì)使用FP16或FP8格式進(jìn)行測(cè)試。在模型名稱(chēng)的后綴,如果有FP8字樣,則使用的是FP8格式,否則使用的是FP16格式。
FP8是NVIDIA、Arm、Intel聯(lián)合推出的8位浮點(diǎn)數(shù)據(jù)格式,用于加速深度學(xué)習(xí)訓(xùn)練和推理。相對(duì)于常用的半精度FP16而言,F(xiàn)P8在不損失多少精度的情況下,將顯存的占用大小減少了一半,特別適合于將大模型部署于工作站上。FP8訓(xùn)練利用E5M2/E4M3格式,具備與FP16相當(dāng)?shù)膭?dòng)態(tài)范圍,適用于反向傳播與前向傳播。FP8訓(xùn)練在相同加速平臺(tái)上的峰值性能顯著超越FP16/BF16,并且模型參數(shù)越大,訓(xùn)練加速效果越好,且其與16-bits訓(xùn)練在收斂性和下游任務(wù)表現(xiàn)上無(wú)顯著差異。
推理框架:
vllm推理引擎來(lái)進(jìn)行測(cè)試,為最大程度利用GPU顯存,將其GPU utilization參數(shù)設(shè)置為0.99。
述語(yǔ)說(shuō)明:
Batch size: 推理或訓(xùn)練時(shí)輸入的數(shù)據(jù)批量數(shù)量,為1表示單個(gè)輸入,例如一段文字,為2表明同時(shí)進(jìn)行兩段文字的生成,以此類(lèi)推。它代表的是用戶并發(fā)數(shù)量。
token/s:推理或訓(xùn)練的速度,每秒生成的數(shù)量。一個(gè)token是代表一個(gè)單詞或詞根,如果是中文的話,可能是一個(gè)字或一個(gè)詞。
AI 應(yīng)用場(chǎng)景測(cè)試列表