书生·浦语大模型--第五节课笔记作业--LMDeploy 大模型量化部署实践

在这里插入图片描述

文章目录

  • 大模型部署背景
  • LMDeploy简介
  • 动手实践
    • 创建环境
    • 服务部署
      • 在线转换
      • 离线转换
      • TurboMind推理+API服务
      • Gradio 作为前端 Demo演示
        • TurboMind 服务作为后端
        • TurboMind 推理作为后端
  • 作业

大模型部署背景

部署:将训练好的模型在特定软硬件环境中启动的过程
在这里插入图片描述
挑战:存储问题
在这里插入图片描述

LMDeploy简介

针对英伟达平台
在这里插入图片描述
量化可以节省显存,提升推理速度
在这里插入图片描述
访问数据占用了大量时间
在这里插入图片描述
有一部分很重要的参数不量化,保留性能。其余部分量化节约显存
在这里插入图片描述

动手实践

安装、部署、量化

创建环境

/root/share/install_conda_env_internlm_base.sh lmdeploy

在这里插入图片描述
在这里插入图片描述
安装lmdeploy

# 解决 ModuleNotFoundError: No module named 'packaging' 问题
pip install packaging
# 使用 flash_attn 的预编译包解决安装过慢问题
pip install /root/share/wheels/flash_attn-2.4.2+cu118torch2.0cxx11abiTRUE-cp310-cp310-linux_x86_64.whl
pip install 'lmdeploy[all]==v0.1.0'

服务部署

在线转换

可以直接加载 Huggingface 模型

直接启动本地的 Huggingface 模型

lmdeploy chat turbomind /share/temp/model_repos/internlm-chat-7b/  --model-name internlm-chat-7b

可以在bash中对话
在这里插入图片描述

离线转换

需要先保存模型再加载

lmdeploy convert internlm-chat-7b  /root/share/temp/model_repos/internlm-chat-7b/

在这里插入图片描述
模型转换完成后,我们就具备了使用模型推理的条件,接下来就可以进行真正的模型推理环节。

# Turbomind + Bash Local Chat
lmdeploy chat turbomind ./workspace

在这里插入图片描述

TurboMind推理+API服务

在上面的部分我们尝试了直接用命令行启动 Client,接下来我们尝试如何运用 lmdepoy 进行服务化

”模型推理/服务“目前提供了 Turbomind 和 TritonServer 两种服务化方式。

首先,通过下面命令启动服务。

# ApiServer+Turbomind   api_server => AsyncEngine => TurboMind
lmdeploy serve api_server ./workspace \--server_name 0.0.0.0 \--server_port 23333 \--instance_num 64 \--tp 1

在这里插入图片描述
新开一个窗口,执行下面的 Client 命令。如果使用官方机器,可以打开 vscode 的 Terminal,执行下面的命令。

# ChatApiClient+ApiServer(注意是http协议,需要加http)
lmdeploy serve api_client http://localhost:23333

在这里插入图片描述
本地使用SSH连接,并打开 http://localhost:23333/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Gradio 作为前端 Demo演示

TurboMind 服务作为后端
# Gradio+ApiServer。必须先开启 Server,此时 Gradio 为 Client
lmdeploy serve gradio http://0.0.0.0:23333 \--server_name 0.0.0.0 \--server_port 6006 \--restful_api True
TurboMind 推理作为后端

Gradio 也可以直接和 TurboMind 连接,如下所示

# Gradio+Turbomind(local)
lmdeploy serve gradio ./workspace

打开http://localhost:6006/
在这里插入图片描述

作业

  • 本地对话方式,生成300字小故事
    在这里插入图片描述

  • API 方式,生成300字小故事
    在这里插入图片描述
    在这里插入图片描述

  • 网页Gradio方式, 生成300字小故事
    在这里插入图片描述

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

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

相关文章

Leetcode—2788. 按分隔符拆分字符串【简单】(stringstream的应用)

2023每日刷题&#xff08;八十六&#xff09; Leetcode—2788. 按分隔符拆分字符串 实现代码 class Solution { public:vector<string> splitWordsBySeparator(vector<string>& words, char separator) {vector<string> res;for(auto word: words) {st…

关于标准那些事——第十篇 分类标准

最近要赶一个极其重要的CANS认证项目&#xff0c;这会是全中国第一个完全数字化CNAS认证的实验室项目&#xff0c;内容分享进度会比较慢。其实&#xff0c;大多数情况也并不是没有时间&#xff0c;俗话说&#xff1a;时间嘛&#xff0c;挤挤总是有的&#xff01;其实影响进度更…

imgaug库图像增强指南(38):从入门到精通——图像卷积的全面解析

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

excel统计分析——Tukey‘s-b法多重比较

参考资料&#xff1a;生物统计学 Tukeys-b多重比较法是对Tukey法和S-N-K法的综合&#xff0c;取两种方法临界值的各1/2合成。临界值表达式为&#xff1a; 其中&#xff0c;m为秩次距&#xff0c;k为样本平均数的个数&#xff0c;df为误差项自由度&#xff0c; Tukey多重比较具…

【IEEE会议征稿通知】2024年算法、软件工程与网络安全国际学术会议(ASENS 2024)

2024年算法、软件工程与网络安全国际学术会议&#xff08;ASENS 2024&#xff09; The International Conference on Algorithms, Software Engineering and Network Security 2024年算法、软件工程与网络安全国际学术会议&#xff08;ASENS 2024&#xff09;将于2024年3月29…

通过CanvasRenderer.SetColor和Image.color修改UI组件颜色的区别

