发布于 2026-01-06 1 阅读
0

使用 LoRA、llama.cpp 和 KitOps,只需 5 个简单步骤即可微调您的第一个大型语言模型 (LLM)。

使用 LoRA、llama.cpp 和 KitOps,只需 5 个简单步骤即可微调您的第一个大型语言模型 (LLM)。

语言学习模型(LLM)入门可能会让人望而生畏。在本教程中,我们将向您展示如何使用 LoRA 对大型语言模型进行微调,并借助llama.cppKitOps等工具来实现这一目标。

LoRA(低秩自适应)是一种以最小的计算开销高效自适应预训练模型的技术。我们将通过简单易懂的步骤,引导您完成设置、自适应过程和部署。

0. 先决条件

开始之前,您需要安装 Kit CLI 并从 Llama 下载一个可执行文件。

Kit CLI 已安装到您的系统——安装指南
finetune可从llama.cpp项目下载——点击此处下载

1. 环境搭建

第一步,我们将设置您的环境

创建项目目录:
mkdir /lora_finetuning

使用 Kit CLI 登录 GitHub 容器注册表。这需要您的 GitHub 用户名和密码。或者,您可以使用任何其他与 OCI 工件兼容的注册表:

kit login ghcr.io

2. 创建您的套件文件并参考您的基础模型

在项目目录中(/lora_finetuning),创建一个 Kitfile 文件,内容如下:

manifestVersion: "1.0"
package:
name: llama3 fine-tuned
version: 3.0.0
authors: ["Jozu AI"]
model:
name: llama3-8B-instruct-q4_0
path: ghcr.io/jozu-ai/llama3:8B-instruct-q4_0
description: Llama 3 8B instruct model
license: Apache 2.0
Enter fullscreen mode Exit fullscreen mode

注意:请注意路径是如何指向另一个 ModelKit 的?在本例中ghcr.io/jozu-ai/llama3:8B-instruct-q4_0

让我们通过调用来创建初始模型工具包。

kit pack /lora_finetuning -t fine-tuning:untuned

现在让我们将 ModelKit 解压到工作文件夹。请注意,Kit CLI 还会将您引用的模型解压到工作文件夹,以便您可以对其进行操作。

kit unpack fine-tuning:untuned -d /lora_finetuning --overwrite

3. 创建您的 LoRa 适配器

建议使用与基础模型相同的提示格式,但也可以使用任何文本文件。理想情况下,提供一个公共字符串来分隔每个在训练数据中未找到的示例。例如:'<s>'

<s> Example one text here.
<s> Example two text here.
从项目目录运行微调命令:
cd /lora_finetuning

llama.cpp\finetune.exe --model-base ./llama3-8B-instruct-q4_0.gguf --train-data ./training-data.txt --threads 8 --sample-start "<s>" --lora-out lora_adapter.gguf
Enter fullscreen mode Exit fullscreen mode

4. 使用您的 LoRA 适配器更新 Kitfile。

接下来,我们将更新 Kitfile 文件,使其包含 LoRA 适配器:

manifestVersion: "1.0"
package:
  name: llama3 fine-tuned
  version: 3.0.0
  authors: ["Jozu AI"]
model:
  name: llama3-8B-instruct-q4_0
  path: ghcr.io/jozu-ai/llama3:8B-instruct-q4_0
  description: Llama 3 8B instruct model
  license: Apache 2.0
  parts:
    - path: ./lora-adapter.gguf
      type: lora-adapter
datasets:
  - name: fine-tune-data
    path: ./training-data.txt
Enter fullscreen mode Exit fullscreen mode

我们建议将训练数据包含在您的模型工具包中,这是一种最佳实践,可以更轻松地进行后续的训练迭代,但对于生产部署来说,这并不是必需的。

5. 将适配器装入模型套件并寄送。

包装您的调校车型
kit pack /lora_finetuning -t fine-tuning:tuned

为远程存储库标记您的模型
kit tag fine-tuning:tuned ghcr.io/jozuuser/finetuned:latest

将模型套件推送到远程存储库。
kit push ghcr.io/jozuuser/finetuned:latest

结论

恭喜!您已完成模型微调并打包,可以部署了。您已成功更新 Kitfile 文件、打包模型并将其推送到远程仓库,使其可供各种应用程序使用。

如果您觉得本教程对您有所帮助,我们鼓励您加入 Ki​​tOps Discord 服务器为 KitOps GitHub 仓库点赞以支持该项目

文章来源:https://dev.to/jozu/fine-tune-your-first-large-language-model-llm-with-lora-llamacpp-and-kitops-in-5-easy-steps-1g7f