当前位置: 首页 > news >正文

LMDeploy 大模型量化部署实践

LMDeploy 大模型量化部署实践

  • 大模型部署背景
    • 模型部署
      • 定义
      • 产品形态
      • 计算设备
    • 大模型特点
    • 大模型挑战
    • 大模型部署方案
  • LMDeploy简介
    • 推理性能
    • 核心功能-量化
    • 核心功能-推理引擎TurboMind
    • 核心功能 推理服务 api-server
  • 案例(安装、部署、量化)

大模型部署背景

模型部署

定义

  • 将训练好的模型在特定软硬件环境中启动的过程,使模型能够接受输入并返回预测结果
  • 为了满足性能和效率的要求,尝尝需要对模型进行优化,例如模型压缩和硬件加速

产品形态

云端、边缘计算端、移动端

计算设备

CPU、GPU、NPU、TPU等

大模型特点

  • 内存消耗巨大 庞大的参数量 7B模型仅权重就需要14+G内存
  • 采用自回归生成token 需要缓存Attention的k/v带来巨大的内存开销
  • 动态shape 请求数不固定 token逐个生成,且数量不定
  • 相对视觉模型 LLM结构简单

大模型挑战

  • 设备 如何应对巨大的存储问题 ? 底存储设备如何部署?
  • 推理 如何加速token的生成速度 如何解决动态shape 让推理可以不间断 如何有效管理和利用内存
  • 服务 如何提升系统整体吞吐量。对于个体用户 如何降低相应时间

大模型部署方案

  • 技术点
    在这里插入图片描述
  • 方案
    在这里插入图片描述

LMDeploy简介

LMDeploy 是LLM在英伟达设备上部署的全流程解决方案。包括模型轻量化、推理和服务。
项目地址:https://github.com/InternLM/lmdeploy
在这里插入图片描述
在这里插入图片描述

推理性能

  • 静态推理性能 固定batch
    在这里插入图片描述
  • 动态推理性能 真是对话
    在这里插入图片描述

核心功能-量化

在这里插入图片描述
为什么做weight only的量化?

  • 计算密集:推理的绝大部分时间消耗在数值计算上,针对计算密集场景,可以通过使用更快的硬件计算单元来提升计算速度,比如量化为W8A8使用Int8 Tensor Core来加速计算
  • 访问密集:推理时,绝大部分时间消耗在数据读取上,针对访问密集场景,一般是通过提高计算访存比来提升性能。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

核心功能-推理引擎TurboMind

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

核心功能 推理服务 api-server

在这里插入图片描述

案例(安装、部署、量化)

参考教程:
https://github.com/InternLM/tutorial/blob/main/lmdeploy/lmdeploy.md

http://www.lryc.cn/news/280254.html

相关文章:

  • 15个为你的品牌增加曝光的维基百科推广方法-华媒舍
  • 启动redis出现Creating Server TCP listening socket 127.0.0.1:6379: bind: No error异常
  • 响应式编程Reactor优化Callback回调地狱
  • React项目实战--------极客园项目PC端
  • Jerry每次能向前或向后走n*n步(始终不能超过初始位置1e5),q(q <= 1e5)次询问,求向前走d最少要几次
  • 【Spring Boot 3】【Flyway】数据库版本管理
  • 蓝桥杯基础数据结构(java版)
  • 39 C++ 模版中的参数如果 是 vector,list等集合类型如何处理呢?
  • 5.Pytorch模型单机多GPU训练原理与实现
  • 想成为一名C++开发工程师,需要具备哪些条件?
  • Qat++,轻量级开源C++ Web框架
  • openssl3.2 - 官方demo学习 - digest - EVP_MD_demo.c
  • uniapp 编译后文字乱码的解决方案
  • iOS中利用KeyChain永久保存用户信息的方法示例
  • 基于时域有限差分法的FDTD的计算电磁学算法(含Matlab代码)-YEE网格下的更新公式推导
  • win10使用debug,汇编初学
  • 怎么投稿各大媒体网站?
  • chatgpt免费使用的网站
  • 音频编辑软件:Studio One 6 中文
  • MySQL语句|使用UNION和UNION ALL合并两个或多个 SELECT 语句的结果集
  • UNRAID 优盘制作
  • 二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】
  • 银行测试--------转账
  • 阿里云最新优惠券领取方法及优惠活动汇总
  • 动态分配内存的风险
  • 多行SQL转成单行SQL
  • wpf的资源路径
  • shell 脚本之一键部署安装 Nginx
  • 第01章_Java语言概述拓展练习(为什么要设置path?)
  • 手机直连卫星及NTN简介