自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

企業(yè)級模型推理部署工具vllm使用指南 - 部署最新deepseek-v3-0324模型

人工智能
你已掌握 vLLM 從環(huán)境配置到高性能推理服務(wù)部署的全流程。vLLM 憑借其靈活性和高效性,成為大模型落地的首選工具。無論是本地開發(fā)還是云服務(wù)器部署,只需根據(jù)硬件資源調(diào)整參數(shù),即可快速實現(xiàn)高并發(fā)、低延遲的推理服務(wù)。

vLLM(Virtual Large Language Model)是由加州大學(xué)伯克利分校團隊開發(fā)的高性能大模型推理框架,其核心特點圍繞顯存優(yōu)化、高吞吐量、靈活性和易用性展開。

對比 ollama 作為個人開發(fā)者部署模型工具而言,vLLM 專注于高并發(fā)請求和大規(guī)模生產(chǎn)環(huán)境,適用于企業(yè)級應(yīng)用和需要高效推理的場景。vLLM 通過優(yōu)化內(nèi)存管理和并發(fā)處理,適合處理高負載的生產(chǎn)環(huán)境 。

一、vLLM 核心優(yōu)勢

高性能相關(guān)

1. PagedAttention 技術(shù)(分頁注意力機制)

核心創(chuàng)新:借鑒操作系統(tǒng)虛擬內(nèi)存分頁機制,將注意力計算中的Key/Value 緩存(KV Cache)劃分為固定大小的“頁”,動態(tài)分配顯存,顯著減少內(nèi)存碎片化。

  • 傳統(tǒng)問題:傳統(tǒng)框架需為每個請求預(yù)分配連續(xù)顯存空間,導(dǎo)致利用率低(僅 20%-40%)。
  • vLLM 解決方案:按需分配顯存頁,支持動態(tài)擴展,顯存利用率提升至接近 100%。

例如,LLaMA-7B 模型顯存占用可從 14GB 壓縮至 4GB(使用 INT4 量化)。 支持長上下文(如 128K 或 10M token)的高效處理,減少顯存浪費。

2. 連續(xù)批處理(Continuous Batching)

動態(tài)合并請求:實時合并多個推理請求,避免靜態(tài)批處理的等待延遲,最大化 GPU 利用率。

吞吐量提升:

  • 相比 Hugging Face Transformers,吞吐量提升 24 倍(如 LLaMA-7B 模型)。
  • 在高并發(fā)場景下,吞吐量可達傳統(tǒng)框架的 5-10 倍。

3. 量化支持(模型壓縮與加速)

兼容主流量化方法:支持 GPTQ、AWQ、SqueezeLLM、FP8 KV Cache 等,顯著降低顯存占用和計算開銷。

量化效果:

  • INT4 量化:將 7B 模型顯存需求從 14GB 壓縮至 4GB,同時保持精度損失<1%。
  • 適用于消費級顯卡(如 RTX 4090)部署 7B-13B 模型。

4. 高性能與分布式推理

多 GPU 張量并行:支持分布式部署,例如在 4 塊 A100 GPU 上運行 70B 參數(shù)模型。

CUDA 優(yōu)化:使用 CUDA/HIP 圖(CUDA Graphs)加速模型執(zhí)行。 -高性能 CUDA 內(nèi)核優(yōu)化,減少計算延遲。

易用性相關(guān)

5. 易用性與兼容性

與 Hugging Face 無縫集成:支持 50+主流模型(如 LLaMA、Qwen、Mistral、XVERSE 等)。

OpenAI API 兼容:可直接替換 OpenAI 接口,提供標(biāo)準(zhǔn) API 服務(wù)(如/v1/completions)。

靈活的部署選項:支持流式輸出、前綴緩存、多 LoRA 適配及離線批量推理。

6. 解碼算法多樣性

并行采樣(Parallel Sampling):單次前向傳播生成多個輸出(如多種回答),降低計算成本。

