保存到 Ollama

查看下面的指南,了解如何保存到的完整流程 Ollamaarrow-up-right:

🦙Tutorial: Finetune Llama-3 and Use In Ollamachevron-right

在 Google Colab 上保存

您可以将微调后的模型保存为一个小约100MB的文件,称为 LoRA 适配器,如下所示。如果想上传模型,也可以将其推送到 Hugging Face hub!别忘了通过以下方式获取 Hugging Face 令牌: https://huggingface.co/settings/tokensarrow-up-right 并添加您的令牌!

保存模型后,我们可以再次使用 Unsloth 来运行模型本身!使用 FastLanguageModel 再次调用它进行推理!

导出到 Ollama

最后我们可以将微调后的模型导出到 Ollama!首先我们必须在 Colab 笔记本中安装 Ollama:

然后我们将微调后的模型导出为 llama.cpp 的 GGUF 格式,如下所示:

提醒将 False 转换为 True 仅为第 1 行,而不要将每一行都改为 True,否则你将要等待很长时间!我们通常建议将第一行设置为 True,这样我们可以快速将微调模型导出为 Q8_0 格式(8 位量化)。我们还允许您导出到一整列量化方法,其中一个流行的为 q4_k_m.

前往 https://github.com/ggerganov/llama.cpparrow-up-right 了解有关 GGUF 的更多信息。如果您愿意,我们还有一些有关如何导出到 GGUF 的手动说明,见: https://github.com/unslothai/unsloth/wiki#manually-saving-to-ggufarrow-up-right

您将看到如下的长列表文本——请等待 5 到 10 分钟!!

最后在最末端,它看起来会像下面这样:

然后,我们需要在后台运行 Ollama 本身。我们使用 subprocess 因为 Colab 不喜欢异步调用,但通常人们只是运行 ollama serve 在终端/命令提示符中。

自动 模型文件 创建

Unsloth 提供的技巧是我们会自动创建一个 模型文件 Ollama 所需的!这只是一个设置列表,并包含我们在微调过程中使用的聊天模板!您还可以像下面一样打印生成的 模型文件 生成的如下:

然后我们要求 Ollama 创建一个与 Ollama 兼容的模型,使用 模型文件

Ollama 推理

如果您想调用在您本地机器/Colab 免费笔记本后台运行的 Ollama 服务器,现在就可以进行推理了。记住您可以编辑黄色下划线部分。

在 Unsloth 中运行效果不错,但在导出并在 Ollama 上运行后,结果很差

您有时可能会遇到这样的情况:模型在 Unsloth 上运行并产生良好结果,但当您在另一个平台(例如 Ollama)上使用时,结果很差,或者出现乱码、无休止/无限生成 重复输出.

  • 此错误最常见的原因是使用了一个 不正确的聊天模板. 在训练模型时在 Unsloth 中使用的聊天模板与之后在另一个框架(例如 llama.cpp 或 Ollama)中运行时使用的模板必须相同。这一点至关重要。从已保存模型进行推理时,务必应用正确的模板。

  • 您必须使用正确的 eos 令牌。否则,在较长的生成中您可能会得到乱码。

  • 也可能是因为您的推理引擎添加了不必要的“序列开始”令牌(或相反地缺少该令牌),因此请确保检查这两种假设!

  • 使用我们的对话笔记本来强制使用聊天模板——这将修复大多数问题。

最后更新于

这有帮助吗?