本地部署多模态 Llama3 大模型实战
一般开源的 LLM,例如 Llama3 和 Qwen2 等,只支持文本的输入,只能理解文本的内容,实现基于文本的逻辑推理和意图识别。
但是一些 Chatbot,例如 GPT-4V,就是拥有视觉能力,能够理解图片内容,能够更好的解决现实中的实际问题。
如何给开源大模型添加上视觉 Vision?本篇文章助力大家在本地玩转多模态的 Llama3。
理解 LLaVA 方案
给 LLM 装上电子眼:

添加上一个 Image Projector,让大模型具有处理图片输入的能力,再经过向量对齐,输入 LLM 中,就可以使大模型增加对输入图片的理解。
所使用的文本单模型 LLM 和训练出来的 Image Projector,统称为 LLaVA 模型。
LLaVA(Large Language-and-Vision Assistant),是一个在 LLM 基础上来实现对视觉问题问答的解决方案。
Image Projector 的训练和测试,有点类似之前我们讲过的 LoRA 微调方案。
二者都是在已有 LLM 的基础上,用新的数据训练一个新的小文件。
只不过,LLM 套上 LoRA 之后,有了新的灵魂(角色);而 LLM 套上 Image Projector 之后,才有了眼睛。
简述 Image Projector 的训练过程
训练过程分为为 2 个阶段:Pretrain 和 Finetune。

在 Pretrain 阶段,我们会使用大量的图片 + 简单文本(即图片标题)数据对,使 LLM 理解图像中的普遍特征。即对大量的图片进行粗看。
Pretrain 阶段训练完成后,此时的模型已经有视觉能力了!但是由于训练数据中都是图片 + 图片标题,所以此时的图片虽然有视觉能力,但无论用户问它什么,它都只会回答输入图片的标题,即此时的模型只会给输入图像'写标题'。
在 Finetune 阶段,我们会使用图片 + 复杂文本数据对(多轮对话数据),来对 Pretrain 得到的 Image Projector 进行进一步的训练。
选择和下载模型
Xtuner 是一个大模型微调工具箱。https://github.com/InternLM/xtuner。
Xtuner 是一个高效、灵活、全能的轻量化大模型微调工具库。
- 支持多种开源的大语言模型
- 支持多种微调方法,QLoRA、LoRA、全量参数微调
- 支持多种微调算法
本次我们选择 Xtuner 团队 https://huggingface.co/xtuner。其团队微调的系列模型有:
- phi-3-mini
- Llama3
- InternLM2
- Qwen
- Llama2
其中的,Vision 大模型 LLaVA-Llama-3-8B。
HuggingFace 仓库中提供了量化好的 GGUF 格式,直接可以在 Ollama 的 F16 半精度模型和 INT4 精度模型:










