【书生大模型实战营】进阶岛 第4关 InternVL 多模态模型部署微调实践
任务
- follow 教学文档和视频使用QLoRA进行微调模型,复现微调效果,并能成功讲出梗图.
- 尝试使用LoRA,或调整xtuner的config,如LoRA rank,学习率。看模型Loss会如何变化,并记录调整后效果(选做,使用LoRA或调整config可以二选一)
1. InternVL 推理部署
使用pipeline进行推理
from lmdeploy import pipeline
from lmdeploy.vl import load_image
pipe = pipeline('/root/demo/model/InternVL2-2B')
image = load_image('/root/demo/internVL_demo/007aPnLRgy1hb39z0im50j30ci0el0wm.jpg')
response = pipe(('请你根据这张图片,讲一个脑洞大开的梗', image))
print(response.text)
2. Intern微调
修改XTuner下 InternVL的config,文件在: /root/InternLM/code/XTuner/xtuner/configs/internvl/v2/internvl_v2_internlm2_2b_qlora_finetune.py
cd XTuner
NPROC_PER_NODE=1 xtuner train /root/demo/internVL_demo/internvl_v2_internlm2_2b_qlora_finetune.py --work-dir /root/demo/internVL_demo/work_dir/internvl_ft_run_8_filter --deepspeed deepspeed_zero1
合并权重,模型转换
python xtuner/configs/internvl/v1_5/convert_to_official.py /root/demo/internVL_demo/internvl_v2_internlm2_2b_qlora_finetune.py /root/demo/internVL_demo/work_dir/internvl_ft_run_8_filter/iter_3000.pth /root/demo/internVL_demo/internVL2-2B