LMDeploy 大模型量化部署实践

news2024/11/20 18:40:16

文章目录

  • 核心功能
    • 量化
    • 推理引擎
    • 推理服务
  • 量化原理补充

在这里插入图片描述

部署
在设备上运行起来,能够接受输入,返回输出。

最重要的就是性能和效率方面的考虑。大模型也是模型的一种,内存开销大,7b 要14G左右的显存。
因为是自回归的方式,需要把中间结果缓存下来,生成的结果越多,占的显存就越大。
生成过程就是采样的过程。

在这里插入图片描述
推理的时候是如何解决这种要生成万字的情况?依赖前一个生成的时候是怎么处理的?

在这里插入图片描述

服务也是一个框架支持起来的。
推理引擎是 C++ 写的,上层是 Python. 可以把 Python 当成一个客户端。

量化是非常有必要的。
请求的吞吐量。
在这里插入图片描述

在这里插入图片描述
提升推理的速度

核心功能

量化

降低存储空间,

大模型是访存密集型任务。
如何做量化?

  • GPTQ 算法
  • AWQ 算法的推理速度更快,量化的时间更短
    观察到在一个矩阵,模型在推理过程中,矩阵计算、张量计算中,只有非常少部分的参数是非常重要的。
    在这里插入图片描述
    在这里插入图片描述

推理引擎

使用 TurboMind 推理模型需要先将模型转化为 TurboMind 的格式,目前支持在线转换和离线转换两种形式。在线转换可以直接加载 Huggingface 模型,离线转换需需要先保存模型再加载。
TurboMind 是一款关于 LLM 推理的高效推理引擎,基于英伟达的 FasterTransformer 研发而成。它的主要功能包括:LLaMa 结构模型的支持,persistent batch 推理模式和可扩展的 KV 缓存管理器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

推理服务

在这里插入图片描述

在这里插入图片描述

2.3 TurboMind推理+API服务

量化原理补充

使用 LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事(需截图)

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

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

相关文章

虚拟机设置固定IP地址以及访问外网

一、虚拟机固定IP地址设置 1、IP地址查看命令 (1)ip a [rootlocalhost ~]# ip a • inet 192.168.93.129/24这表示该网络接口(ens33)被分配了一个IPv4地址是192.168.93.129,并且其子网掩码为 24位(即/24…

python if条件判断的基础及应用

当前版本: Python 3.8.4 简介 if 语句是一种用于根据一个或多个条件的结果来执行不同代码块的控制流结构,它会检查给定的条件是否为真。如果条件为真,则执行与之关联的代码块;如果条件为假,则执行与之关联的其他代码块…

【 CSS 】基础 2

“生活就像骑自行车,想要保持平衡,就得不断前行。” - 阿尔伯特爱因斯坦 CSS 基础 2 1. emmet 语法 1.1 简介 Emmet语法的前身是 Zen coding,它使用缩写,来提高 HTML / CSS 的编写速度, VSCode 内部已经集成该语法。…

《剑指 Offer》专项突破版 - 面试题 21 : 删除倒数第 n 个节点(C++ 实现)

目录 前言 方法一、遍历链表两次 方法二、遍历链表一次(前后双指针) 前言 题目链接:LCR 021. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 题目: 如果给定一个链表,请问如何删除链表中的…

ThinkPad T14/T15/P14s/P15s gen2电脑原厂Win10系统镜像 恢复笔记本出厂时预装自带OEM系统

lenovo联想原装出厂Windows10系统,适用型号: ThinkPad T14 Gen 2,ThinPad T15 Gen 2,ThinkPad P14s Gen 2,ThinkPad P15s Gen 2 (20W1,20W5,20VY,20W7,20W0,20W4,20VX,20W6) 链接&#xff1…

BO、VO层应用实例

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! BO、VO层应用实例 BO(Business Object)层是一种用于处理业务逻辑的组件层。BO层主要负责封装和处理与业务相关的逻辑和数据操作,它…

web前端项目-超级玛丽【附源码】

超级玛丽 【超级玛丽】是一个基于HTML5和JavaScript开发的经典电子游戏。玩家需要控制主角马里奥在各种关卡中跳跃、奔跑、消灭敌人,以完成游戏目标。玩家通过浏览器可以体验经典的超级玛丽关卡和冒险。 运行效果:方向键控制马里奥的左右移动、跳跃、奔…

