Skip to content
Cloudflare Docs
非官方翻译 - 此文档为非官方中文翻译版本,仅供参考。如有疑问请以 英文官方文档 为准。

使用 HuggingFace 的 AutoTrain 微调模型

Last reviewed: about 1 year ago

微调 AI 模型让您有机会向模型添加额外的训练数据。Workers AI 允许使用 Low-Rank Adaptation, LoRA, 适配器,这将允许您微调我们的模型。

在本教程中,我们将探讨如何创建我们自己的 LoRA。我们将专注于使用 AutoTrain 进行 LLM 微调

1. 使用您的训练数据创建一个 CSV 文件

首先创建一个 CSV(逗号分隔值)文件。该文件将只有一个名为 text 的列。通过在一行中单独添加 text 一词来设置标题。

现在您需要确定要添加到模型中的内容。

示例格式如下:

### Human: What is the meaning of life? ### Assistant: 42.

如果您的训练行包含换行符,您应该用引号将其括起来。

"human: What is the meaning of life? \n bot: 42."

不同的模型,如 Mistral,将提供特定的聊天模板/指令格式

<s>[INST] What is the meaning of life? [/INST] 42</s>

2. 配置 HuggingFace AutoTrain 高级笔记本

打开 HuggingFace AutoTrain 高级笔记本

为了给您的 AutoTrain 提供充足的内存,您需要选择一个不同的运行时。从笔记本顶部的菜单中选择"运行时">"更改运行时类型"。选择 A100。

笔记本包含一些我们需要更改的交互式部分。

项目配置

修改以下字段

  • project_name:选择一个描述性的名称,以便您以后记住
  • model_name:从我们支持的官方 HuggingFace 基础模型中选择一个:
    • mistralai/Mistral-7B-Instruct-v0.2
    • google/gemma-2b-it
    • google/gemma-7b-it
    • meta-llama/llama-2-7b-chat-hf

可选部分:推送到 Hub

虽然使用 AutoTrain 不是必需的,但创建一个 HuggingFace 帐户 将帮助您将微调工件保存在一个方便的存储库中,以便以后参考。

如果您不执行 HuggingFace 设置,您仍然可以从笔记本下载文件。

如有必要,请按照笔记本中的说明创建帐户和令牌。

部分:超参数

我们只需要更改其中一些字段以确保在 Cloudflare Workers AI 上正常工作。

  • quantization:将下拉菜单更改为 none
  • lora-r:将值更改为 8

3. 将您的 CSV 文件上传到笔记本

笔记本具有文件夹结构,您可以通过单击左侧导航栏上的文件夹图标来访问它。

创建一个名为 data 的文件夹。

您可以将 CSV 文件拖到笔记本中。

确保它被命名为 train.csv

4. 执行笔记本

在笔记本菜单中,选择"运行时">"全部运行"。

它将运行笔记本的每个单元格,首先进行安装,然后配置并运行您的 AutoTrain 会话。

这可能需要一些时间,具体取决于您的 train.csv 文件的大小。

如果您遇到以下错误,这是由内存不足错误引起的。您可能需要将运行时更改为更大的 GPU 后端。

Terminal window
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'autotrain.trainers.clm', '--training_config', 'blog-instruct/training_params.json']' died with <Signals.SIGKILL: 9>.

5. 下载 LoRA

可选:HuggingFace

如果您已推送到 HuggingFace,您将找到您在上面的 project_name 中命名的新模型卡。默认情况下,您的模型卡是私有的。导航到文件并下载下面列出的文件。

笔记本

在您的笔记本中,您也可以找到所需的文件。那里会有一个与您的 project_name 匹配的新文件夹。

下载以下文件:

  • adapter_model.safetensors
  • adapter_config.json

6. 更新适配器配置

您需要在您下载的 adapter_config.json 中添加一行。

"model_type": "mistral"

其中 model_type 是架构。当前有效值为 mistralgemmallama

7. 将微调上传到您的 Cloudflare 帐户

现在您有了文件,您可以将它们添加到您的帐户中。

您可以使用 REST API 或 Wrangler

8. 在您的生成中使用您的微调

在您设置好新的微调后,您就可以在您的推理请求中使用它了