波束搜索(Beam Search):提升生成文本的準(zhǔn)確性和多樣性。

自定義解碼策略:支持根據(jù)場景選擇最優(yōu)解碼算法。

二、部署環(huán)境準(zhǔn)備

vLLM 是一個 Python 庫,包含預(yù)編譯的 C++ 和 CUDA (12.1) 二進制文件。

依賴環(huán)境

  • 操作系統(tǒng):Linux
  • Python:3.8 - 3.12
  • GPU:計算能力 7.0 或更高(例如 V100、T4、RTX20xx、A100、L4、H100 等)

ps: vLLM 只能在 Linux 系統(tǒng)上才能完全運行。

使用 pip 安裝

可以使用 python 的 pip 工具安裝 vLLM:

# (Recommended) Create a new conda environment.
#(推薦)創(chuàng)建一個新的 conda 環(huán)境。

conda create -n myenv python=3.10 -y
conda activate myenv

# Install vLLM with CUDA 12.1.
# 安裝帶有 CUDA 12.1 的 vLLM。

pip install vllm

使用 docker 安裝

vLLM 提供了一個官方 Docker 鏡像用于部署。該鏡像可用于運行與 OpenAI 兼容服務(wù)器,并且可在 Docker Hub 上以 vllm/vllm-openai 的形式獲取。

docker run --runtime nvidia --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    --env "HUGGING_FACE_HUB_TOKEN=<secret>" \
    -p 8000:8000 \
    --ipc=host \
    vllm/vllm-openai:latest \
    --model mistralai/Mistral-7B-v0.1

使用 ipc=host 標(biāo)志或 --shm-size 標(biāo)志來允許容器訪問主機的共享內(nèi)存。 vLLM 使用 PyTorch,而 PyTorch 在底層使用共享內(nèi)存在進程之間共享數(shù)據(jù),特別是在張量并行推理中。


默認(rèn)情況下,為實現(xiàn)最廣泛分發(fā),vLLM 將為所有 GPU 類型進行構(gòu)建。如果您只是針對機器運行的當(dāng)前 GPU 類型進行構(gòu)建,則可以為 vLLM 添加參數(shù) --build-arg torch_cuda_arch_list= "" 來查找當(dāng)前 GPU 類型并為其構(gòu)建。

三、模型下載啟動

這里用 DeepSeek 最新模型 V3-0324 模型下載來給大家作為參考。

圖片圖片

在 huggingface 搜索 deepseek-ai/DeepSeek-V3-0324 即可找到 deepseek v3 的最新模型,

點擊 Use this model 即可找到下載模型命令,

圖片圖片

在 vllm 種,我們要下載模型并使用其中一個模型來啟動服務(wù)器,請使用 vllm serve 命令,例如:

vllm serve "deepseek-ai/DeepSeek-V3-0324"

安裝并啟動后,服務(wù)啟動在 http://localhost:8000/。

分布式推理和服務(wù)

vLLM 支持分布式張量并行推理和服務(wù)。目前,我們支持 Megatron-LM 的張量并行算法。我們還支持將管道并行作為在線服務(wù)的測試版功能。我們使用 Ray 或 python 的原生多進程來管理分布式運行時。在單節(jié)點部署時可以使用多進程,多節(jié)點推理目前需要 Ray。

這也是 vllm 對比 ollama 的核心優(yōu)勢。能有效地利用多核 CPU 和 GPU 資源,顯著提升 LLM 的推理速度

單節(jié)點多 GPU 部署

要運行多 GPU 服務(wù),在啟動服務(wù)器時傳入張量并行 --tensor-parallel-size 參數(shù)。例如要在 4 個 GPU 上運行 API 服務(wù)器:

# 設(shè)置張量并行(需多GPU)
vllm serve "deepseek-ai/DeepSeek-V3-0324" \
  --tensor-parallel-size 4 \  # 根據(jù)GPU數(shù)量調(diào)整

