日前,XTuner 团队基于 meta 最新发布的 Llama-3-8B-Instruct 模型训练并发布了最新版多模态大模型 LLaVA-Llama-3-8B, 在多个评测数据集上取得显著提升。
具体而言,本次共发布了两个多模态模型,分别为 LLaVA-Llama-3-8B 和 LLaVA-Llama-3-8B-v1.1,它们在架构上完全一样,但训练数据有些许不同。
快速上手
LLaVA-Llama-3-8B 模型权重已经开源到魔搭社区
- 代码:https://github.com/InternLM/xtuner
- LLaVA-Llama-3-8B权重:https://modelscope.cn/models/xtuner/llava-llama-3-8b
- LLaVA-Llama-3-8B-v1.1 权重:https://modelscope.cn/models/xtuner/llava-llama-3-8b-v1_1
模型下载
from modelscope import snapshot_download # 下载 llava-llama-3-8b-v1_1,其中包含 LLM、Projector 和ViT-LoRA 权重 snapshot_download('xtuner/llava-llama-3-8b-v1_1', cache_dir='./llava-llama-3-8b-v1_1') # 下载 clip-vit-large-patch14-336 snapshot_download('AI-ModelScope/clip-vit-large-patch14-336', cache_dir='./clip-vit-large-patch14-336')
安装环境
conda create --name xtuner-env python=3.10 -y conda activate xtuner-env pip install 'git+https://github.com/InternLM/xtuner.git#egg=xtuner[deepspeed]'
图文对话
xtuner chat ./llava-llama-3-8b-v1_1 \ --visual-encoder ./clip-vit-large-patch14-336 \ --llava ./llava-llama-3-8b-v1_1 \ --prompt-template llama3_chat \ --image $IMAGE_PATH
使用魔搭社区免费算力运行图文对话推理,
对话示例:
英文问答
中文问答
显存占用:
MMBench 评测
- 下载 MMBench 评测数据集
wget https://opencompass.openxlab.space/utils/VLMEval/MMBench_DEV_EN.tsv wget https://opencompass.openxlab.space/utils/VLMEval/MMBench_TEST_EN.tsv wget https://opencompass.openxlab.space/utils/VLMEval/MMBench_DEV_CN.tsv wget https://opencompass.openxlab.space/utils/VLMEval/MMBench_TEST_CN.tsv wget https://opencompass.openxlab.space/utils/VLMEval/CCBench.tsv
- 执行评测
xtuner mmbench ./llava-llama-3-8b-v1_1 \ --visual-encoder ./clip-vit-large-patch14-336 \ --llava ./llava-llama-3-8b-v1_1 \ --prompt-template llama3_chat \ --data-path $DATA_PATH \ --work-dir $RESULT_PATH
- $DATA_PATH:指第一步所下载的 MMBench 评测集,例如 ./MMBench_DEV_EN.tsv。
- $RESULT_PATH:指评测结果所保存的路径。
使用魔搭社区免费算力执行评测,评测结果如下:
评测后,如果是开发集(Dev),则评测结果会直接打印在 log 中;如果是测试集(Test),则需要将$RESULT_PATH 中的 mmbench_result.xlsx 提交至 MMBench 官方评测机获得评测结果(https://mmbench.opencompass.org.cn/home)。
显存占用:
训练
LLaVA-Llama-3-8B 在 1 台 8 卡 A100 上进行训练,分为预训练和指令微调两阶段,详细的数据集准备和训练配置可参考 XTuner 官方文档。(https://github.com/InternLM/xtuner/tree/main/xtuner/configs/llava/llama3_8b_instruct_clip_vit_large_p14_336)
同时,XTuner 也支持单卡训练 LLaVA-Llama-3-8B(青春版),仅需单卡 20GB 即可完成多模态训练全流程。
- 预训练
xtuner train llava_llama3_8b_instruct_quant_clip_vit_large_p14_336_e1_gpu1_pretrain --deepspeed deepspeed_zero2 --seed 1024
算力需求:单卡A100, pretrain 12GB 2.5天
- 指令微调
xtuner train llava_llama3_8b_instruct_qlora_clip_vit_large_p14_336_e1_gpu1_finetune --deepspeed deepspeed_zero2 --seed 1024
算力需求:单卡A100,finetune 20GB 5天
点击直达模型链接