LLaMA-Factory AutoDL WebUI 微调与本地 Ollama 运行笔记
记录通过在 AutoDL 算力云(Linux)上用 LLaMA-Factory 的 WebUI 微调和训练模型,微调后下载到本地用 Ollama 运行的全流程,代码和界面操作为主,记关键点和坑。
环境准备
- AutoDL 环境:Linux(Ubuntu 20.04 常见),租 NVIDIA GPU(推荐 A100 40GB,显存 ≥24GB)
- 本地环境:Windows 10/11,装 Ollama
- 软件:
- Python 3.9
- CUDA 11.8 或 12.x(AutoDL 镜像自带)
- 网络:AutoDL 需梯子(Hugging Face 下模型)
AutoDL 云端配置与 WebUI 微调
1. 租用实例与检查
- 登录 AutoDL,选 GPU 实例(A100 40GB)。
- 进终端,确认:
python --version # 3.9.x nvidia-smi # GPU 和 CUDA
2. 下载 LLaMA-Factory
- 去 LLaMA-Factory 项目页,点“Code” > “Download ZIP”。
- 用 AutoDL 文件管理或 SFTP 上传到服务器。
- 解压:
unzip LLaMA-Factory-main.zip mv LLaMA-Factory-main LLaMA-Factory cd LLaMA-Factory
3. 配置环境
- 建虚拟环境:
python -m venv venv source venv/bin/activate - 装依赖:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple pip install gradio # WebUI 必需 - 确认 PyTorch:
检查:pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
4. 启动 WebUI
- 运行:
python src/webui.py - 输出地址(类似
http://0.0.0.0:7860),AutoDL 需端口映射:- 去 AutoDL 控制台,设置“自定义端口”,映射 7860。
- 浏览器打开公网地址(比如
http://xxx.autodl.com:7860)。
- 坑:7860 端口可能被防火墙挡,确认开放。
5. WebUI 数据集准备
- 内置数据集:WebUI 的“Dataset” Tab,选
alpaca_zh(测试用)。 - 自定义数据集:
- 格式:JSON,参考
data/alpaca_zh.json:[ {"instruction": "你好", "input": "", "output": "你好!有什么可以帮你的?"} ] - 上传:
- 在“Dataset” Tab,点“Upload”,选
my_data.json。 - 在“Custom Dataset” 填文件名(
my_data),点“Register”。
- 在“Dataset” Tab,点“Upload”,选
- 格式:JSON,参考
- 注意:数据至少几百条,格式错会报错。
6. WebUI 微调
- 模型选择:
- 在“Model” Tab,选基模型(比如
meta-llama/Llama-3-8B-Instruct)。 - 提前下模型:
huggingface-cli download meta-llama/Llama-3-8B-Instruct --local-dir /root/models/llama3
- 在“Model” Tab,选基模型(比如
- 训练设置:
- 去“Train” Tab。
- Adapter:选“LoRA”。
- Dataset:选
my_data或alpaca_zh. - 参数:
- Batch Size:4
- Learning Rate:5e-6
- Epochs:3
- LoRA Target:
q_proj,v_proj - Output Dir:
./output/llama3_finetuned
- 点“Start Training”。
- 输出:LoRA 适配器存
output/llama3_finetuned。
7. 合并与导出
- WebUI 无直接导出,用 CLI:
llamafactory-cli export \ --model_name_or_path /root/models/llama3 \ --adapter_name_or_path output/llama3_finetuned \ --export_dir ./exported_model \ --export_size 2 \ --export_legacy_format False - 导出到
./exported_model。
8. 下载到本地
- 压缩:
tar -czvf llama3_finetuned.tar.gz ./exported_model - 下到本地(
D:\Models):- 用 AutoDL 文件管理或 SFTP。
本地 Ollama 运行
1. 安装 Ollama
- Windows:
- 去 Ollama 官网 下安装包。
- 验证:
ollama --version
2. 转换模型为 GGUF
- 装
llama.cpp:git clone https://github.com/ggerganov/llama.cpp cd llama.cpp pip install -r requirements.txt - 转换:
python convert-hf-to-gguf.py D:\Models\exported_model --outfile llama3_finetuned.gguf
3. 创建 Ollama Modelfile
- 新建
Modelfile:FROM ./llama3_finetuned.gguf TEMPLATE """ {{ .System }} {{ .Prompt }} """ - 导入:
ollama create llama3_finetuned -f Modelfile
4. 运行
- 启动:
ollama run llama3_finetuned - 测试:
>>> 你好 你好!有什么可以帮你的?
注意
- 网络:AutoDL 下模型慢,配代理或用国内镜像。
- 显存:LoRA 批次调小(4 或 2),A100 40GB 跑 8B 稳。
- 数据集:几百条起步,JSON 格式不能乱。
- 端口:7860 被占,改
src/webui.py的port。
问题
- WebUI 打不开:端口没映射或防火墙挡。
- 微调失败:显存爆或数据格式错,查
output/llama3_finetuned日志。 - Ollama 导入失败:GGUF 文件坏,确认路径。
- 推理慢:本地 CPU 卡,试 4-bit 量化。
补充
- 监控:WebUI 无曲线,CLI 跑 TensorBoard:
pip install tensorboard tensorboard --logdir output/llama3_finetuned - 数据集:用 Easy Dataset 造数据。

浙公网安备 33010602011771号