【书生·浦语大模型实战营】第5节笔记:LMDeploy 量化部署以及LLM&VLM 实践

本文详细介绍了如何使用LMDeploy进行环境配置、模型部署、对话功能、量化优化、服务搭建以及Python代码集成,包括HuggingFace和TurboMind的应用,以及与Transformer库的性能比较。
摘要由CSDN通过智能技术生成

参考教程链接:

https://github.com/InternLM/Tutorial/blob/camp2/lmdeploy/README.md#62-%E4%BD%BF%E7%94%A8lmdeploy%E8%BF%90%E8%A1%8C%E7%AC%AC%E4%B8%89%E6%96%B9%E5%A4%A7%E6%A8%A1%E5%9E%8Bicon-default.png?t=N7T8https://github.com/InternLM/Tutorial/blob/camp2/lmdeploy/README.md#62-%E4%BD%BF%E7%94%A8lmdeploy%E8%BF%90%E8%A1%8C%E7%AC%AC%E4%B8%89%E6%96%B9%E5%A4%A7%E6%A8%A1%E5%9E%8B

https://www.bilibili.com/video/BV1tr421x75B/icon-default.png?t=N7T8https://www.bilibili.com/video/BV1tr421x75B/

操作流程

1.LMDeploy环境部署

  1. 创建开发机

    • 在InternStudio平台上创建开发机,选择Cuda12.2-conda镜像,避免使用Cuda11.7-conda镜像以防止兼容性问题。
  2. 创建conda环境

    • 在InternStudio开发机上创建名为lmdeploy的conda环境,Python版本为3.10。
  3. 安装LMDeploy

    • 激活conda环境后,安装0.3.0版本的LMDeploy。

2.LMDeploy模型对话(chat)

  1. Huggingface与TurboMind

    • HuggingFace是一个深度学习模型和数据集的在线托管社区。
    • TurboMind是LMDeploy团队开发的高效推理引擎,支持LLaMa结构模型。
  2. 下载模型

    • 从InternStudio开发机的共享目录或OpenXLab平台下载预训练模型。
  3. 使用Transformer库运行模型

    • 使用Huggingface的Transformer库运行InternLM2-Chat-1.8B模型。
  4. 使用LMDeploy与模型对话

    • 利用LMDeploy直接与模型进行对话,体验推理速度。

3.LMDeploy模型量化(lite)

  1. 设置最大KV Cache缓存大小

    • KV Cache用于缓存键值对,提高性能和降低内存消耗。
  2. 使用W4A16量化

    • LMDeploy使用AWQ算法实现模型4bit权重量化,提高推理性能。

(设置KV Cache最大占用比例为0.4,开启W4A16量化,以命令行方式与模型对话)

4.LMDeploy服务(serve)

  1. 启动API服务器

    • 封装模型为API接口服务,供客户端访问。
  2. 命令行客户端连接API服务器

    • 新建命令行客户端连接到API服务器,与模型对话。此处以API Server方式启动 lmdeploy,开启 W4A16量化,调整KV Cache的占用比例为0.4,分别使用命令行客户端与Gradio网页客户端与模型对话。
  3. 网页客户端连接API服务器

    • 使用Gradio作为前端,启动网页客户端连接API服务器。

5.Python代码集成

  1. Python代码集成运行1.8B模型

    • 将大模型推理集成到Python代码中。
  2. 向TurboMind后端传递参数

    • 通过创建TurbomindEngineConfig传递参数,如设置KV Cache占用比例。(使用W4A16量化,调整KV Cache的占用比例为0.4,使用Python代码集成的方式运行internlm2-chat-1.8b模型)

6.拓展部分

  1. 使用LMDeploy运行视觉多模态大模型llava

    • 支持运行llava多模态模型,需要特定权限。(使用 LMDeploy 运行视觉多模态大模型 llava gradio demo)
  2. 使用LMDeploy运行第三方大模型

    • LMDeploy支持多种第三方大模型。
  3. 定量比较LMDeploy与Transformer库的推理速度差异

    • 编写速度测试脚本,比较两者的推理速度。

7.课后作业

  • 完成homework.md中的作业。

8.附录

  • 通过ssh转发访问远程服务器上的API服务器。
  • 使用Gradio启动网页客户端进行模型对话。

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值