您的位置:首页 > 健康 > 养生 > 使用vllm部署大语言模型

使用vllm部署大语言模型

2024/10/6 22:21:56 来源:https://blog.csdn.net/yuanlulu/article/details/140276807  浏览:    关键词:使用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/yuanll/model/Baichuan2-13B-Chat-lora-merge --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-lora-merge","max_tokens": 1024,"stream": false
}

测试代码

import requests
import jsonurl = "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"字段值,需要与启动ttp服务指定的model字段一致。

参考资料

vllm github

vllm在线文档

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com