5、LMDeploy 量化部署 LLMVLM实战(homework)

基础作业(结营必做)

完成以下任务,并将实现过程记录截图:

  • 配置lmdeploy运行环境

由于环境依赖项存在torch,下载过程可能比较缓慢。InternStudio上提供了快速创建conda环境的方法。打开命令行终端,创建一个名为lmdeploy的环境:

studio-conda -t lmdeploy -o pytorch-2.1.2# 接下来,激活刚刚创建的虚拟环境。
conda activate lmdeploy# 安装0.3.0版本的lmdeploy。
pip install lmdeploy[all]==0.3.0# 等待安装结束就OK了!

  • 下载internlm-chat-1.8b模型
## OpenXLab平台支持通过Git协议下载模型。首先安装git-lfs组件。## 对于root用于请执行如下指令:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt update
apt install git-lfs   
git lfs install  --system## 对于非root用户需要加sudo,请执行如下指令:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt update
sudo apt install git-lfs   
sudo git lfs install  --system## 安装好git-lfs组件后,由OpenXLab平台下载InternLM2-Chat-1.8B模型:git clone https://code.openxlab.org.cn/OpenLMLab/internlm2-chat-1.8b.git
  • 以命令行方式与模型对话

进阶作业

完成以下任务,并将实现过程记录截图:

  • 设置KV Cache最大占用比例为0.4,开启W4A16量化,以命令行方式与模型对话。(优秀学员必做)
## 模型W4A16量化
lmdeploy lite auto_awq /root/models/Shanghai_AI_Laboratory/internl
m2-chat-1_8b --calib-dataset 'ptb' --calib-samples 128 --calib-seqlen 1024 --w-bits 4 --w-group-size 128 --work-dir /root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b-4bit## KV Cache最大占用比例为0.4,开启W4A16量化,以命令行方式与模型对话。
lmdeploy chat /root/internlm2-chat-1_8b-4bit --model-format awq --cache-max-entry-count 0.4

  • 以API Server方式启动 lmdeploy,开启 W4A16量化,调整KV Cache的占用比例为0.4,分别使用命令行客户端与Gradio网页客户端与模型对话。(优秀学员)

通过以下命令启动API服务器,推理internlm2-chat-1_8b模型:

lmdeploy serve api_server \/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b-4bit/  \--model-format  awq  \--quant-policy 0 \--server-name 0.0.0.0 \--server-port 23333 \--cache-max-entry-count 0.4 \--tp 1## 运行命令行客户端:lmdeploy serve api_client http://localhost:23333

命令行客户端:

Gradio网页端:

lmdeploy serve gradio http://localhost:23333 \--server-name 0.0.0.0 \--server-port 6006

  • 使用W4A16量化,调整KV Cache的占用比例为0.4,使用Python代码集成的方式运行internlm2-chat-1.8b模型。(优秀学员必做)
from lmdeploy import pipeline, TurbomindEngineConfig
backend_config = TurbomindEngineConfig(cache_max_entry_count=0.2)pipe = pipeline('/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b',backend_config=backend_config)
# pipe = pipeline('/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b')
response = pipe(['Hi, pls intro yourself', '上海是'])
print(response)

  • 使用 LMDeploy 运行视觉多模态大模型 llava gradio demo (优秀学员必做)
from lmdeploy import pipeline
from lmdeploy.vl import load_image# pipe = pipeline('liuhaotian/llava-v1.6-vicuna-7b') 非开发机运行此命令
pipe = pipeline('/share/new_models/liuhaotian/llava-v1.6-vicuna-7b')image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg')
response = pipe(('describe this image', image))
print(response)

  • 将 LMDeploy Web Demo 部署到 OpenXLab (OpenXLab cuda 12.2 的镜像还没有 ready,可先跳过,一周之后再来做)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发快速入门

基本概念 ArkTS 因为ArkTS是基于Type Script扩展而来,是Type Script的超集,所以也可以关注一下Type Script的语法来理解ArkTS的语法 ArkUI HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架…

【日常记录】【CSS】SASS循环的使用