1&#xff09;通过CanvasRenderer.SetColor和Image.color修改UI组件颜色的区别 2&#xff09;OPPO相关机型没法在Unity启用90或120FPS 3&#xff09;手机输入法中的emoji 4&#xff09;Unity Application Patching怎么用 这是第369篇UWA技术知识分享的推送&#xff0c;精选了UW…

工程项目管理软件系统

工程项目管理软件系统单机版永久免费使用&#xff0c;无录入数量限制&#xff0c;无打印限制&#xff0c;无时间限制 1、产品概述 专业项目管理软件,业务流程清晰&#xff0c;操作简单&#xff0c;软件速度快; 围绕项目的(任务、进度、出库、入库、借用、人工、合同等)进行管理…

牛客NC267071小红构造数组(C++)

题目链接 实现方法 本题分为两步&#xff1a; 质因数分解&#xff1b;数字重排序&#xff08;相同数字不连续&#xff09; 质因数分解使用线性筛法&#xff0c;并在求质因数的过程中不断减小原数字。 数字重排序与重排字符串方法相同。 使用有序集合multiset存放各质因数及…

简述Elasticsearch(ES)是什么 全文搜索概念 (倒排索引 管理文档)

今天 我们来说说 NoSql 中的 Elasticsearch 大家基本都叫它 ES 官方介绍 它是一个分布式全文搜索引擎 分布式是一个系统架构的概念 而 全文搜索引擎 全文搜索 可以说基本大家天天都在接触 就比如 我们京东购物 想买什么东西 在全文输入框中搜索 它就会在所有物品中 帮你找出需…

C语言零基础入门第2天《 visual studio下载安装教程和搭建开发环境及踩坑指南》(保姆级图文教程)

visual studio下载安装教程和搭建开发环境 1、 项目实战效果图2、简单了解一下目前主流的开发环境3、 visual studio下载地址4、 visual studio安装教程5、 配置visual studio环境变量 6、如何新建一个C项目7、新建第一个C程序8、用代码测试创建的项目是否可用8、如何成功让代码…

利用git上传本地文件

1、建立仓库 2.然后刷新网站&#xff0c;获取下载链接&#xff0c;备用。 3、接下来在本地创建一个文件夹&#xff0c; 4、把github上面的仓库克隆到本地 git clone https://github.com/xxxxx&#xff08;https://github.com/xxxxx替换成你之前复制的地址&#xff09; 5、把…

GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

详情点击链接&#xff1a;GPT4Python近红外光谱数据分析及机器学习与深度学习建模 第一&#xff1a;GPT4 1、ChatGPT&#xff08;GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变&#xff09; 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别&#xff0c;以及与国内大语言模…

postman使用-09发送报告

文章目录 环境部署生成测试报告导出测试集导出环境变量导出全局变量 生成报告演示案例一&#xff1a;单一接口使用环境变量和全局变量案例二&#xff1a;单一接口使用环境变量、全局变量、CSV文件参数案例三&#xff1a;多接口&#xff0c;批量执行 总结 环境部署 1.安装nodej…

CSS文本外观属性(知识点2)

知识引入 1.text-indent&#xff1a;首行缩进 text-indent属性是用于定义首行文本的缩进&#xff0c;其属性值可为不同单位的数值&#xff0c;em字符宽度的倍数或相对于浏览器窗口宽度的百分比%&#xff0c;允许使用负值&#xff0c;建议使用em作为设置单位&#xff0c;下面通…

Docker Image(镜像)

Docker镜像是什么 Docker image 本质上是一个 read-only 只读文件&#xff0c;这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必须的文件。我们可以把 Docker image 理解成一个模板&#xff0c; 可以通过这个模板实例化出来很多容器。image 里面…

智能家居20年,从「动手」到「用脑」

【潮汐商业评论/原创】 正在装修新家的Carro最近陷入了纠结之中&#xff0c;“还没想好要怎么装一套完整的智能家居&#xff0c;家里的基装就已经开始了。” 事实上&#xff0c;Carro对智能家居也不了解&#xff0c;并不知道该如何下手&#xff0c;心想“要是能一次性设计好就…

MyBatis详解(1)-- ORM模型

MyBatis详解&#xff08;1&#xff09; JDBC的弊端&#xff1a; ORM 模型常见的ORM模型&#xff1a;mybatis和Hibernate的区别 ***优势&#xff1a;mybatis解决问题&#xff1a;优点&#xff1a; MyBatisMyBatis环境搭建项目架构mybatis生命周期 JDBC的弊端&#xff1a; 1.硬编…

jenkins部署过程记录

一、jenkins部署git链接找不到 原因分析&#xff1a; 机器的git环境不是个人git的权限&#xff0c;所以clone不了。Jenkins的master节点部署机器已经部署较多其他的job在跑&#xff0c;如果直接修改机器的git配置&#xff0c;很可能影响到其他的job clone 不了代码&#xff0c…

EI论文复现:考虑冷热运行特性的综合能源系统多时间尺度优化调度程序代码!

适用平台/参考文献&#xff1a;MatlabYalmipCplex&#xff1b; 参考文献&#xff1a;电力系统自动化《含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度》 提出考虑冷热特性的综合能源系统多时间尺度优化调度模型&#xff0c;日前计划中通过多场景描述可再生能源的不确定性…

大数据处理,Pandas与SQL高效读写大型数据集

大家好&#xff0c;使用Pandas和SQL高效地从数据库中读取、处理和写入大型数据集&#xff0c;以实现最佳性能和内存管理&#xff0c;这是十分重要的。 处理大型数据集往往是一项挑战&#xff0c;特别是在涉及到从数据库读取和写入数据时。将整个数据集加载到内存中的传统方法可…