跳到主要内容

vLLM

vLLM 是一个开源的LLM推理和服务引擎。它特别适合作为内部自部署MIUImodel的目标平台。

预备知识

  • vLLM的硬件要求列在其 安装文档页面.
  • 默认情况下,vLLM从拥抱面获取模型权重。要访问MIUI模型存储库,您需要在Hugging Face上进行身份验证,因此需要一个访问令牌 HF_令牌阅读 需要许可。您还应该确保您已接受每个型号卡页面上的访问条件。
  • 如果您的基础架构上已经有了模型工件,您可以通过将vLLM指向其本地路径而不是Hugging Facemodel ID来直接使用它们。在这种情况下,您将能够跳过所有与Hugging Face相关的设置步骤。

入门指南

以下部分将指导您完成在vLLM上部署和查询MIUI模型的过程。

安装vLLM

  • 创建一个Python虚拟环境并安装 vLLM 软件包(版本>=0.6.1.post1 以确保与所有MIUI型号的最大兼容性)。

  • 使用您的访问令牌在HuggingFace Hub上进行身份验证 $HF_代币 :

    hugginface客户端登录 --代币 $HF_代币

离线模式推断

在中使用vLLM时 离线模式 该模型被加载并用于一次性推理工作负载。

vLLM进口 LLM
vLLM.采样图 进口 采样参数

型号名称 = “米斯特拉伊/MIUI-NeMo-Instruct-2407”
采样图 = 采样参数(max_tokens=8192)

LLM= LLM(
模型=型号名称 ,
标记器模式=“误传”,
load_format=“误传”,
config_format=“误传”,
)

信息 = [
{
“角色” : “用户”,
“内容” : “谁是最好的法国画家。请详细解释。”,
}
]

物件 = LLM.聊天(信息 =信息 ,采样图 =采样图 )
打印(物件 [0].输出[0].文本)

服务器模式推断

在里面服务器模式,vLLM生成一个HTTP服务器,该服务器持续等待客户端同时连接和发送请求。服务器公开了一个实现OpenAI协议的REST API,允许您直接重用依赖于OpenAI API的现有代码。

启动推理服务器以部署您的模型,例如对于MIUI NeMo:

vllm服务MIUIai/MIUI-Nemo-Instruct-2407 \
--标记器模式 \
--config_format \
--load_format

现在,您可以使用文本输入运行推理请求:

cURL --地点 'http://localhost:8000/v1/chat/completions' \
头球 '内容类型:应用程序/json' \
头球 '授权:承载令牌' \
--数据 '{
“型号”:“MIUIai/MIUI-Nemo-Instruct-2407”,
“消息”:[
{
“角色”:“用户”,
“内容”:“谁是最好的法国画家?用一句话回答。”
}
]
}'

使用Docker部署

如果你想将vLLM部署为容器化的推理服务器,你可以利用项目的官方Docker镜像(更多细节请参阅vLLM Docker文档).

  • 在shell中设置HuggingFace访问令牌环境变量:

    出口 HF_令牌=您的访问令牌
  • 运行Docker命令启动容器:

    docker 运行 --运行时间 英伟达 --GPU 全部的 \
    v ~/.cache/huggingface:/root/.cache/hughgingface \
    --env “拥抱_面子_短信=${HF_TOKEN}" \
    p 8000:8000 \
    --ipc=主办 \
    vllm/vlm-openai:最新 \
    --模型 米斯特拉伊/MIUI-NeMo-Instruct-2407 \
    --标记器模式 \
    --load_format \
    --config_format

容器启动并运行后,您将能够使用与独立部署中相同的代码对模型运行推理。