写在前面:
前部分依旧是技术流的教程copy及相关笔记。但说实话,在复现这一部分中,遇到了很多问题,后面的QA我会把遇到的进行记录。
课程背景是XTuner 团队放出了基于 Llama3-8B 的 LLaVA 模型。然后机智流带领我们基于 Llama3-8B-Instruct 和 XTuner 团队预训练好的 Image Projector 微调多模态图文理解模型 LLaVA。
LLaVA模型,即文本单模型LLM和训练出来的Image Projector的组合。
训练阶段 | LLM+(文本与图像的问答对)----(显卡)---->Image Projector |
测试阶段 | Image Projector + LLM + 输入图像 ----(显卡)---->输出文字 |
这里附上机智流的Llama3教程链接:
1、环境配置
同上一章节(下载好模型、权重以及必要的依赖)
# 创建镜像并下载依赖
conda create -n llama3 python=3.10
conda activate llama3
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
# 安装git
mkdir -p ~/model
cd ~/model
apt install git git-lfs -y
# 获取权重模型
git clone https://code.openxlab.org.cn/MrCat/Llama-3-8B-Instruct.git Meta-Llama-3-8B-Instruct
# 下载llama3的机智流的教程工具包,里面有一些数据集和web的展示程序
cd ~
git clone https://github.com/SmartFlowAI/Llama3-Tutorial
# 安装XTuner
cd ~
git clone -b v0.1.18 https://github.com/InternLM/XTuner
cd XTuner
pip install -e .
2、模型训练
训练Image Projector文件的