书生·浦语第二期实战营(初夏专场)-作业5

书生·浦语第二期实战营(初夏专场)-作业5

基础作业(结营必做)

完成以下任务,并将实现过程记录截图:

  • 配置 LMDeploy 运行环境
conda create -n lmdeploy -y python=3.10
conda activate lmdeploy
pip install lmdeploy[all]==0.3.0
  • 以命令行方式与 InternLM2-Chat-1.8B 模型对话
conda activate lmdeploy

#lmdeploy chat [HF格式模型路径/TurboMind格式模型路径]
lmdeploy chat /root/internlm2-chat-1_8b
#输入“exit”并按两下回车,可以退出对话

进阶作业

完成以下任务,并将实现过程记录截图:

题目一

  • 设置KV Cache最大占用比例为0.4,开启W4A16量化,以命令行方式与模型对话
lmdeploy chat /root/models/internlm2-chat-1_8b --cache-max-entry-count 0.4

题目二

  • 以API Server方式启动 lmdeploy,开启 W4A16量化,调整KV Cache的占用比例为0.4,分别使用命令行客户端与Gradio网页客户端与模型对话

启动API服务

conda activate lmdeploy

lmdeploy serve api_server \
/root/models/internlm2-chat-1_8b \
--model-format hf \
--quant-policy 0 \
--server-name 0.0.0.0 \
--server-port 23333 \
--tp 1  \
--cache-max-entry-count 0.4

命令行连接

#运行客户端
lmdeploy serve api_client http://localhost:23333

网页客户端连接

#使用Gradio作为前端,启动网页客户端
lmdeploy serve gradio http://localhost:23333 \
--server-name 0.0.0.0 \
--server-port 6006

题目三

  • 使用W4A16量化,调整KV Cache的占用比例为0.4,使用Python代码集成的方式运行internlm2-chat-1.8b模型。
from lmdeploy import pipeline, TurbomindEngineConfig

# 调低 k/v cache内存占比调整为总显存的 40%
backend_config = TurbomindEngineConfig(cache_max_entry_count=0.4)

pipe = pipeline('/root/internlm2-chat-1_8b',
backend_config=backend_config)
response = pipe(['Hi, pls intro yourself', '上海是'])
print(response)

运行代码

python /root/pipeline_kv.py

题目四

  • 使用 LMDeploy 运行视觉多模态大模型 llava gradio demo
#首先激活conda环境
conda activate lmdeploy
#安装llava依赖库
pip install git+https://github.com/haotian-liu/LLaVA.git@4e2277a060da264c4f21b364c867cc622c945874

touch /root/pipeline_llava.py

写入代码

from lmdeploy.vl import load_image
from lmdeploy import pipeline, TurbomindEngineConfig


backend_config = TurbomindEngineConfig(session_len=8192) # 图片分辨率较高时请调高session_len
# pipe = pipeline('liuhaotian/llava-v1.6-vicuna-7b', backend_config=backend_config) 非开发机运行此命令
pipe = pipeline('/share/new_models/liuhaotian/llava-v1.6-vicuna-7b', backend_config=backend_config)

image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg')
response = pipe(('describe this image', image))
print(response)

保存后运行

python /root/pipeline_llava.py

也可以通过Gradio来运行llava模型。新建python文件gradio_llava.py​。

touch /root/gradio_llava.py

打开文件,填入以下内容:

import gradio as gr
from lmdeploy import pipeline, TurbomindEngineConfig


backend_config = TurbomindEngineConfig(session_len=8192) # 图片分辨率较高时请调高session_len
# pipe = pipeline('liuhaotian/llava-v1.6-vicuna-7b', backend_config=backend_config) 非开发机运行此命令
pipe = pipeline('/share/new_models/liuhaotian/llava-v1.6-vicuna-7b', backend_config=backend_config)

def model(image, text):
if image is None:
return [(text, "请上传一张图片。")]
else:
response = pipe((text, image)).text
return [(text, response)]

demo = gr.Interface(fn=model, inputs=[gr.Image(type="pil"), gr.Textbox()], outputs=gr.Chatbot())
demo.launch()   

运行python

python /root/gradio_llava.py

通过ssh转发一下7860端口

ssh -CNg -L 7860:127.0.0.1:7860 root@ssh.intern-ai.org.cn -p <你的ssh端口>

通过浏览器访问http://127.0.0.1:7860

  • 将 LMDeploy Web Demo 部署到 Openlab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值