多節(jié)點多 GPU 部署

可以將張量并行與管道并行結(jié)合使用。張量并行大小是每個節(jié)點要使用的 GPU 數(shù)量,管道并行大小是要使用的節(jié)點數(shù)量.例如,如果 2 個節(jié)點中有 8 個 GPU(每個節(jié)點 4 個 GPU),則可以將張量并行大小設(shè)置為 4,將管道并行大小設(shè)置為 2。

vllm serve "deepseek-ai/DeepSeek-V3-0324" \
    --tensor-parallel-size 4 \ # 根據(jù)GPU數(shù)量調(diào)整
    --pipeline-parallel-size 2 # 根據(jù)節(jié)點數(shù)量調(diào)整

關(guān)鍵參數(shù)說明

參數(shù)

說明

--tensor-parallel-size

GPU 張量并行度,需與 GPU 數(shù)量匹配(如 4 卡設(shè)為 4)。

--max-batch-size

最大批量請求大小,默認(rèn) 16,可調(diào)高以提升吞吐。

--swap-space

磁盤交換空間,避免顯存溢出(如設(shè)為 20GiB)。

--enable-async-execution

啟用異步執(zhí)行,減少等待時間。

更多關(guān)于多節(jié)點多 GPU 部署的信息可以參考官方文檔:https://docs.vllm.ai/en/stable/serving/distributed_serving.html

四、跟 vLLM 推理服務(wù)交互

通過 python 代碼交互

服務(wù)器運行后,可以通過 python 代碼調(diào)用其 API:

from openai import OpenAI

client = OpenAI(base_url='http://localhost:3000/v1', api_key='na')

# Use the following func to get the available models
# model_list = client.models.list()
# print(model_list)

chat_completion = client.chat.completions.create(
   model="deepseek-ai/DeepSeek-V3-0324",
   messages=[
      {
            "role": "user",
            "content": "Tell me something about large language models."
      }
   ],
   stream=True,
)
for chunk in chat_completion:
   print(chunk.choices[0].delta.content or"", end="")

通過 cli 交互

curl -X POST "http://localhost:8000/v1/chat/completions" \
 -H "Content-Type: application/json" \
 --data '{
  "model": "deepseek-ai/DeepSeek-V3-0324",
  "messages": [
   {
    "role": "user",
    "content": "What is the capital of France?"
   }
  ]
 }

五、總結(jié)

通過本文,你已掌握 vLLM 從環(huán)境配置到高性能推理服務(wù)部署的全流程。vLLM 憑借其靈活性和高效性,成為大模型落地的首選工具。無論是本地開發(fā)還是云服務(wù)器部署,只需根據(jù)硬件資源調(diào)整參數(shù),即可快速實現(xiàn)高并發(fā)、低延遲的推理服務(wù)。

責(zé)任編輯:武曉燕 來源: 程序員wayn
相關(guān)推薦

2025-02-28 07:11:20

2025-03-28 02:00:00

2024-03-11 09:50:09

模型開發(fā)

2025-03-12 12:37:50

VLLMDeepSeekUbuntu

2025-04-01 09:36:00

2025-04-08 03:22:00

2025-04-09 10:47:02

2025-02-13 08:30:11

2024-10-12 08:00:00

機器學(xué)習(xí)Docker

2025-03-05 03:00:00

DeepSeek大模型調(diào)優(yōu)

2025-03-28 04:30:00

2023-07-10 13:54:36

云計算云部署

2023-12-05 15:44:46

計算機視覺FastAPI

2025-02-24 00:00:09

2025-02-20 09:27:46

2024-08-05 14:17:59

大型語言模型適配器LLM

2025-05-08 08:10:25

大模型DeepSeekAPI

2024-01-30 13:53:40

前端性能Chrome

2024-09-09 11:45:15

ONNX部署模型

2025-03-26 10:38:40

點贊
收藏

51CTO技術(shù)棧公眾號