LLaMA-Factory+Ollama远程服务器部署及知识库微调训练

参考

  1. LLaMA-Factory官网https://llamafactory.readthedocs.io/zh-cn/latest/#
  2. LLaMA-Factory+Ollama操作流程 https://zhuanlan.zhihu.com/p/991206079

微调和搭建知识库的区别

  1. rag需要载体(类似向量数据库,文档等)去承载知识库。
  2. 微调直接将功能加入到模型当中。
  3. 针对场景而定,结合知识库比较灵活,节省训练的算力。微调简单粗暴,有模型即可进行推理。

部署

默认cuda安装都已经完成,网上很多教程,不在这里多说。

运行以下指令以安装 LLaMA-Factory 及其依赖:

bash 复制代码
# 获取项目
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
# 进入项目
cd LLaMA-Factory
# 创建环境
conda create -n llama_factory python=3.10
# 激活环境
conda activate llama_factory
# 安装依赖
pip install -e ".[torch,metrics]"

完成安装后,可以通过使用 llamafactory-cli version 来快速校验安装是否成功。

如果能成功看到类似 "Welcome to LLaMA Factory, version ······" 的字样,说明安装成功。

启动

进入webui

bash 复制代码
llamafactory-cli webui

打开链接即可看到训练平台。

使用训练平台

WebUI 主要分为四个界面:训练、评估与预测、对话、导出。

1.训练

需要指定的参数有:

  1. 模型名称及路径
  2. 训练阶段
  3. 微调方法
  4. 训练数据集
  5. 学习率、训练轮数等训练参数
  6. 微调参数等其他参数
  7. 输出目录及配置路径
    比如说,我选择的就是Baichuan-7B-Base的中文对话模型,数据集也选择的是alpaca的中文数据集。
    随后,可以点击 开始 按钮开始训练模型。

若使用CPU训练可能会报Warning,忽略即可

2.评估预测与对话

模型训练完毕后,通过在评估与预测界面通过指定 模型 及 适配器 的路径在指定数据集上进行评估。

也可以通过在对话界面指定 模型、 适配器 及 推理引擎 后输入对话内容与模型进行对话观察效果。

3.导出

在导出界面通过指定 模型、 适配器、 分块大小、 导出量化等级及校准数据集、 导出设备、 导出目录 等参数后,点击 导出 按钮导出模型。

(如果需要部署到Ollama上,请一定记得把模型导出)

示例:微调中文对话大模型

使用alpaca_zh_demo数据集微调Llama-3-8B-Chinese-Chat模型

训练过程的Loss曲线如下:

导出模型:

4.利用自己的数据进行微调

添加数据集信息

路径地址:/root/scratch/LLaMA-Factory/data

在dataset_info.json中加入自己的数据集名称和位置。custom_data为数据集的名称,test.json为位置,位置路径默认为在/root/scratch/LLaMA-Factory/data/test.json这个位置。

weiui同步可以显示名称

添加自己的数据

/root/scratch/LLaMA-Factory/data/test.json在这里添加数据

模型转换

git地址:https://github.com/ggml-org/llama.cpp

bash 复制代码
cd /root/scratch/LLaMA-Factory
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
python convert_hf_to_gguf.py /root/scratch/LLaMA-Factory/saves/Baichuan-7B-Base/lora/train_2025-02-27-08-34-33/checkpoint-12 \
 --outfile /home/yyx/output-100.gguf \
 --outtype q8_0

模型转向量

css 复制代码
# 查看拥有的模型
ollma list
# 返回
NAME               ID              SIZE      MODIFIED   
deepseek-r1:14b    ea35dfe18182    9.0 GB    5 days ago 
# 激活环境
conda activate llama_factory
# 安装包
pip install langchain_ollama
# 执行脚本
from langchain_ollama import OllamaEmbeddings

# 使用 Ollama Embeddings 模型
embeddings = OllamaEmbeddings(model="deepseek-r1:14b")

# 嵌入查询文本
result = embeddings.embed_query("My query to look up")
print(result)
相关推荐
iDao技术魔方19 小时前
WSL 配 GPU 用 Docker 的折腾指南(2026 年版)
运维·docker·容器
2601_9503689119 小时前
稀土合金粉末采购指南:3步筛选靠谱镁钆供应商
大数据·运维·人工智能·python
mifengxing19 小时前
操作系统(五)
linux·运维·服务器·操作系统·王道考研
土星云SaturnCloud19 小时前
边缘计算赋能烟草行业数字化转型
服务器·人工智能·ai·边缘计算
跳动的世界线19 小时前
WSL 2 + Docker 本地全栈开发环境配置指南
运维·docker·容器
算力视野19 小时前
GPU、NPU、TPU有什么区别?
服务器·人工智能·gpu算力
We Just Keep growing19 小时前
【MySQL运维篇】——日志、主从复制、分库分表、读写分离
java·运维·数据库·windows·学习·mysql
change_fate19 小时前
ERR_PNPM_WORKSPACE_PKG_NOT_FOUND In ...
java·服务器·前端
计算机安禾20 小时前
【算法分析与设计】第48篇:流算法与数据概要技术
java·服务器·网络·数据库·算法
会Tk矩阵群控的小木20 小时前
小红书矩阵系统2026最新技术架构与多账号自动化运营实战
运维·矩阵·架构·自动化·个人开发