LMDeploy使用笔记
1. 环境部署
- 创建开发机:使用InternStudio平台,选择Cuda12.2-conda镜像,分配10% A100*1GPU资源。
- 创建conda环境:推荐在InternStudio上创建名为
lmdeploy
的环境。 - 安装LMDeploy:激活conda环境后,使用
pip install lmdeploy[all]==0.3.0
安装。
2. 模型对话
- 了解Huggingface和TurboMind:Huggingface是深度学习模型托管社区,TurboMind是LMDeploy的推理引擎。
- 下载模型:可以从InternStudio或OpenXLab平台下载。
- 使用Transformer库运行模型:通过编写Python脚本
pipeline_transformer.py
进行模型对话。 - 使用LMDeploy与模型对话:通过命令行直接与模型交互。
3. 模型量化
- 了解量化概念:量化用于减少模型大小和提高推理速度。
- 设置KV Cache缓存大小:通过调整
--cache-max-entry-count
参数优化显存使用。 - 使用W4A16量化:通过
lmdeploy lite auto_awq
命令实现模型量化。
4. LMDeploy服务
- 启动API服务器:使用
lmdeploy serve api_server
命令启动。 - 命令行客户端连接:通过
lmdeploy serve api_client
与API服务器交互。 - 网页客户端连接:使用Gradio作为前端,通过
lmdeploy serve gradio
启动网页客户端。
5. Python代码集成
- 集成运行1.8B模型:编写
pipeline.py
脚本,使用LMDeploy的pipeline模块。 - 向TurboMind后端传递参数:通过
TurbomindEngineConfig
类设置参数。
6. 拓展部分
- 运行视觉多模态大模型llava:使用
pipeline_llava.py
脚本进行推理。 - 运行第三方大模型:LMDeploy支持多种第三方模型。
- 比较推理速度:编写脚本
benchmark_transformer.py
和benchmark_lmdeploy.py
比较Transformer库和LMDeploy的推理速度。
课后作业
- 完成homework.md中的任务。
注意事项
- 确保使用推荐的Cuda版本以避免兼容性问题。
- 在量化和设置缓存大小时,注意显存占用和推理速度的平衡。
- 使用SSH端口转发访问远程API服务器。