
 
文章目录
- 大模型部署背景
 - LMDeploy简介
 - 动手实践
 - 创建环境
 - 服务部署
 - 在线转换
 - 离线转换
 - TurboMind推理+API服务
 - Gradio 作为前端 Demo演示
 - TurboMind 服务作为后端
 - TurboMind 推理作为后端
 
- 作业
 
大模型部署背景
部署:将训练好的模型在特定软硬件环境中启动的过程
 
 挑战:存储问题
 
LMDeploy简介
针对英伟达平台
 
 量化可以节省显存,提升推理速度
 
 访问数据占用了大量时间
 
 有一部分很重要的参数不量化,保留性能。其余部分量化节约显存
 
动手实践
安装、部署、量化
创建环境
/root/share/install_conda_env_internlm_base.sh lmdeploy
 

 
 安装lmdeploy
# 解决 ModuleNotFoundError: No module named 'packaging' 问题
pip install packaging
# 使用 flash_attn 的预编译包解决安装过慢问题
pip install /root/share/wheels/flash_attn-2.4.2+cu118torch2.0cxx11abiTRUE-cp310-cp310-linux_x86_64.whl
pip install 'lmdeploy[all]==v0.1.0'
 
服务部署
在线转换
可以直接加载 Huggingface 模型
直接启动本地的 Huggingface 模型
lmdeploy chat turbomind /share/temp/model_repos/internlm-chat-7b/  --model-name internlm-chat-7b
 
可以在bash中对话
 
离线转换
需要先保存模型再加载
lmdeploy convert internlm-chat-7b  /root/share/temp/model_repos/internlm-chat-7b/
 

 模型转换完成后,我们就具备了使用模型推理的条件,接下来就可以进行真正的模型推理环节。
# Turbomind + Bash Local Chat
lmdeploy chat turbomind ./workspace
 

TurboMind推理+API服务
在上面的部分我们尝试了直接用命令行启动 Client,接下来我们尝试如何运用 lmdepoy 进行服务化
”模型推理/服务“目前提供了 Turbomind 和 TritonServer 两种服务化方式。
首先,通过下面命令启动服务。
# ApiServer+Turbomind   api_server => AsyncEngine => TurboMind
lmdeploy serve api_server ./workspace \
	--server_name 0.0.0.0 \
	--server_port 23333 \
	--instance_num 64 \
	--tp 1
 

 新开一个窗口,执行下面的 Client 命令。如果使用官方机器,可以打开 vscode 的 Terminal,执行下面的命令。
# ChatApiClient+ApiServer(注意是http协议,需要加http)
lmdeploy serve api_client http://localhost:23333
 

 本地使用SSH连接,并打开 http://localhost:23333/
 
 
 
Gradio 作为前端 Demo演示
TurboMind 服务作为后端
# Gradio+ApiServer。必须先开启 Server,此时 Gradio 为 Client
lmdeploy serve gradio http://0.0.0.0:23333 \
	--server_name 0.0.0.0 \
	--server_port 6006 \
	--restful_api True
 
TurboMind 推理作为后端
Gradio 也可以直接和 TurboMind 连接,如下所示
# Gradio+Turbomind(local)
lmdeploy serve gradio ./workspace
 
打开http://localhost:6006/
 
作业
-  
本地对话方式,生成300字小故事

 -  
API 方式,生成300字小故事


 -  
网页Gradio方式, 生成300字小故事

 















![[蓝桥杯]真题讲解:飞机降落(DFS枚举)](https://img-blog.csdnimg.cn/direct/f50adb77971e43cbb10e9f003690f064.png)



