LMDeploy Windows 平台最佳实践

Windows 是全球范围内最流行的操作系统之一,许多企业和个人用户都在使用 Windows 系统。通过在 Windows 系统上支持 LLM 的推理,许多办公软件、聊天应用等都可以受益于 LLM 的技术,为用户提供更智能、更个性化的服务。LMDeploy 支持在 Windows 平台进行部署与使用,本文会从以下几个部分,介绍如何使用 LMDeploy 部署 internlm2-chat-1_8b 模型。

  • 环境配置
  • LMDeploy Chat CLI 工具
  • LMDeploy pipeline (python)
  • LMDeploy serving

环境配置

安装显卡驱动 & CUDA Toolkit

developer.nvidia.com/cuda-12-1-1...

成功安装后,打开 Powershell 后,环境变量 CUDA_PATH 不为空。

安装 LMDeploy

ini 复制代码
conda create -n lmdeploy python=3.10
conda activate lmdeploy
pip install lmdeploy --extra-index-url https://download.pytorch.org/whl/cu121

需要注意的是,--extra-index-url 不能省略,不然会安装 CPU 版本的 PyTorch

下载模型

perl 复制代码
mkdir D:\workspace
cd D:\workspace
huggingface-cli download --resume-download --cache-dir cache --local-dir-use-symlinks False --local-dir internlm2-chat-1_8b internlm/internlm2-chat-1_8b

命令行 CLI

LMDeploy 提供命令行工具,可以非常方便地在 Powershell 进行对话,相关命令是:

复制代码
lmdeploy chat .\internlm2-chat-1_8b\

LMDeploy 会根据 $env:CUDA_PATH 添加 CUDA Runtime 的目录,并在程序的开头会打印目录。如果没有下图红线的部分,需要检查显卡驱动以及 CUDA Toolkit 是否正确安装。

运行结果如下:

pipeline

LMDeploy 提供了 Python api,可以方便集成到其他的工具中,相关的用法如下。

java 复制代码
from lmdeploy import pipeline
pipe = pipeline('internlm2-chat-1_8b')
pipe('上海有什么景点')

运行结果如下:

pipeline 启动时参数设置可参考 lmdeploy.readthedocs.io/zh-cn/lates...

服务化

LMDeploy 支持把模型一键封装为服务,对外提供的 RESTful API 兼容 openai 的接口。以下为使用方式:

服务端:

复制代码
lmdeploy serve api_server .\internlm2-chat-1_8b\

更多使用方式可参考 lmdeploy.readthedocs.io/en/latest/s...

客户端:

ini 复制代码
from openai import OpenAI
client = OpenAI(
    api_key='YOUR_API_KEY',
    base_url="http://127.0.0.1:23333/v1"
)
model_name = client.models.list().data[0].id
response = client.chat.completions.create(
  model=model_name,
  messages=[
    {"role": "user", "content": "上海有什么著名景点"},
  ],
    temperature=0.8,
    top_p=0.8
)
print(response)

FAQ:

Q: 如何使用 LMDeploy cuda11 的版本?

A: 安装 CUDA Toolkit >= 11.3 并确保显卡驱动的版本支持 CUDA Toolkit,之后可以从 LMDeploy Release 页面 找到使用 CUDA11 编译的 whl 包,以 python3.10, LMDeploy v0.4.2 为例,安装方式为:

bash 复制代码
pip install https://github.com/InternLM/lmdeploy/releases/download/v0.4.2/lmdeploy-0.4.2+cu118-cp310-cp310-win_amd64.whl --extra-index-url https://download.pytorch.org/whl/cu118

Q:模型过大,显存不够加载模型怎么办?

A:可以考虑把模型权重量化为 4bit,然后再部署。模型大小的快速估算方式为,1B 大小的模型,其权重(16bit)大约需要 2G 的显存。量化为 4bit 后,大约只需 0.5G 显存。7B 模型,4bit 量化后,约 3.5 G。具体方法请参考文档:lmdeploy.readthedocs.io/en/latest/q...

Q:如何使用多卡推理?

A:对于在 Windows 宿主机上直接使用 LMDeploy 的方式,由于 NVIDIA 并未提供 Windows 平台的 NCCL 运行时,所以不支持多卡推理。

相关推荐
冬奇Lab34 分钟前
代码库知识库系列(06):把调用图编码进 Embedding——结构增强有效,但不够
人工智能
冬奇Lab41 分钟前
开源项目第175期:Buzz — Jack Dorsey 的 Block 用 Nostr 重新定义团队协作,AI Agent 拥有自己的加密身份
人工智能·开源·资讯
AI分享猿1 小时前
游戏原画与建筑灵感:AI图像生成如何服务前期设计
人工智能·游戏
字节跳动视频云技术团队1 小时前
为什么 AI 视频,需要“懂生成”的画质增强
人工智能
后端小肥肠2 小时前
我做了个能一键搭建个人工作台的 Skill,已开源
人工智能·aigc·agent
码云之上2 小时前
AI Agent 工程化总览篇:从 Prompt 到 Harness
前端·人工智能
sg_knight2 小时前
ZCode 3.0 安装全攻略:下载、配置、跑通第一个任务
llm·agent·ai编程·coding·ai工具·智谱·zcode
2501_926978332 小时前
以说明书 DNA 为模板——完整 AGI 的结构图景
前端·人工智能·经验分享·笔记·ai写作
IT_陈寒2 小时前
Vite静态资源引用这个坑我踩得有点疼
前端·人工智能·后端