wsl乌班图环境利用LLamaFactory装载千问多模态大模型流程演练 ...

张裕  金牌会员 | 2025-1-20 16:26:30 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 697|帖子 697|积分 2091

乌班图环境中安装Miniconda

启动乌班图(关于乌班图的安装与通例利用,请参考我的另外已篇文章windows系统中怎样利用乌班图)

nvidia-smi命令验证 GPU 是否可以在 WSL2 中被准确辨认

安装 Miniconda
  1. wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  2. bash Miniconda3-latest-Linux-x86_64.sh
复制代码
按照安装程序的指示完成安装,并初始化 Conda




询问每次启动终端时是否自动激活 conda 的 base 环境
如果选择no,每次必要自己conda activvate 手动激活base环境
如果选了 “yes” 但之后改变了主意,可以通过以下命令关闭自动激活:conda config --set auto_activate_base false
如果已经让 Miniconda 修改了 shell 设置文件,并且想要恢复原状,可以利用conda init --reverse                                    S                         H                         E                         L                         L                         恢复选中了                         n                         o                         必要手动激活                         b                         a                         s                         e                         环境                         e                         v                         a                         l                         "                              SHELL 恢复 选中了no 必要手动激活base环境 eval "                  SHELL恢复选中了no必要手动激活base环境eval"(/root/miniconda3/bin/conda shell.bash hook)"

为LLamaFactory 创建一个新的 conda 环境

conda create -n LLama_qwen2 python=3.10

conda环境创建好后,切换环境 conda activate LLama_qwen2

安装 LLamaFactory 和其他依赖项

  1. git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
  2. cd LLaMA-Factory
  3. pip install -e ".[torch,metrics]"
复制代码
为了加快速度,背面再加一个镜像源
-i https://pypi.tuna.tsinghua.edu.cn/simple

llamafactory-cli version 查抄是否安装成功

预备数据集

先用自带的mllm_demo_data做测试,验证微调功能
预备预训练大模型

在 llama-factory目录下创建models存放千问大模型通义千问2-VL-2B-Instruct
cd models
git clone https://www.modelscope.cn/Qwen/Qwen2-VL-2B-Instruct.git

模型下载成功

启动LLamaFactory web ui 页面

llamafactory-cli webui 启动失败
修改端口 export GRADIO_SERVER_PORT=7438 GRADIO_ROOT_PATH=/${JUPYTER_NAME}/proxy/7438/
重新启动,还是失败

仔细分析后想起,我是在当地部署的环境,并没有放在阿里云的jupyter里进部署,所以GRADIO_ROOT_PATH这个就不必要了,只要设置端口号即可
先查变量设置
echo $GRADIO_SERVER_PORT
echo $GRADIO_ROOT_PATH
然后用unset GRADIO_ROOT_PATH命令清除之前的路径设置
再重新设置端口

重新访问地点 http://127.0.0.1:7558/ 页面加载成功

设置页面加载模型,报错
检察Qwen2官网说明,要求安装transformers版本,好吧,试试看可否办理问题
pip install git+https://github.com/huggingface/transformers
报错如下

#更新 Git
sudo apt update
sudo apt install --only-upgrade git
git config --global url.“http://”.insteadOf https:// #设置 Git 利用 HTTP 而不是 HTTPS #git config --global --unset url.“http://”.insteadOf 恢复默认设置
再次实验 pip install git+https://github.com/huggingface/transformers
安装成功,报错如下

去修改LLama中的源文件
为便捷操作利用windows页面去修改,
Win + E 打开文件资源管理器输入 \wsl$ 回车,后续同windows操作
修改




搞了一圈,都没办理问题,反复检察LLama的官方说明,决定重新安装LLama依赖
pip install -e “.[torch,metrics]”
pip install --no-deps -e . #利用这个消除包冲突
按理说应该可以加载模型了呀,但是为啥还是报错呢
仔细排查,发现Qwen2的文件夹巨细不对,可能是乌班图git clone没有完成,于是windows中重新git clone
试试看。嗯~ 加载模型没有报错,看着应该是成了。
开端测试Qwen2-VL模型

进入chat页面测试一下模型装载是否成功
input里输入: “脸上长痘痘了,有什么发起吗?”
chat回答: 如下图。
看着还像那么回事,反正比花百十块看一个皮肤科专家给我说的话多,o( ̄︶ ̄)o

再试试视频,训练过的貌似都还不错,再试试看没训练过的图片

就从MedTrinity-25M中选一张头颅CT试试看

辨认出是脑部CT,再测试一下诊断问题

看起来Qwen2-VL-2B-Instruct对图片的通时能力还是不错的,但对于影像诊断的专业知识还不具备。
背面来试试看用MedTrinity-25M对模型进行微调训练。
MedTrinity-25M小数据量微调Qwen2-VL-2B-Instruct

当地机器GPU性能较差,选取3条MedTrinity-25M中的数据当地微调,测试一卑鄙程,大数据打算放到云服务器上跑
1. 数据格式预备

按照LLamaFactory的数据格式要求,图片+文本数据预备成这样

将图片文件夹放入data目录内
2. 修改代码文件

dataset_info.json 中增长数据源信息设置,只有这里设置了LLamaFactoryUI页面才能看到数据源

3. 设置LLama factory 训练参数 启动训练

当地大约颠末非常钟的训练就跑结束了,来看看qwen2-VL模型生成的lora训练模型补丁文件,这个要与原模型合并导出后才能用

4. 导出模型

把页签切换到Export,将原模型与lora补丁模型合并导出

导出成功

5. 测试微调模型

返回到chat页面,卸载原模型,重新装入上面导出的模型

模型装载成功,3张微调照片的力量实在微不足道,sft模型测试虽然和原模型效果差不多,但已经能分得出颅骨和大脑边界,已经超出预期。流程也已经跑通,下一节将记载云服务器大批量微调训练MedTrinity-25M实行的过程和结果。
(末了,感谢zhuge大神提供的流程指导和MedTrinity-25M转化后的数据集!)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表