为翻译 LLM 模型准备监督式微调数据

本文档介绍了如何为翻译 LLM 模型定义监督式微调数据集。您可以调整文本数据类型。

监督式微调数据集简介

监督式微调数据集用于根据特定领域微调预训练模型。输入数据应与您希望模型在实际使用中遇到的数据类似。输出标签应表示每个输入的正确答案或结果。

训练数据集

如需对模型调优,您需要提供训练数据集。为获得最佳结果,我们建议您先提供 100 个示例。您可以根据需要扩展到数千个示例。数据集的质量远比数量更重要。

限制:

  • 每个示例的输入和输出词元数上限:1,000
  • 训练数据集的文件大小上限:对于 JSONL 不超过 1 GB。

验证数据集

我们强烈建议您提供验证数据集。验证数据集可帮助您衡量调优作业的效果。

限制:

  • 每个示例的输入和输出词元数上限:1,000
  • 验证数据集中的示例数上限:1024
  • 训练数据集的文件大小上限:对于 JSONL 不超过 1 GB。

数据集格式

模型调优数据集必须采用 JSON 行 (JSONL) 格式,其中每行包含一个调优样本。在调优模型之前,您必须先将数据集上传到 Cloud Storage 存储分区。请务必上传到 us-central1。

{
  "contents": [
    {
      "role": string,
      "parts": [
        {
          "text": string,
        }
      ]
    }
  ]
}

参数

示例包含具有以下参数的数据:

参数

contents

必需:Content

与模型当前对话的内容。

对于单轮查询,这是单个实例。

translation-llm-002 的数据集示例

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "English: Hello. Spanish:",
        }
      ]
    }
    {
      "role": "model"",
      "parts": [
        {
          "text": "Hola.",
        }
      ]
    }
  ]
}

目录

包含消息的多部分内容的基本结构化数据类型。

此类包含两个主要属性:rolepartsrole 属性表示生成内容的个人,而 parts 属性包含多个元素,每个元素表示消息中的一段数据。

参数

role

可选:string

创建消息的实体的身份。支持以下值:

  • user:表示消息是由真人发送的,通常是用户生成的消息。
  • model:表示消息是由模型生成的。

parts

part

构成单条消息的有序部分的列表。

如需了解输入限制(例如 token 或图片数量上限),请参阅 Google 模型页面上的模型规范部分。

如需计算请求中的词元数,请参阅获取词元数

Parts

包含属于多部分 Content 消息一部分的媒体的数据类型。

参数

text

可选:string

文本提示或代码段。

将调整数据集上传到 Cloud Storage

若要运行调优作业,您需要将一个或多个数据集上传到 Cloud Storage 存储桶。您可以创建新的 Cloud Storage 存储桶,也可以使用现有的存储桶来存储数据集文件。存储分区的区域无关紧要,但我们建议您使用您计划用于对模型调优的同一Google Cloud 项目中的存储分区。

存储桶准备就绪后,将数据集文件上传到存储桶。

用于准备数据的笔记本示例

以下是一些 Colab 笔记本示例,可帮助您入门。

AutoML Translation 数据集

如果您已将翻译数据集上传到 AutoML Translation,则可以按照 Colab 示例导出这些数据集以进行调优。

Google Colaboratory 徽标
在 Colab 中运行
Google Cloud Colab Enterprise 徽标
在 Colab Enterprise 中运行
GitHub 徽标
在 GitHub 上查看

本地数据集

如果您的数据以 TSV、CSV 或 TMX 格式存储在本地,则可以将其上传到 Colab 进行微调。

Google Colaboratory 徽标
在 Colab 中运行
Google Cloud Colab Enterprise 徽标
在 Colab Enterprise 中运行
GitHub 徽标
在 GitHub 上查看

后续步骤