乌班图环境中安装Miniconda
启动乌班图(关于乌班图的安装与通例利用,请参考我的另外已篇文章windows系统中怎样利用乌班图)
nvidia-smi命令验证 GPU 是否可以在 WSL2 中被准确辨认
安装 Miniconda
- wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 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 和其他依赖项
- git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
- cd LLaMA-Factory
- 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企服之家,中国第一个企服评测及商务社交产业平台。 |