LLaMA-Factory+Ollama:本地部署大模型流程详解

Author:YoungEWBOK

一共分为两个步骤,利用LLaMA-Factory训练(微调)模型利用Ollama部署模型,两个步骤是相互独立的,可以根据需要阅读对应部分。

LLaMA-Factory训练模型

LLaMA-Factory 安装

这部分在LLaMA-Factory的文档里已有详细介绍,可直接参考: https://llamafactory.readthedocs.io/zh-cn/latest/#

在安装 LLaMA-Factory 之前,确保安装了下列依赖:

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

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

如果出现环境冲突,请尝试使用 pip install --no-deps -e . 解决。

LLaMA-Factory 校验

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

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

HuggingFace镜像

由于无法访问HuggingFace,容易出现 OSError: We couldn’t connect to ‘https://huggingface.co’ to load this file. 类似的报错(如果在WebUI上看到的就是 “训练错误” 的字样),所以需要在命令行输入以下指令后再进行接下来的步骤:

export HF_ENDPOINT=https://hf-mirror.com

WebUI

LLaMA-Factory 支持通过 WebUI 零代码微调大语言模型。 在完成安装后,通过以下指令进入 WebUI:

llamafactory-cli webui

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

训练

在这里插入图片描述
在开始训练模型之前,需要指定的参数有:

  1. 模型名称及路径
  2. 训练阶段
  3. 微调方法
  4. 训练数据集
  5. 学习率、训练轮数等训练参数
  6. 微调参数等其他参数
  7. 输出目录及配置路径

比如说,我选择的就是Llama-3.1-8B的中文对话模型,数据集也选择的是alpaca的中文数据集。

随后,可以点击 开始 按钮开始训练模型。

若使用CPU训练可能会报Warning,忽略即可
在这里插入图片描述

评估预测与对话

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

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

导出

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

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

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

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

训练过程的Loss曲线如下:
在这里插入图片描述
导出模型:
在这里插入图片描述
利用模型进行对话:
在这里插入图片描述

使用自定义的custom_chinese_dataset数据集微调模型

自定义的数据集需要添加到data文件夹中,并在data_info.json中添加相应的内容:
在这里插入图片描述
在这里插入图片描述

保存之后,就能在数据集选项中看到自定义数据集了。
在这里插入图片描述
测试微调后的对话效果:
在这里插入图片描述

Ollama部署模型

Ollama安装完成后,可以将模型部署在本地。

部署模型库中的模型

首先下载Ollama:
以Windows系统为例
安装完成后,即可通过命令直接下载使用模型库中的模型,这里以llama3.1为例:

ollama run llama3.1

在这里插入图片描述
输入/?可以调出提示:
在这里插入图片描述

部署自定义模型

由于通过LlaMA-Factory导出的模型与Ollama所需格式有区别,需要借助Llama.cpp的代码进行转换

仓库地址:https://github.com/ggerganov/llama.cpp

git clone仓库之后,下载相关依赖:

pip install -r requirements.txt

接着就可以进行转换了:

python convert_hf_to_gguf.py /home/yyx/LLaMA-Factory/saves/Llama-3-8B-Chinese-Chat/output-100 \
--outfile /home/yyx/output-100.gguf \
--outtype q8_0

以下图的模型为例:
在这里插入图片描述
运行代码后会把safetensors格式转换为gguf格式,导出模型的名称是output-100.gguf。

接下来创建Modelfile,用于将模型导入Ollama中:

FROM /path/to/your_model.gguf

(先创建Modelfile.txt,在文档中填入内容,保存后把后缀.txt去掉即可,记得把/path/to/your_model.gguf替换为模型的实际路径)

在Ollama中创建相应的模型:

ollama create model_name -f /path/to/Modelfile

查看Ollama中所有的本地模型:

ollama list

在这里插入图片描述
在Ollama中运行模型进行对话:

ollama run model_name

至此,就已实现了在本地部署自定义微调模型,当然也可以利用docker运行webui,进行更好地可视化。

Tips:如果你发现你的模型在回复时逻辑不那么通顺流利,类似下图这样,说明你的微调似乎不够成功 😃
在这里插入图片描述
Enjoy it ~

Llama-factory是一个由利马养殖而来的工厂。利马作为一种动物在许多地方被用于毛和肉制品的生产。利马的毛是非常珍贵和高质量的,可以用于制作织物、毛线和毛毯等。因此,利马养殖业成为了一个潜力巨大和有利可图的行业。 Llama-factory的主要目标是通过高效率和可持续的生产方式,生产出高质量的利马制品。工厂采用先进的技术和设备,提高生产效率和产品质量。同时,为了保护环境和动物福利,工厂也将注重科学农业和动物养殖实践。 工厂保证了从利马养殖到制品加工的全过程的可追溯性和质量控制。优质利马毛的选择、剪切和加工过程严格按照标准操作规程进行,确保最终产品的优质和安全。 Llama-factory还将致力于产品的创新和市场开拓。除了传统的利马制品,如毛线和毛毯,工厂还会开发出更多样化的产品,如利马织物和时尚配饰。通过与设计师和品牌的合作,工厂将推出独特且具有竞争力的产品,满足不同消费者的需求。 同时,Llama-factory也将关注社会责任和可持续发展。工厂将积极参与当地社区的福利和环保项目,为地方经济和环境的改善做出贡献。 总之,Llama-factory将在利马养殖和产品制造领域发挥重要作用。通过高质量的利马制品和可持续的生产方式,工厂将为消费者提供优质的产品,同时为当地社区和环境做出积极贡献。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值