#
LMdeploy
## 简介 LMDeploy 由 [MMDeploy](https://github.com/open-mmlab/mmdeploy) 和 [MMRazor](https://github.com/open-mmlab/mmrazor) 团队联合开发,是涵盖了 LLM 任务的全套轻量化、部署和服务解决方案。 这个强大的工具箱提供以下核心功能: - **高效推理引擎 TurboMind**:基于 [FasterTransformer](https://github.com/NVIDIA/FasterTransformer),我们实现了高效推理引擎 TurboMind,支持 InternLM、LLaMA、vicuna等模型在 NVIDIA GPU 上的推理。 - **交互推理方式**:通过缓存多轮对话过程中 attention 的 k/v,记住对话历史,从而避免重复处理历史会话。 - **多 GPU 部署和量化**:我们提供了全面的模型部署和量化支持,已在不同规模上完成验证。 - **persistent batch 推理**:进一步优化模型执行效率。 persistent batch 推理:进一步优化模型执行效率。 LMdeploy官方github地址:[https://github.com/InternLM/lmdeploy](https://github.com/InternLM/lmdeploy) ## 安装 ### 使用源码编译方式安装 #### 编译环境准备 提供2种环境准备方式: 1. 基于光源pytorch基础镜像环境:镜像下载地址:[https://sourcefind.cn/#/image/dcu/pytorch](https://sourcefind.cn/#/image/dcu/pytorch),根据pytorch、python、dtk及系统下载对应的镜像版本。 ```shell pip install -r requirements.txt pip install transformers==4.33.2 pip install urllib3==1.24 yum install rapidjson ``` 2. 基于现有python环境:安装pytorch,pytorch whl包下载目录:[https://cancon.hpccube.com:65024/4/main/pytorch/dtk23.04](https://cancon.hpccube.com:65024/4/main/pytorch/dtk23.04),根据python、dtk版本,下载对应pytorch的whl包。安装命令如下: ```shell pip install torch* (下载的torch的whl包) pip install -r requirements.txt pip install transformers==4.33.2 pip install urllib3==1.24 yum install rapidjson ``` #### 源码编译安装 - 代码下载 ```shell git clone http://10.0.54.20/xiabo/lmdeploy.git # 根据编译需要切换分支 默认develop分支 ``` - 提供2种源码编译方式(进入mmcv目录): ``` 1. 源码编译安装 mkdir build && cd build sh ../generate.sh make -j 32 && make install cd .. && python3 setup.py install 2. 编译成whl包安装 mkdir build && cd build sh ../generate.sh make -j 32 && make install cd .. && python3 setup.py bdist_wheel cd dist && pip3 install lmdeploy* ``` ## 模型服务 ### 部署 [LLaMA-2](https://github.com/facebookresearch/llama) 服务 请从[这里](https://huggingface.co/meta-llama) 下载 llama2 模型,参考如下命令部署服务: 以7B为例: ``` 1、模型转换 python3 -m lmdeploy.serve.turbomind.deploy llama2 path/to/chinese-llama2-7b-hf hf path/to/chinese-llama2-7b-hf/tokenizer.model ./workspace_llama 2、运行 - 在命令行界面运行: python3 -m lmdeploy.turbomind.chat ./workspace_llama - 在服务器界面运行: python3 -m lmdeploy.serve.gradio.app ./workspace_llama 10.6.10.67 打开网页输入10.6.10.67:6006 ``` ### 部署 [internlm](https://huggingface.co/internlm/) 服务 请从[这里](https://huggingface.co/internlm) 下载 llama2 模型,参考如下命令部署服务: 以7B为例: ``` 1、模型转换 python3 -m lmdeploy.serve.turbomind.deploy path/to/internlm-chat-7b internlm-chat-7b hf None ./workspace_intern 2、运行 - 在命令行界面运行: python3 -m lmdeploy.turbomind.chat ./workspace_intern - 在服务器界面运行: python3 -m lmdeploy.serve.gradio.app ./workspace_intern 10.6.10.67 打开网页输入10.6.10.67:6006 ``` ### 详细可参考 [docs](./docs/zh_cn/serving.md) ## 版本号查询 - python -c "import lmdeploy; lmdeploy.\_\_version__",版本号与官方版本同步,查询该软件的版本号,例如0.0.6; ## Known Issue - 无 ## Note + 若使用pip install下载安装过慢,可添加pypi清华源:-i https://pypi.tuna.tsinghua.edu.cn/simple/ ## 其他参考 - [README_origin](README_origin.md) - [README_zh-CN](README_zh-CN.md)