模型微调的大致流程:微调训练、推理验证、模型导出、模型部署
目录
llamafactory三种搭建方式
python环境的搭建
不管选择上面的哪一种,我们都需要最基础的python,所以最先需要在wsl环境里面配置好python,建议311版本及以上。
温馨提示:最好在wsl的环境下去搭建,如果是在window上的文件进行操作,跨系统读写 NTFS 文件系统不仅有严重的 I/O 延迟,还会导致文件锁、权限和硬链接等各种兼容性问题。我们可以mkdir -p ~/study/finetune & cd ~/study/finetune
前置环境安装命令如下:
sudo apt update
sudo apt install -y build-essential
sudo apt install -y software-properties-common
sudo apt install -y python3.11-dev
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.11 python3.11-venv
python3.11 --version
# 确保安装了 pip3.11 对应的工具,或者通过 pip3.11 安装 uv
python3.11 -m pip install --upgrade pip
python3.11 -m pip install uv
# 1. 进入项目目录
cd ~/study/finetune/LLaMA-Factory
# 2. 使用 Python 3.11 创建名为 ftenv 的虚拟环境
python3.11 -m venv ftenv
# 3. 激活虚拟环境
source ftenv/bin/activate
# 4. 在虚拟环境中安装 uv(利用虚拟环境内置的 pip)
pip install uv
附上部分内容的参考结果图

我们可以选择的环境有本地环境、免费的服务器、租用外界服务器。本人选择的是本地环境,跑个小模型差不多了。接下来执行如下操作安装。
#安装系统级distutils
sudo apt-get update
sudo apt-get install -y python3-distutils
#确定驱动已安装,基本都装了,没什么问题
nvidia-smi
#拉取代码
git clone https://github.com/hiyouga/LLaMA-Factory.git
#安装虚拟环境
pip install uv -ihttps://mirrors.aliyun.com/pypi/simple
source ftenv/bin/activate
#安装llamafactory
cd LLaMA-Factory
uv pip install -e ".[torch,metrics]" -i https://mirrors.aliyun.com/pypi/simple
#验证是否安装成功
llamafactory-cli version
##验证GPU是否可用,应输出True
python -c "import torch; print(torch.cuda.is_available())"
附上部分内容的参考结果图


认识llamafactory
LLaMA-Factory(常被开发者亲切地称为"LLaMA Factory")是一个专为大型语言模型(LLMs)设计的开源、一站式微调与部署框架。它的核心目标是打破大模型微调的高技术壁垒,让开发者无需深入理解复杂的底层代码,就能像"喝咖啡一样简单"地完成模型的定制化训练。
使用llamafactory

WebUI
执行 llamafactory-cli webui 启动webui

在地址栏输入:http://0.0.0.0:7860

我这边选择了Qwen3.5-2B-Thinking 模型,点击加载模型

在终端也会有加载信息显示,这边我忘记截图了....所以是后面加载模型的结果了...


CLI命令行
模型训练
执行 llamafactory-cli -h 查看可执行的参数信息

用资源管理系统打开项目,进入项目,路径如下:finetune\LLaMA-Factory\examples\train_lora

使用qwen3_lora_sft.yaml 来进行微调的案例展示,打开文件,将模型替换成刚刚下载好的模型,template 修改成default,输出文件夹也修改了

接下来在窗口执行 USE_MODELSCOPE_HUB=1 llamafactory-cli train examples/train_lora/qwen3_lora_sft.yaml 命令去训练 模型

这个就是执行完成的展示,在文件夹下面也可以查看结果

模型推理
进入finetune\LLaMA-Factory\examples\inference 下找到**qwen3_lora_sft.yaml,**同样继续修改配置文件

执行USE_MODELSCOPE_HUB=1 llamafactory-cli chat examples/inference/qwen3_lora_sft.yaml

输出的结果和使用的数据集给出的样例是一致的
模型合并
打开文件夹finetune\LLaMA-Factory\examples\merge_lora

继续修改配置文件

模型已经合并成一个了

进入finetune\LLaMA-Factory\examples\inference 文件夹,把adapter_name_or_path 属性删除掉,因为模型已经整合成一个了,其他的保持不变,目的是通过api命令,把模型部署成为一个接口,仅供调用 。执行以下命令
USE_MODELSCOPE_HUB=1 llamafactory-cli api examples/inference/qwen3_lora_sft.yaml

已经部署完成了,打开新的终端窗口输入
curl -s http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "output/Qwen3-0.6B",
"messages": [
{"role": "user", "content": "你是谁"}
],
"max_tokens": 64,
"temperature": 0.7
}'
到这里就结束了~

