vLLM怎麼用 大模型推理加速引擎教程
更新時間:2026-10-16 15:36:39 釋出時間:8天前 閱讀:25 views次vLLM是一個大模型推理加速引擎,適合高吞吐量地執行Llama、Qwen等模型。它透過PagedAttention和連續批處理等機制提升視訊記憶體利用率與請求處理能力;部署成API服務後,通常能提高整體吞吐量和併發處理能力,但實際速度還取決於顯示卡、模型大小和請求長度。下面從安裝、離線測試到啟動服務走一遍。
第一步:安裝vLLM
先準備一臺裝有相容GPU的Linux機器,並確認驅動、CUDA、Python版本與所選vLLM安裝方式匹配。不同硬體平臺的安裝步驟並不完全一樣,不要把某個CUDA環境下的命令直接照搬到其他裝置上。新手建議先檢視官方安裝說明,選定平臺和對應版本,再開始配置。
在適配的Python環境中,可以用uv安裝,例如執行:uv pip install vllm –torch-backend auto。這裡的自動後端選項會為受支援的CUDA環境選擇PyTorch構建;如果你的機器使用ROCm、CPU或其他硬體,應按該平臺的安裝說明操作。安裝完成後執行:python -c “import vllm; print(vllm.__version__)”,確認匯入成功。
接著確認模型檔案從哪裡載入:可以使用模型倉庫標識,也可以準備本地模型目錄。第一次載入遠端模型時,需要網路連線,並確保模型檔案和配置能夠訪問;若需認證,按模型倉庫要求配置憑證。先選一個視訊記憶體能夠容納的小型指令模型試跑,成功後再換更大的模型,排錯會容易很多。
第二步:離線推理測試
離線推理適合批次處理文字、寫指令碼做驗證,不需要啟動HTTP服務。新建Python指令碼,匯入LLM和SamplingParams,載入模型後準備提示詞列表,再呼叫generate生成結果。最簡單的思路是:LLM(model=”模型名稱”)建立引擎,SamplingParams(temperature=0.7, max_tokens=128)設定生成引數,隨後遍歷輸出並列印文字。
執行指令碼時,把“模型名稱”替換成實際模型標識或本地目錄。首次啟動通常還要載入權重,等待時間可能較長;觀察終端是否出現視訊記憶體不足、模型格式不支援或檔案缺失等報錯。若是聊天指令模型,直接把普通提示詞交給generate未必會套用聊天模板;可使用llm.chat傳入role和content格式的訊息,或先用對應分詞器套用模型模板。
調整批處理和併發
離線任務可把多個提示片語成列表一次傳入generate,讓引擎排程批次請求;線上服務則會持續接收請求並進行連續批處理。不要只追求把併發開到最大:併發增加可能提升整體吞吐量,也可能讓視訊記憶體壓力和排隊延遲上升。建議用真實長度的輸入做小規模壓測,同時記錄吞吐、響應時間和視訊記憶體佔用。
如果視訊記憶體吃緊,先降低同時處理的請求量、縮短輸入或生成長度,或者換更小、量化過的模型;每次只調整一項並重新測試。服務啟動引數中可按需設定最大模型上下文長度、視訊記憶體利用率目標和最大併發序列數,引數名稱與可用範圍應以當前安裝版本的幫助資訊為準。不同模型和顯示卡的最佳值不一樣,別照抄別人的壓測結果。
第三步:啟動OpenAI相容API服務
準備好模型後,在終端執行:vllm serve Qwen/Qwen2.5-1.5B-Instruct。模型標識可換成你有權使用且受支援的模型;本地檔案則填本地路徑。預設服務地址是http://localhost:8000。若要讓區域網內其他機器訪問,可設定監聽地址和埠,例如新增–host 0.0.0.0 –port 8000;同時應按實際部署配置網路訪問控制。
服務啟動後,可用/v1/chat/completions測試聊天介面,或用/v1/completions測試文字補全介面。請求體中的model要與服務載入的模型名稱對應,messages裡放入使用者訊息。也可以在Python客戶端中使用OpenAI庫,把base_url設為http://localhost:8000/v1,並將api_key設為佔位值;客戶端發出的請求便會轉到本地vLLM服務。
上線前還要驗證模型是否支援所需介面與聊天模板,檢查埠連通、日誌和錯誤返回,並用多使用者請求測試實際併發。需要託管式部署、少維護伺服器時,也可以瞭解國內雲端推理方案,例如火山引擎;如果要自己管理GPU、模型版本和服務引數,vLLM則提供更直接的本地部署方式。潤滅建議先用小模型跑通全流程,再逐步擴大模型與流量。volcengine.cgref.cn