LMDeploy

发布时间: 更新时间: 总字数:586 阅读时间:2m 作者: IP上海 分享 网址

LMDeploy 由 MMDeployMMRazor 团队联合开发,是涵盖了 LLM 任务的全套轻量化、部署和服务解决方案。

介绍

LMDeploy 提供以下核心功能:

  • 高效的推理:LMDeploy 开发了 Persistent Batch(即 Continuous Batch),Blocked K/V Cache,动态拆分和融合,张量并行,高效的计算 kernel 等重要特性。推理性能是 vLLM 的 1.8 倍
  • 可靠的量化:LMDeploy 支持权重量化和 k/v 量化。4bit 模型推理效率是 FP16 下的 2.4 倍。量化模型的可靠性已通过 OpenCompass 评测得到充分验证。
  • 便捷的服务:通过请求分发服务,LMDeploy 支持多模型在多机、多卡上的推理服务。
  • 卓越的兼容性: LMDeploy 支持 KV Cache 量化, AWQAutomatic Prefix Caching 同时使用。

安装

Open In Colab

我们推荐在一个干净的 conda 环境下(python3.9 - 3.12),安装 lmdeploy:

conda create -n lmdeploy python=3.10 -y
conda activate lmdeploy
pip install lmdeploy

自 v0.3.0 版本起,默认预编译包基于 CUDA 12 编译。

若使用 GeForce RTX 50 系列显卡,请安装基于 CUDA 12.8 编译的 LMDeploy 预编译包。

export LMDEPLOY_VERSION=0.10.0
export PYTHON_VERSION=310
pip install https://github.com/InternLM/lmdeploy/releases/download/v${LMDEPLOY_VERSION}/lmdeploy-${LMDEPLOY_VERSION}+cu128-cp${PYTHON_VERSION}-cp${PYTHON_VERSION}-manylinux2014_x86_64.whl --extra-index-url https://download.pytorch.org/whl/cu128

如果需要在 CUDA 11+ 下安装 LMDeploy,或者源码安装 LMDeploy

LLM 模型服务

lmdeploy serve api_server internlm/internlm2_5-7b-chat

此命令将在本地主机上的端口 23333 启动一个与 OpenAI 接口兼容的模型推理服务。可以使用

  • --server-port 选项指定不同的服务器端口
  • 更多选项,请通过运行 lmdeploy serve api_server --help 查阅帮助文档

离线批处理

import lmdeploy
with lmdeploy.pipeline("internlm/internlm3-8b-instruct") as pipe:
    response = pipe(["Hi, pls intro yourself", "Shanghai is"])
    print(response)

LMDeploy 默认从 HuggingFace 上面下载模型,如果要从 ModelScope 上面下载模型,请通过命令 pip install modelscope 安装 ModelScope,并设置环境变量:

  • export LMDEPLOY_USE_MODELSCOPE=True

如果要从 openMind Hub 上面下载模型,请通过命令 pip install openmind_hub 安装 openMind Hub,并设置环境变量:

  • export LMDEPLOY_USE_OPENMIND_HUB=True

参考

  1. https://github.com/InternLM/lmdeploy
  2. https://github.com/InternLM/lmdeploy/blob/main/README_zh-CN.md
  3. https://lmdeploy.readthedocs.io/zh-cn/latest/
本文总阅读量 次 本站总访问量 次 本站总访客数
Home Archives Categories Tags Statistics