【Unity学习笔记】第十二 · New Input System 及其系统结构 和 源码浅析

转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/132534422 作者:CSDN|Ringleader| 主要参考: 官方文档:Unity官方Input System手册与API官方测试用例:Unity-Technologies/InputS…

大语言模型无代码构建知识图谱(2)--环境准备

软件环境 需已安装MySQL数据库。需已安装HuggingFists系统,该系统将提供无代码的可视化数据开发环境。通过该系统利用大语言模型辅助知识图谱的构建。HuggingFists系统的安装可参考《HuggingFists-低代码玩转LLM RAG-准备篇》 流程环境 数据文件 进入HuggingFis…

源码透析MapperScannerRegistrar和MapperScannerConfigurer的区别及作用

文章目录 前言MapperScannerRegistrar使用方式实现原理 MapperScannerConfigurer使用方式实现原理 两者区别对比源码解析MapperScannerRegistrarMapperScannerConfigurerMapperFactoryBean 总结 本文里面涉及到的相关文章 MapperScan注解里面涉及到的Import注解解析可以查看系…

Flutter:跨平台移动应用开发的未来

Flutter:跨平台移动应用开发的未来 引言 Flutter的背景和概述 Flutter是由Google开发的一个开源UI工具包,用于构建漂亮、快速且高度可定制的移动应用程序。它于2017年首次发布,并迅速引起了开发者们的关注。Flutter采用了一种全新的方法来…

pip install flagai时出现Collecting PyYAML==5.4.1 (from flagai)等错误信息的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

7.【CPP】String类

一.汉字的编码 我们知道计算机存储英文字母,标点,数字用的是ascall码,128种用一个字节表示绰绰有余。而汉字远远不止128种,因此汉字需要两个字节表示。 1.gbk编码中汉字占两个字节。 2.utf-8中,一个汉字占三个字节。…

Oracle Linux 6.10 安装图解

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任,图解仅供参考,请悉知!本次安装图解是在一个全新的演示环境下进行的,演示环境中没有任何有价值的数据,但这并不代表摆在你面前的环境也是如此。生产环境…

第十回 朱贵水亭施号箭 林冲雪夜上梁山-FreeBSD/Linux 控制台基础操作

林冲被众庄客捉住,吊在门楼下,正被打时,柴进来了,赶快把林冲救下来。原来这是柴进打猎用的小庄子, 林冲就把火烧草料场一事跟柴进详细的说了。柴进说兄弟真是命运多磨难啊。林冲住了几日,恐怕连累柴进&…

Spring+SprinMVC+MyBatis配置方式简易模板

SpringSprinMVCMyBatis配置方式简易模板代码Demo GitHub访问 ssm-tpl-cfg 一、SQL数据准备 创建数据库test,执行下方SQL创建表ssm-tpl-cfg /*Navicat Premium Data TransferSource Server : 127.0.0.1Source Server Type : MySQLSource Server Versio…

网络编程 day6

网络聊天室项目 1.服务器端 #include <head.h> #define SER_IP "192.168.125.11" #define SER_PORT 6666 typedef struct Msg {char user[32]; //用户名int type; //1.登录、2.发消息、0.退出char text[1024]; //消息 } msg_t; typedef struct List…

Vue diff原理

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

Med-YOLO:3D + 医学影像 + 检测框架

Med-YOLO&#xff1a;3D 医学影像 检测框架 提出背景设计思路网络设计训练设计讨论分析 魔改代码&#xff1a;加强小目标检测总结 提出背景 论文链接&#xff1a;https://arxiv.org/abs/2312.07729 代码链接&#xff1a;https://github.com/JDSobek/MedYOLO 提出背景&…

助力焊接场景下自动化缺陷检测识别,基于YOLOv8【n/s/m/l/x】全系列参数模型开发构建工业焊接场景下工件表面焊接裂纹缺陷检测识别分析系统

焊接是一个不陌生但是对于开发来说相对小众的场景&#xff0c;在工件表面焊接场景下常常有对工件表面缺陷智能自动化检测识别的需求&#xff0c;工业AI结合落地是一个比较有潜力的场景&#xff0c;在我们前面的博文开发实践中也有一些相关的实践&#xff0c;感兴趣的话可以自行…