Olive 微调
准备开发环境
-
执行命令
source "${HOME}/conda/etc/profile.d/conda.sh"
-
执行命令
conda activate hfdev
-
完成后你的命令提示符将从
mgyslm@A100-01:~$
变成(hfdev) mgyslm@A100-01:~$
.
(hfdev)
表明已经进入了安装好 olive 工具链的环境, 否则无法执行 olive 相关命令
上传数据集文件
将需要用来训练的数据集上传到 /home/mgyslm/zhihu/datasets
目录下, 并重命名为 datasets.json
检查 olive 微调配置文件
配置文件路径 /home/mgyslm/zhihu/fine-tuning/olive-config.json
微调基本参数已设置完成, 除非特殊情况否则不需要修改配置文件
检查原始模型
原始模型路径 /home/mgyslm/zhihu/models/microsoft/Phi-3-mini-4k-instruct
原始模型已下载完成, 除非特殊情况否则不需要修改原始模型
删除旧的缓存文件
/home/mgyslm/zhihu/models-cache
/home/mgyslm/zhihu/fine-tuning/cache
启动微调
-
切换到微调工作目录
cd /home/mgyslm/zhihu/fine-tuning
-
启动微调
olive run --config olive-config.json
微调根据数据集尺寸不同, 可能需要 5~10 分钟. 如果你无聊的话可以创建一个新终端, 输入命令 watch -n1 nvidia-smi
监控 A100 有没有在卖力干活
检查成果
微调模型的输出路径在 /home/mgyslm/zhihu/models-cache/microsoft/phi3-mini-finetuned/lora-merge_adapter_weights-builder/gpu-cuda_model
由于 Olive 微调输出格式为微软 onnx 格式, 因此需要使用配套的 onnxruntime-genai 运行, 不支持使用 ollama 直接运行
-
将文档包中的
phi3-qa.py
程序上传到服务器 -
执行程序
python ./phi3-qa.py -m /home/mgyslm/zhihu/models-cache/microsoft/phi3-mini-finetuned/lora-merge_adapter_weights-builder/gpu-cuda_model
现在和你对话的就是微调后的 AI -
如果你还想更换数据集对比微调结果, 请将
gpu-cuda_model
移动到其它地方并重命名, 避免被下次微调结果覆盖