文章目录 1、引言2、安装3、举例4、参考链接 1、引言 目前在任何项目框架中,都会有css 预处理器,目前一般使用 sass、less 这俩其中之一,它可以简化css的书写 Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (v…

【深度学习实战(2)】如何使用matplotlib.pyplot模块记录自己的训练,验证损失

一、matplotlib库 在我们自己训练模型时,常常会使用matplotlib库来绘制oss和accuracy的曲线图,帮助我们分析模型的训练表现。 matplotlib库安装:pip install matplotlib 二、代码 import matplotlib.pyplot as plt import torch import to…

设计模式-组合模式(Composite Pattern)

1. 概念 组合模式是一种结构型设计模式,它允许将对象组合成树状的层次结构,用来表示“整体-部分”的关系。 2. 原理结构图 原理图 抽象角色(Component):这是组合模式的核心,它定义了树叶和树枝构件的公…

【产品经理修炼之道】- 融资租赁相关业务介绍

一、什么是融资租赁? 根据《民法典》第735条的规定,融资租赁合同是出租人根据承租人对出卖人、租赁物的选择,向出卖人购买租赁物,提供给承租人使用,承租人支付租金的合同。 例如,A工厂因业务发展需要欲购置…

c/c++普通for循环学习

学习一下 for 循环的几种不同方式,了解一下原理及差异 完整的测试代码参考 GitHub :for 循环测试代码 1 常用形态 对于 for 循环来说,最常用的形态如下 for (表达式1; 表达式2; 表达式3) {// code }流程图如下: 编写测试代码…

stack和queue模拟实现

前言 上一期我们介绍了stack和queue的使用,本期我们来模拟实现一下他们! 本期内容介绍 容器适配器 deque介绍 为什么stack和queue的底层选择deque为默认容器? stack 模拟现实 queue 模拟实现 什么是容器适配器? 适配器是一种设…

springboot抑郁症科普知识测试系统ssm-java

本系统设计了二种角色:管理员,用户。通过此系统,管理员可以在线视频、案例展示、、测试试卷、测试试题进行测试。以及在线对测试试卷进行批阅和批量删除,用户可以对自己的测试试卷进行测试,对管理员已经批阅过的试卷可…

MySQL——链表

主键:非空 唯一(针对整列数据而言) 为了方便管理一般主键都是设置为自增 外键:一张表中的一列的值是另一张表的主键,使用外键建立两张数据表的数据关系 一、两张表连接 将两张表格拼接成一个表 1、格式:s…

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧 NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL] NL2SQL基础系列(2):主流大模型…

STK与matlab交互 Astrogator模块 (11)

一、背景知识 前面由于定轨的大作业,关于Astrogator模块的学习有所滞后,在本节将重新聚焦Astrogator模块,在本节中,首先解决的问题是已知两个卫星的轨道六根数,求解其中某一颗卫星LVLH坐标下另一颗卫星的位置速度。这…

AI实践与学习4_大模型之检索增强生成RAG实践

背景 针对AI解题业务场景,靠着ToT、CoT等提示词规则去引导模型的输出答案,一定程度相比Zero-shot解答质量更高(正确率、格式)等。但是针对某些测试CASE,LLM仍然不能输出期望的正确结果,将AI解题应用生产仍…

AcWing 796. 子矩阵的和——算法基础课题解

AcWing 796. 子矩阵的和 题目描述 输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n&…

导航指令生成新篇章:将语义地图转化为机器人眼中的“道路”

引言:导航指令生成的挑战与机遇 在人工智能领域,视觉与语言导航(Vision and Language Navigation, VLN)任务是一个充满挑战的研究领域,它要求智能体根据自然语言指令在物理环境中进行导航。然而,VLN任务的…

《QT实用小工具·十九》回车跳转到不同的编辑框

1、概述 源码放在文章末尾 该项目实现通过回车键让光标从一个编辑框跳转到另一个编辑框&#xff0c;下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : p…

使用SquareLine Studio创建LVGL项目到IMX6uLL平台

文章目录 前言一、SquareLine Studio是什么&#xff1f;二、下载安装三、工程配置四、交叉编译 前言 遇到的问题&#xff1a;#error LV_COLOR_DEPTH should be 16bit to match SquareLine Studios settings&#xff0c;解决方法见# 四、交叉编译 一、SquareLine Studio是什么…

appium driver install uiautomator2 安装失败

报错 Installing ‘uiautomator2’ using NPM install spec ‘appium-uiautomator2-driver’ Error: Encountered an error when installing package: npm command ‘install --save-dev --no-progress --no-audit --omitpeer --save-exact --global-style --no-package-lock…

汉语拼音中的轻声规则简直让人崩溃

找到方便和合适的与人教社教材中的拼音接近的字体本来就不容易&#xff0c;而准确高效地把短短一篇文字中的轻声全都标对&#xff0c;也是一件让人头大的事&#xff01;

全国贫困县DID数据(2008-2022年)

数据来源&#xff1a;国W院扶贫开发领导小组办公室 时间跨度&#xff1a;2008-2022年 数据范围&#xff1a;各县域 数据指标 年份 县域名称 所属地市 所属省份 县域代码 是否贫困县(是为1&#xff0c;否为0) 参考文献&#xff1a; [1]马雯嘉,吴茂祯.从全面脱贫到乡村振兴…

【Qt 学习笔记】Qt控件概述

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt控件概述 文章编号&#xff1a;Qt 学习笔记 / 14 文章目录 Qt控件概…