[大模型]Qwen2-7B-Instruct vLLM 部署调用

   日期:2024-12-26     作者:oepxs       评论:0    移动:http://oml01z.riyuangf.com/mobile/news/7746.html
核心提示:框架是一个高效的大语言模型推理和部署服务系统,具备以下特性: 高效的内存管理:通过算法, 实现了对

框架是一个高效的大语言模型推理和部署服务系统,具备以下特性

[大模型]Qwen2-7B-Instruct vLLM 部署调用

  • 高效的内存管理:通过 算法, 实现了对 缓存的高效管理,减少了内存浪费,优化了模型的运行效率。
  • 高吞吐量: 支持异步处理和连续批处理请求,显著提高了模型推理的吞吐量,加速了文本生成和处理速度。
  • 易用性: 与 模型无缝集成,支持多种流行的大型语言模型,简化了模型部署和推理的过程。兼容 的 服务器。
  • 分布式推理:框架支持在多 环境中进行分布式推理,通过模型并行策略和高效的数据通信,提升了处理大型模型的能力。
  • 开源共享: 由于其开源的属性,拥有活跃的社区支持,这也便于开发者贡献和改进,共同推动技术发展。

在 平台中租赁一个 3090 等 24G 显存大小的容器实例,镜像选择如下 →→→

接下来打开本地设备终端使用 的方式访问,在终端中依次复制登录指令和密码完成登录

登录成功后的界面如图所示👇

或者也可以直接打开 网页端的快捷工具中选择 并在其中点击终端打开(这种方式不需要验证🫠

接下来开始环境配置、模型下载和运行演示 ~

换源加速下载并安装依赖包

 

直接安装 会安装 版本。

 

考虑到部分同学配置环境可能会遇到一些问题,我们在AutoDL平台准备了Qwen2的环境镜像,该镜像适用于该仓库除Qwen-GPTQ和vllm外的所有部署环境。点击下方链接并直接创建Autodl示例即可。
https://www.codewithgpu.com/i/datawhalechina/self-llm/Qwen2

使用 中的 函数下载模型,第一个参数为模型名称,参数 为模型的下载路径。

先切换到 目录

然后新建名为 的 脚本,并在其中输入以下内容并保存

 

然后在终端中输入 执行下载,这里需要耐心等待一段时间直到模型下载完成。

Python脚本

在 路径下新建 文件并在其中输入以下内容,粘贴代码后请及时保存文件。下面的代码有很详细的注释,如有不理解的地方,欢迎大家提 。

首先从 库中导入 和 类。 类是使用 引擎运行离线推理的主要类。 类指定采样过程的参数,用于控制和调整生成文本的随机性和多样性。

提供了非常方便的封装,我们直接传入模型名称或模型路径即可,不必手动初始化模型和分词器。

我们可以通过这个代码示例熟悉下 引擎的使用方式。被注释的部分内容可以丰富模型的能力,但不是必要的,大家可以按需选择,自己多多动手尝试 ~

 

运行代码

 

结果如下

 
 

创建兼容 OpenAI API 接口的服务器

兼容 协议,所以我们可以直接使用 创建 服务器。 部署实现 协议的服务器非常方便。默认会在 http://localhost:8000 启动服务器。服务器当前一次托管一个模型,并实现列表模型、 和 端口。

  • :是基本的文本生成任务,模型会在给定的提示后生成一段文本。这种类型的任务通常用于生成文章、故事、邮件等。
  • :是面向对话的任务,模型需要理解和生成对话。这种类型的任务通常用于构建聊天机器人或者对话系统。

在创建服务器时,我们可以指定模型名称、模型路径、聊天模板等参数。

  • 和 参数指定地址。
  • 参数指定模型名称。
  • 参数指定聊天模板。
  • 指定服务模型的名称。
  • 指定模型的最大长度。

这里指定 是因为 模型的最大长度为 ,防止 初始化 缓存时消耗资源过大。

 

加载完毕后出现如下信息说明服务成功启动

  • 通过 命令查看当前的模型列表
 

得到的返回值如下所示

 
 
  • 使用 命令测试
 

得到的返回值如下所示

 
 
  • 用 脚本请求
 

得到的返回值如下所示

 
 
  • 用 命令测试
 

得到的返回值如下所示

 
 
  • 用 脚本请求
 

得到的返回值如下所示

 
 
 
 

既然 是一个高效的大型语言模型推理和部署服务系统,那么我们不妨就测试一下模型的回复生成速度。看看和原始的速度相比有多大的提升。这里直接使用 自带的 脚本进行测试。可以将当前文件夹 脚本放在 目录下。或者也可以自行下载脚本。

下面是一些 脚本的参数说明

  • 参数指定模型路径或名称。
  • 推理后端,可以是 、 和 。分布对应 、 和 推理后端。
  • 输入长度
  • 输出长度
  • 生成的 prompt 数量
  • 随机种子
  • 数据类型
  • 模型最大长度
  • 库的最大批处理大小(仅仅对于 推理后端有效且为必填字段
  • 数据集路径。(未设置会自动生成数据

测试 推理速度的命令和参数设置

 

得到的结果如下所示

 
 

测试原始方式(即使用 的 库)推理速度的命令和参数设置

 

得到的结果如下所示

 
 

对比两者的推理速度,在本次测试中 的速度要比原始的速度快 34% 左右 🤗

 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号