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