使用vllm部署大语言模型

vLLM是一个快速且易于使用的库,用于LLM(大型语言模型)推理和服务。通过PagedAttention技术,vLLM可以有效地管理注意力键和值内存,降低内存占用和提高计算效率。vLLM能够将多个传入的请求进行连续批处理,从而提高整体处理速度。

环境

Lniux操作系统,2张3090,cuda版本是12.2
在这里插入图片描述

安装vllm

通过pip安装比较简单:

# 这里先创建一个conda虚拟环境,没安装conda也可忽略
conda create -n myenv python=3.10 -y
conda activate myenv
# 正式安装
pip install vllm

启动vllm的http服务

python3 -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 8900  --model /home/xxxx/model/Baichuan2-13B-Chat --trust-remote-code  --tensor-parallel-size 2    --gpu-memory-utilization 0.90

参数解释

  • host和port指定监听的地址和端口
  • –model指定模型路径
  • –tensor-parallel-size指定显卡数量
  • –gpu-memory-utilization指定显存占用比例

访问服务

POST访问的url: http://10.20.xx.xx:8900/v1/completions
IP替换成实际的就行。json参数

{
 "prompt": "你好",
 "model": "/home/xxx/model/Baichuan2-13B-Chat",
 "max_tokens": 1024,
 "stream": false
}

测试代码

import requests
import json

url = "http://10.20.xx.xx:8900/v1/completions"

data = {
 "prompt": "你好",
 "model": "/home/xxx/model/Baichuan2-13B-Chat",
 "max_tokens": 512,
#  "temperature": 0.2,
#  "top_k": 5,
#  "top_p": 0.95,
 "stream": False
}

response = requests.post(url, json=data, stream=True)
if response.status_code != 200:
    print(f"failed:status_code={response.status_code}")
else:
    json_response=json.loads(response.text)
    print(f"json_response:{json_response}")
    result_str=json_response["choices"][0]["text"]
    print(f"result_str:{result_str}")

post请求的body中的"model"字段值,需要与启动openai.api_server服务指定的model字段一致。

参考资料

vllm github

vllm在线文档

相关推荐

  1. 使用vllIm部署语言模型

    2024-07-12 21:26:01       23 阅读
  2. 使用vllm部署自己的模型

    2024-07-12 21:26:01       31 阅读
  3. Qwen等模型使用 vLLM部署详解

    2024-07-12 21:26:01       23 阅读
  4. 模型框架:vLLM

    2024-07-12 21:26:01       39 阅读
  5. vllm 库调用模型

    2024-07-12 21:26:01       52 阅读
  6. 模型推理:vllm多机多卡分布式本地部署

    2024-07-12 21:26:01       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 21:26:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 21:26:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 21:26:01       57 阅读
  4. Python语言-面向对象

    2024-07-12 21:26:01       68 阅读

热门阅读

  1. 聊聊未来的测试工程师是什么样子?

    2024-07-12 21:26:01       21 阅读
  2. 如何理解Node.js?NPM?Yarn?Vue?React?

    2024-07-12 21:26:01       19 阅读
  3. react多级组件间如何传递props

    2024-07-12 21:26:01       20 阅读
  4. self_attention python代码

    2024-07-12 21:26:01       19 阅读
  5. pytorch 指定GPU设备

    2024-07-12 21:26:01       22 阅读
  6. C#-反射

    C#-反射

    2024-07-12 21:26:01      15 阅读
  7. Codeforces Round #956 (Div. 2) and ByteRace 2024 A-C题解

    2024-07-12 21:26:01       24 阅读
  8. 科技与狠活

    2024-07-12 21:26:01       19 阅读