Bootstrap

5分钟在本地PC上使用VLLM快速启动Mistral-Small-24B-Instruct-2501

前言

VLLM 是一个高效且轻量的大规模语言模型(LLM)服务器。本文将介绍如何在本地PC上使用VLLM快速启动 Mistral-Small-24B-Instruct-2501 这一高性能语言模型。按照本文的步骤操作,您可以在5分钟内完成模型的启动。

环境准备

所需工具

请确保已安装以下工具:

  • conda:用于管理Python虚拟环境。
  • pip:用于安装Python包。
  • VLLM:用于高效运行LLM的服务器。
  • flash-attn:用于加速模型推理的库。

创建虚拟环境

首先,创建一个Python 3.11的虚拟环境并激活它。

conda create -n vllm_v0.7.1 python=3.11 -y
conda activate vllm_v0.7.1

安装VLLM及依赖库

运行以下命令安装VLLM和flash-attn

pip install vllm
pip install flash-attn --no-build-isolation

模型下载

安装Hugging Face CLI

为了下载模型,首先安装Hugging Face CLI。

pip install "huggingface_hub[hf_transfer]"

下载Mistral-Small-24B-Instruct-2501

使用以下命令下载 Mistral-Small-24B-Instruct-2501 模型。

HF_HUB_ENABLE_HF_TRANSFER=1 \
huggingface-cli download mistralai/Mistral-Small-24B-Instruct-2501

模型启动

启动命令

使用以下命令启动模型。
(通过CUDA_VISIBLE_DEVICES指定使用的GPU,并通过--tensor-parallel-size指定GPU数量。)

CUDA_VISIBLE_DEVICES=3,1,0,2 \
VLLM_USE_V1=1 \
VLLM_WORKER_MULTIPROC_METHOD=spawn \
vllm serve mistralai/Mistral-Small-24B-Instruct-2501 \
--tokenizer_mode mistral \
--config_format mistral \
--load_format mistral \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--trust-remote-code --served-model-name mistral-small \
--gpu-memory-utilization 0.98 --tensor-parallel-size 4 \
--port 8000 --max-model-len 65536

启动确认

成功启动后,您将看到以下消息:

INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

模型验证

发送API请求

使用以下命令向启动的模型发送API请求,验证其是否正常运行。

invoke_url='http://localhost:8000/v1/chat/completions'

authorization_header='Authorization: Bearer sk-dummy'
accept_header='Accept: application/json'
content_type_header='Content-Type: application/json'

data=$'{
  "messages": [
    {
      "role": "user",
      "content": "Which number is larger, 9.11 or 9.8?"
    }
  ],
  "stream": false,
  "model": "mistral-small",
  "max_tokens": 4096,
  "presence_penalty": 0,
  "frequency_penalty": 0,
  "top_p": 0.7,
  "temperature": 0.6
}'

response=$(curl --silent -i -w "\n%{http_code}" --request POST \
  --url "$invoke_url" \
  --header "$authorization_header" \
  --header "$accept_header" \
  --header "$content_type_header" \
  --data "$data"
)

echo "$response"

示例输出

您将收到类似以下的响应:
image.png


注意事项

  • GPU内存设置--gpu-memory-utilization 0.98用于设置GPU内存利用率,请根据您的环境调整。
  • 张量并行处理--tensor-parallel-size 4应根据使用的GPU数量进行调整。
  • 端口号--port 8000是API的端口号,如果与其他应用程序冲突,请更改。

参考链接


按照以上步骤,您可以在本地PC上快速启动 Mistral-Small-24B-Instruct-2501 模型。赶快试试吧!

;