作者:
武卓 博士 英特爾 OpenVINO 布道師
隨著大語(yǔ)言模型的廣泛應(yīng)用,模型的計(jì)算需求大幅提升,帶來(lái)推理時(shí)延高、資源消耗大等挑戰(zhàn)。vLLM 作為高效的大模型推理框架,通過(guò) OpenVINO 的優(yōu)化,vLLM 用戶不僅能夠更高效地部署大模型,還能提升吞吐量和處理能力,從而在成本、性能和易用性上獲得最佳平衡。這種優(yōu)化對(duì)于需要快速響應(yīng)和節(jié)省資源的云端或邊緣推理應(yīng)用尤為重要。目前,OpenVINO 最新版本 OpenVINO 2024.4 中已經(jīng)支持與 vLLM 框架的集成,只需要一步安裝,一步配置,就能夠以零代碼修改的方式,將 OpenVINO 作為推理后端,在運(yùn)行 vLLM 對(duì)大語(yǔ)言模型的推理時(shí)獲得推理加速。
01vLLM 簡(jiǎn)介
vLLM 是由加州大學(xué)伯克利分校開發(fā)的開源框架,專門用于高效實(shí)現(xiàn)大語(yǔ)言模型(LLMs)的推理和部署。它具有以下優(yōu)勢(shì):
高性能:相比 HuggingFace Transformers 庫(kù),vLLM 能提升多達(dá)24倍的吞吐量。
易于使用:無(wú)需對(duì)模型架構(gòu)進(jìn)行任何修改即可實(shí)現(xiàn)高性能推理。
低成本:vLLM 的出現(xiàn)使得大模型的部署更加經(jīng)濟(jì)實(shí)惠。
02一步安裝:搭建 vLLM+OpenVINO 阿里云ECS開發(fā)環(huán)境
下面我們以在阿里云的免費(fèi)云服務(wù)器 ECS 上運(yùn)行通義千問(wèn) Qwen2.5 模型為例,詳細(xì)介紹如何通過(guò)簡(jiǎn)單的兩步,輕松實(shí)現(xiàn) OpenVINO 對(duì) vLLM 大語(yǔ)言模型推理服務(wù)的加速。
在阿里云上申請(qǐng)免費(fèi)的云服務(wù)器 ECS 資源,并選擇 Ubuntu22.04 作為操作系統(tǒng)。
接著進(jìn)行遠(yuǎn)程連接后,登錄到終端操作界面。
請(qǐng)按照以下步驟配置開發(fā)環(huán)境:
1. 更新系統(tǒng)并安裝 Python 3 及虛擬環(huán)境:
sudo apt-get update -y sudo apt-get install python3 python3.10-venv -y
2. 建立并激活 Python 虛擬環(huán)境:
python3 -m venv vllm_env source vllm_env/bin/activate
3. 克隆 vLLM 代碼倉(cāng)庫(kù)并安裝依賴項(xiàng):
git clone https://github.com/vllm-project/vllm.git cd vllm pip install --upgrade pippip install -r requirements-build.txt --extra-index-url https://download.pytorch.org/whl/cpu
4. 安裝 vLLM 的 OpenVINO 后端:
PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" VLLM_TARGET_DEVICE=openvino python -m pip install -v .
至此,環(huán)境搭建完畢。
03魔搭社區(qū)大語(yǔ)言模型下載
接下來(lái),去魔搭社區(qū)下載最新的通義千問(wèn)2.5系列大語(yǔ)言模型,這里以 Qwen2.5-0.5B-Instruct 模型的下載為例。
模型下載地址為:
https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct
魔搭社區(qū)為開發(fā)者提供了多種模型下載的方式,這里我們以“命令行下載“方式為例。
首先用以下命令安裝 modelscope:
pip install modelscope
接著運(yùn)行以下命令完成模型下載:
modelscope download --model Qwen/Qwen2.5-0.5B-Instruct
下載后的模型,默認(rèn)存放在以下路徑中:
/root/.cache/modelscope/hub/Qwen/Qwen2___5-0___5B-Instruct
本次運(yùn)行的推理腳本,我們以 vllm 倉(cāng)庫(kù)中 examples 文件夾中的 offline_inference.py 推理腳本為例。由于 vLLM 默認(rèn)的腳本是從 Hugging Face 平臺(tái)上直接下載模型,而由于網(wǎng)絡(luò)連接限制無(wú)法從該平臺(tái)直接下載模型,因此我們采用上面的方式將模型從魔搭社區(qū)中下載下來(lái),接下來(lái)使用以下命令,修改腳本中第14行,將原腳本中的模型名稱“"facebook/opt-125m"”替換為下載后存放Qwen2.5模型的文件夾路徑”
/root/.cache/modelscope/hub/Qwen/Qwen2___5-0___5B-Instruct“即可,效果如下圖所示。
04一步配置:配置并運(yùn)行推理腳本
接下來(lái),在運(yùn)行推理腳本,完成 LLMs 推理之前,我們?cè)籴槍?duì) OpenVINO 作為推理后端,進(jìn)行一些優(yōu)化的配置。使用如下命令進(jìn)行配置:
export VLLM_OPENVINO_KVCACHE_SPACE=1 export VLLM_OPENVINO_CPU_KV_CACHE_PRECISION=u8 export VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS=ON
VLLM_OPENVINO_KVCACHE_SPACE:用于指定鍵值緩存(KV Cache)的大小(例如,VLLM_OPENVINO_KVCACHE_SPACE=100 表示為 KV 緩存分配 100 GB 空間)。較大的設(shè)置可以讓 vLLM 支持更多并發(fā)請(qǐng)求。由于本文運(yùn)行在阿里云的免費(fèi) ECS 上空間有限,因此本次示例中我們將該值設(shè)置為1。實(shí)際使用中,該參數(shù)應(yīng)根據(jù)用戶的硬件配置和內(nèi)存管理方式進(jìn)行設(shè)置。
VLLM_OPENVINO_CPU_KV_CACHE_PRECISION=u8:用于控制 KV 緩存的精度。默認(rèn)情況下,會(huì)根據(jù)平臺(tái)選擇使用 FP16 或 BF16 精度。
VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS:用于啟用模型加載階段的 U8 權(quán)重壓縮。默認(rèn)情況下,權(quán)重壓縮是關(guān)閉的。通過(guò)設(shè)置 VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS=ON 來(lái)開啟權(quán)重壓縮。
為了優(yōu)化 TPOT(Token Processing Over Time)和 TTFT(Time To First Token)性能,可以使用 vLLM 的分塊預(yù)填充功能(--enable-chunked-prefill)。根據(jù)實(shí)驗(yàn)結(jié)果,推薦的批處理大小為 256(--max-num-batched-tokens=256)。
最后,讓我們來(lái)看看 vLLM 使用 OpenVINO 后端運(yùn)行大語(yǔ)言模型推理的效果,運(yùn)行命令如下:
python offline_inference.py
除了運(yùn)行以上配置,可以利用 OpenVINO 在 CPU 上輕松實(shí)現(xiàn) vLLM 對(duì)大語(yǔ)言模型推理加速外,也可以利用如下配置在英特爾集成顯卡和獨(dú)立顯卡等 GPU 設(shè)備上獲取 vLLM 對(duì)大語(yǔ)言模型推理加速。
export VLLM_OPENVINO_DEVICE=GPU export VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS=ON
05結(jié)論
通過(guò)在 vLLM 中集成 OpenVINO 優(yōu)化,用戶能夠顯著提升大語(yǔ)言模型的推理效率,減少延遲并提高資源利用率。簡(jiǎn)單的配置步驟即可實(shí)現(xiàn)推理加速,使得在阿里云等平臺(tái)上大規(guī)模并發(fā)請(qǐng)求的處理變得更加高效和經(jīng)濟(jì)。OpenVINO 的優(yōu)化讓用戶在保持高性能的同時(shí)降低部署成本,為 AI 模型的實(shí)時(shí)應(yīng)用和擴(kuò)展提供了強(qiáng)有力的支持。
-
英特爾
+關(guān)注
關(guān)注
60文章
9880瀏覽量
171480 -
大模型
+關(guān)注
關(guān)注
2文章
2322瀏覽量
2479 -
OpenVINO
+關(guān)注
關(guān)注
0文章
87瀏覽量
181
原文標(biāo)題:開發(fā)者實(shí)戰(zhàn)|一步安裝,一步配置:用 vLLM + OpenVINO? 輕松加速大語(yǔ)言模型推理
文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論