1. LLaMA-Factory
什么是LLaMA-Factory? LLaMA-Factory,全称Large Language Model Factory,即大型语言模型工厂。它支持 多种预训练模型和微调算法 ,提供了一套完整的工具和接口,使得用户能够轻松地对 预训练的模型进行定制化的训练和调整 ,以适应特定的应用场景,如智能客服、语音识别、机器翻译 等。
github: https://github.com/hiyouga/LLaMA-Factory
入门教程:https://zhuanlan.zhihu.com/p/695287607

特点:
- 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Qwen2-VL、DeepSeek、Yi、Gemma、ChatGLM、Phi 等等。
- 集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
- 多种精度:16bit 全参数微调、冻结微调、LoRA 微调和基于AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 bit QLoRA 微调(16 bit 全参数微调:使用半精度浮点数更新模型全部参数,效果好但计算和内存开销最大。冻结微调:只训练模型的部分层,其余参数固定不变,是一种高效的适配方法。LoRA 微调:通过低秩适配器在原始参数旁添加小型可训练矩阵,大幅减少训练参数量。基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 bit QLoRA 微调:在量化模型(将权重压缩至2-8bit表示)基础上结合LoRA技术,实现极低资源消耗的微调)。
- 先进算法:GaLore、BAdam、APOLLO、Adam-mini、Muon、OFT、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 和 PiSSA。
- 实用技巧:FlashAttention-2、Unsloth、Liger Kernel、RoPE scaling、NEFTune 和 rsLoRA。
- 广泛任务:多轮对话、工具调用、图像理解、视觉定位、视频识别和语音理解等等。
- 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等等。
- 极速推理:基于 vLLM 或 SGLang 的 OpenAI 风格 API、浏览器界面和命令行接口。
2. 安装LLaMA Factory
参考:https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/installation.html
2.1 安装git
bash
sudo apt install git

2.2 利用git 拉去 LLaMA Factory
bash
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git


2.3 安装conda
-
安装Conda 所需依赖:
bashsudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

-
下载conda 安装包:
bashwget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh若报错:目录没有写入权限
bashlbm@ubuntu:/opt$ wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh --2025-11-10 16:55:17-- https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh 正在解析主机 repo.anaconda.com (repo.anaconda.com)... 104.16.32.241, 104.16.191.158, 2606:4700::6810:20f1, ... 正在连接 repo.anaconda.com (repo.anaconda.com)|104.16.32.241|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度: 1102495056 (1.0G) [application/octet-stream] Anaconda3-2024.10-1-Linux-x86_64.sh: 权限不够 无法写入 'Anaconda3-2024.10-1-Linux-x86_64.sh' (成功)。使用
sudo下载到/opt:bash# 使用 sudo 权限下载 sudo wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh -P /opt
bashcd /opt # 安装conda,一路回车和yes sudo bash Anaconda3-2024.10-1-Linux-x86_64.sh注意 : 终端出现
Anaconda3 will now be installed into this location:可输入自定义路径进而支持自定义conda安装路径(直接回车会默认安装到HOME目录)。

-
conda配置环境,默认没有配置环境

查看conda安装位置

输入
nano ~/.bashrc在
bashrc文件的最后一行加入:export PATH=/home/lbm/anaconda3/bin:$PATH(lbm是自己的用户名)。按Ctrl+x 保存并退出编辑

配置生效,用
conda -V查看版本正常了bashsource ~/.bashrc
4 创建环境
-
创建
llama-factory微调虚拟环境bashconda create -n llama-factory python=3.10



激活环境
bashconda activate llama-factory -
安装相关依赖
bashpip install -e ".[torch,metrics]" --no-build-isolation -i https://mirrors.aliyun.com/pypi/simple

-
启动
LLama-Factorybashllamafactory-cli webui
(这里我用的是虚拟机 ubuntu22.04 安装 LLama-Factory ,可以在 win 系统下通过虚拟机 IP 地址访问 LLama-Factory 界面)

5. Gradio 域名微调
如果 ubuntu 是服务器版本没有桌面的,你又想使用图形化微调,可以通过gradio 创建公开域名链接进行微调
bash
0 表示第一张显卡:`CUDA_VISIBLE_DEVICES=0`
1 表示创建1个域名链接:`GRADIO_SHARE=1`
查看有多少张卡:
bash
nvidia-smi -L

启动命令:
bash
CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli

gradio报错:
- 创建目录:
mkdir -p /home/lbm/.cache/huggingface/gradio/frpc - 进入目录:
cd /home/lbm/.cache/huggingface/gradio/frpc - 我用
win浏览器下载,然后手动上传到frpc文件下:https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64,因为:wget https://github.com/gradio-app/gradio/raw/main/gradio/frpc_linux_amd64-O frpc_linux_amd64_v0.3,下载有问题!!

如上图,上传进frpc文件里,然后重命名:mv frpc_linux_amd64 frpc_linux_amd64_v0.3

添加权限:chmod +x frpc_linux_amd64_v0.3

启动 :CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli webui

这样就生成了一条公开域名,你也可以分享给其他人用:https:// b551a47a2dd5.gradio.live/,这里就部署结束了!!后面就是上传数据集做训练了
训练效果展示:

总而言之,在 Ubuntu 上成功部署 LLaMA Factory,标志着您已经拥有了一个强大且灵活的大语言模型微调平台。它不仅集成了当前主流的微调技术,还提供了直观的操作界面,让研究和开发工作事半功倍。"行百里者半九十"。环境的搭建只是第一步,真正的价值将在您后续的微调实验和创新应用中得以体现。请不要让工具止步于安装,立即开始您的第一次模型微调,在真实的项目中感受生成式 AI 的魅力与力量吧!