大模型部署指南之 LMDeploy 篇:从模型压缩到生产级API的完整武器库

LMDeploy:大模型本地化部署的高效方案

一、LMDeploy 是什么?

LMDeploy 是一个用于大型语言模型(LLMs)和视觉-语言模型(VLMs)压缩、部署和服务的 Python 库。 其核心推理引擎包括 TurboMind 引擎和 PyTorch 引擎。前者由 C++CUDA 开发,致力于推理性能的优化,而后者纯 Python 开发,旨在降低开发者的门槛。

1.1 核心功能

  • 高效的推理:LMDeploy 开发了 Persistent Batch(即 Continuous Batch)Blocked K/V Cache动态拆分和融合张量并行高效的计算 kernel 等重要特性。推理性能是 vLLM 的 1.8 倍
  • 可靠的量化:LMDeploy 支持 权重量化k/v 量化。4bit 模型推理效率是 FP16 下的 2.4 倍。量化模型的可靠性已通过 OpenCompass 评测得到充分验证。
  • 便捷的服务:通过请求分发服务,LMDeploy 支持多模型在多机、多卡上的推理服务。
  • 有状态推理:通过 缓存 多轮对话过程中 attention 的 k/v,记住对话历史,从而避免重复处理历史会话。显著提升长文本多轮对话场景中的效率。
  • 卓越的兼容性: LMDeploy 支持 KV Cache 量化, AWQAutomatic Prefix Caching 同时使用。

1.2 性能

  • LMDeploy TurboMind 引擎拥有卓越的推理能力,在各种规模的模型上,每秒处理的请求数是 vLLM 的 1.36 ~ 1.85 倍。在静态推理能力方面,TurboMind 4bit 模型推理速度(out token/s)远高于 FP16/BF16 推理。在小 batch 时,提高到 2.4 倍
    lmdeploy vs vllm
  • LMDeploy 支持 2 种推理引擎: TurboMindPyTorch,它们侧重不同。前者追求推理性能的极致优化,后者纯用python开发,着重降低开发者的门槛。

二、快速开始

2.1 安装

官方推荐在一个干净的conda环境下(python3.8 - 3.12)进行安装:

conda create -n lmdeploy python=3.12 -y && conda activate lmdeploy
pip install lmdeploy

2.2 验证

lmdeploy --version  # 查看版本
lmdeploy list       # 查看支持的模型名称

2.3 模型仓库

LMDeploy 默认从 HuggingFace 上面下载模型

  1. 如果需要从 ModelScope 上面下载模型

    pip install modelscope
    # 设置环境变量
    export LMDEPLOY_USE_MODELSCOPE=True
    
  2. 如果要从 openMind Hub 上面下载模型

    pip install openmind_hub
    # 设置环境变量
    export LMDEPLOY_USE_OPENMIND_HUB=True
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeSilence

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值