当前位置:   article > 正文

Llama 3 五一超级课堂 笔记 ==> 第三节、Llama 3 图片理解能力微调(XTuner+LLaVA 版)_image projector llama微调

image projector llama微调

同样还是使用之前的环境,不过需要使用下面命令重新安装下XTuner:

pip install -e .[all]
  • 1

因为pip install -e .安装会缺失一些第三方库,而我们要使用到 deepspeed,所以需要重新安装下。

模型准备

这里我使用 软链接 InternStudio 的模型的方案
总共需要3个权重
先执行

cd ~/model
  • 1

Llama3

ln -s /root/share/new_models/meta-llama/Meta-Llama-3-8B-Instruct .
  • 1

Visual Encoder

ln -s /root/share/new_models/openai/clip-vit-large-patch14-336 .
  • 1

Image Projector

ln -s /root/share/new_models/xtuner/llama3-llava-iter_2181.pth .
  • 1

可以通过下面命令查看缺少哪个补哪个。

ls
  • 1

数据准备

更多详情可以查看 Tutorial/xtuner/llava/xtuner_llava.md at camp2 · InternLM/Tutorial
我这里直接使用老师提供的方案,运行下面命令:

cd ~
git clone https://github.com/InternLM/tutorial -b camp2
python ~/tutorial/xtuner/llava/llava_data/repeat.py \
  -i ~/tutorial/xtuner/llava/llava_data/unique_data.json \
  -o ~/tutorial/xtuner/llava/llava_data/repeated_data.json \
  -n 200
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

训练模型

执行下面命令

xtuner train ~/Llama3-Tutorial/configs/llama3-llava/llava_llama3_8b_instruct_qlora_clip_vit_large_p14_336_lora_e1_finetune.py --work-dir ~/llama3_llava_pth --deepspeed deepspeed_zero2
  • 1

我当前开发机可使用的30% A100,24G显存,在运行上述命令会出现OOM报错,如图
class-3-1.png
求助群友和助教后的解决方案:
命令加上 _offload

xtuner train ~/Llama3-Tutorial/configs/llama3-llava/llava_llama3_8b_instruct_qlora_clip_vit_large_p14_336_lora_e1_finetune.py --work-dir ~/llama3_llava_pth --deepspeed deepspeed_zero2_offload
  • 1

训练中。。。。大概耗时4个小时
class-3-2.png
完成后,J进行格式转换
将原先的 image projector 和微调后的 image projector 转换成 HuggingFace 格式。
原先的

xtuner convert pth_to_hf ~/Llama3-Tutorial/configs/llama3-llava/llava_llama3_8b_instruct_qlora_clip_vit_large_p14_336_lora_e1_finetune.py \
  ~/model/llama3-llava-iter_2181.pth \
  ~/llama3_llava_pth/pretrain_iter_2181_hf
  • 1
  • 2
  • 3

微调后的

xtuner convert pth_to_hf ~/Llama3-Tutorial/configs/llama3-llava/llava_llama3_8b_instruct_qlora_clip_vit_large_p14_336_lora_e1_finetune.py \
  ~/llama3_llava_pth/iter_1200.pth \
  ~/llama3_llava_pth/iter_1200_hf
  • 1
  • 2
  • 3

效果展示

使用的图片
class-3-3.png
问下面两个问题看看训练前和训练后的效果
问题一:Describe this image.
问题二:What is the equipment in the image?

原先的

运行下面命令开始询问

export MKL_SERVICE_FORCE_INTEL=1
xtuner chat /root/model/Meta-Llama-3-8B-Instruct \
  --visual-encoder /root/model/clip-vit-large-patch14-336 \
  --llava /root/llama3_llava_pth/pretrain_iter_2181_hf \
  --prompt-template llama3_chat \
  --image /root/tutorial/xtuner/llava/llava_data/test_img/oph.jpg
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

效果
企业微信截图_e4fa1a73-8539-4d1c-a356-a04071634847.png

微调后的

运行下面命令开始询问

export MKL_SERVICE_FORCE_INTEL=1
xtuner chat /root/model/Meta-Llama-3-8B-Instruct \
  --visual-encoder /root/model/clip-vit-large-patch14-336 \
  --llava /root/llama3_llava_pth/iter_1200_hf \
  --prompt-template llama3_chat \
  --image /root/tutorial/xtuner/llava/llava_data/test_img/oph.jpg
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

效果
class-3-4.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/648639
推荐阅读
相关标签
  

闽ICP备14008679号