当前位置: 首页 > news >正文

使用 vllm 部署 Llama3-8b-Instruct

一、使用 vllm 部署 Llama3-8b-Instruct

在这里插入图片描述

  1. 交互式建模(PAI-DSW)资源地址:
https://github.com/vllm-project/vllm

vLLM 是一个用于大型语言模型(LLM)推理和服务的快速且易于使用的库。

vLLM 的快速特性包括:

  • 先进的服务吞吐量
  • 使用 PagedAttention 高效管理注意力机制的键和值内存
  • 对传入请求进行持续批处理
  • 使用 CUDA/HIP 图快速执行模型
  • 量化技术:GPTQ、AWQ、SqueezeLLM、FP8 KV 缓存
  • 优化的 CUDA 内核

二、下载llama3模型文件

/mnt/workspace路径下执行

mkdir models

/mnt/workspace/models路径下执行

pip install modelscope
git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git

使用 SHA-256 算法检查文件(可选)

shasum -a 256 model-00001-of-00004.safetensors
shasum -a 256 model-00002-of-00004.safetensors
shasum -a 256 model-00003-of-00004.safetensors
shasum -a 256 model-00004-of-00004.safetensors

2.1 安装vLLM

conda create -n vllm python=3.10
conda activate vllm
pip install vllm
pip install modelscope

2.2 模型推理

completion模式

  1. 服务部署
python -m vllm.entrypoints.openai.api_server --model /mnt/workspace/Meta-Llama-3-8B-Instruct --dtype auto --api-key 123456
  1. 服务测试 (vllm_completion_test.py
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1",api_key="123456",)
print("服务连接成功")
completion = client.completions.create(model="/mnt/workspace/Meta-Llama-3-8B-Instruct",prompt="北京是",max_tokens=128,
)
print("### 北京是: ")  
print("Completion result: ", completion)

另外一个terminal窗口执行

conda activate vllm
python vllm_completion_test.py

2.3 chat模式

  1. 服务部署
python -m vllm.entrypoints.openai.api_server --model /mnt/workspace/Meta-Llama-3-8B-Instruct --dtype auto --api-key 123456
  1. 服务测试(vllm_chat_test.py)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1",    api_key="123456",
)
print("服务连接成功")
completion = client.chat.completions.create(model="/mnt/workspace/models/Meta-Llama-3-8B-Instruct",messages=[{"role": "system", "content": "你是一位智能助手."},{"role": "user", "content": "中国的首都是哪里?"}],max_tokens = 128,
)
print(completion.choices[0].message)

另外一个terminal窗口执行

python vllm_chat_test.py

相关文章:

  • simulink使能子系统的四种配置
  • 【云备份】服务端业务处理模块设计与实现
  • 2.在Openharmony写hello world
  • 解决跨域的4种方法
  • Redis 中简单动态字符串(SDS)的深入解析
  • 基于Redis实现优惠券秒杀——第3期(分布式锁-Redisson)
  • Java学习手册:Spring 多数据源配置与管理
  • 【题解-洛谷】B4303 [蓝桥杯青少年组省赛 2024] 字母移位
  • kotlin 02flow-sharedFlow 完整教程
  • PyCharm 安装教程
  • Docker(三):DockerFile
  • 从零开始学Flink:开启实时计算的魔法之旅
  • 【RocketMQ Broker 相关源码】-注册 broker 信息到所有的 NameServer
  • 【Spring Boot】Spring Boot + Thymeleaf搭建mvc项目
  • Kubernetes控制平面组件:Controller Manager 之 内置Controller详解
  • SpringBoot企业级开发之【文章列表(条件分页)】
  • 利用 Python pyttsx3实现文字转语音(TTS)
  • 如何使用QWidgets设计一个类似于Web Toast的控件?
  • js获取明天日期、Vue3大菠萝 Pinia的使用
  • Unity:Surface Effector 2D(表面效应器 2D)
  • 驱逐行动再加码?特朗普或向利比亚和卢旺达遣送非法移民
  • 综合治理食品添加剂滥用问题,国务院食安办等六部门联合出手
  • 印巴矛盾已达近年“最高点”:军政经文全面紧张,巴将向联合国通报局势
  • 48岁黄世芳履新中国驻毛里求斯大使,曾在广西工作多年
  • 联合国秘书长古特雷斯呼吁印巴保持最大克制
  • 今晚上海地铁多条线路加开定点加班车,2号线运营至次日2时