为 PaLM 创建已提炼文本模型

循序渐进地使用大型教师模型训练较小的学生模型,通过改进推理功能更好地执行某些任务。经过训练和提炼的模型可以以更低的费用和更低的延迟时间在较大的教师模型中执行相同的操作。

提炼基础模型时,您可以使用教师模型和学生模型:

  • 教师模型是可以执行所需操作的大型模型。但是,由于其大小,教师模型的使用费用可能更高,延迟时间比较小的模型更长。

  • 学生模型小于教师模型。训练和提炼流程使用教师模型生成的加标签样本和原理来调整学生模型。生成的已提炼模型的性能和推理功能优于原始学生模型。

您在创建提炼作业时指定教师模型和学生模型。

模型的调优和提炼工作流

Vertex AI 上的提炼工作流包括以下步骤:

  1. 准备模型调整数据集。
  2. 指定教师模型。
  3. 指定学生模型。
  4. 将模型调优数据集上传到 Cloud Storage 存储桶。
  5. 创建模型提炼作业。

模型提炼完成后,提炼模型会部署到 Vertex AI 端点。端点的名称与提炼后模型的名称相同。如果您想要创建新问题,则可以在 Vertex AI Studio 中选择提炼后的模型。

支持的模型

您可以为教师模型指定以下内容:

  • text-unicorn@001

您可以为学生模型指定以下内容:

  • text-bison@002

数据集格式

提炼适用于加标签或未加标签的数据集。如果您有包含数百个样本的加标签的高质量数据集,我们建议您使用该数据集。否则,您可以使用未加标签的提示数据集。如果您使用未加标签的数据集,则教师模型会生成标签和提炼理由。如果您使用未加标签的数据集,建议样本超过 1,000 个。

加标签或未加标签的提炼数据集必须采用 JSON 行 (JSONL) 格式,其中每行包含一个调优样本。在提炼模型之前,请先将数据集上传到 Cloud Storage 存储桶

每个数据集样本都包含一个具有模型提示的 input_text 字段和一个可选 output_text 字段,该字段包含已提炼模型应生成的示例响应。

input_text 的词元长度上限为 7168,output_text 的词元长度上限为 1024。如果任一字段超过词元长度上限,则多余的词元将被截断。

文本生成模型的数据集最多可包含的样本数量为 10,000。

数据集样本

{"input_text": "question: How many people live in Beijing? context:
With over 21 million residents, Beijing is the world's most populous national
capital city and is China's second largest city after Shanghai. It is
located in Northern China, and is governed as a municipality under the direct
administration of the State Council with 16 urban, suburban, and rural
districts.[14] Beijing is mostly surrounded by Hebei Province with the exception
of neighboring Tianjin to the southeast; together, the three divisions form the
Jingjinji megalopolis and the national capital region of China.",
"output_text": "over 21 million people"}

{"input_text": "question: How many parishes are there in Louisiana? context: The U.S. state of Louisiana is divided into 64 parishes (French: paroisses) in the same manner that 48 other states of the United States are divided into counties, and Alaska is divided into boroughs.", "output_text": "64"}

在样本中添加说明

对于分类等任务,可以创建不包含说明的样本数据集。但是,如果从数据集中的示例中排除说明,则与包含说明相比,在提炼后性能会下降,对于较小的数据集尤甚。

排除说明

{"input_text": "5 stocks to buy now",
"output_text": "business"}

包含说明

{"input_text": "Classify the following text into one of the following classes:
[business, entertainment] Text: 5 stocks to buy now",
"output_text": "business"}

示例数据集

您可以利用示例数据集来开始进行提炼。下面是一个分类任务数据集,其中包含各种医学专业领域的示例医疗转写记录。数据来自 mtsamples.comKaggle 上提供了该数据集。

  • 示例提炼数据集 URI:

    gs://cloud-samples-data/vertex-ai/model-evaluation/peft_train_sample.jsonl

  • 评估数据集示例 URI:

    gs://cloud-samples-data/vertex-ai/model-evaluation/peft_eval_sample.jsonl

如需使用这些数据集,请在创建文本模型提炼作业时指定适用参数的 URI。

例如:

...
"dataset_uri": "gs://cloud-samples-data/vertex-ai/model-evaluation/peft_train_sample.jsonl",
...
"evaluation_data_uri": "gs://cloud-samples-data/vertex-ai/model-evaluation/peft_eval_sample.jsonl",
...

与生产数据保持一致

数据集中的样本应与您的预期生产流量相匹配。如果您的数据集包含特定的格式、关键字、说明或信息,则生产数据应以相同方式设置格式并包含相同的说明。

例如,如果数据集中的样本包含 "question:""context:",则生产流量的格式也应设置为包含 "question:""context:",其顺序与在数据集样本中的显示顺序相同。如果排除了语境,则模型将无法识别该模式,即使确切的问题包含在数据集内的样本中也是如此。

将提炼数据集上传到 Cloud Storage

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

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

提炼区域设置

在配置提炼作业时,您可以指定三个 Google Cloud 区域设置。一个区域是运行模型调整流水线的位置。 另一个区域是运行提炼流程的模型调整部分和上传已提炼模型的位置。

流水线作业区域

流水线作业区域是运行流水线作业的区域。如果未指定可选的模型上传区域,则模型将上传并部署到流水线作业区域。中间数据(例如转换后的数据集)存储在流水线作业区域中。如需了解可用于流水线作业区域的区域,请参阅支持的流水线作业和模型上传区域

您必须使用以下方法之一指定流水线作业区域。

  • 如果您通过使用 pipelineJobs.create 方法发送 POST 请求来创建提炼作业,则可以使用网址来指定流水线作业运行的区域。在以下网址中,将出现的两个 PIPELINE_JOB_REGION 替换为流水线运行的区域:

     https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs
    
  • 如果您使用 Google Cloud 控制台创建提炼作业,请在创建提炼作业时在区域控件中指定流水线作业区域。在 Google Cloud 控制台中,区域控件同时指定流水线作业区域和模型上传区域。使用 Google Cloud 控制台创建提炼作业时,两个区域始终相同。

模型上传区域

您可以使用可选的 tuned_model_location 参数指定提炼后模型上传到的位置。如果未指定模型上传区域,系统会将提炼后的模型上传到流水线作业区域。您可以使用支持的流水线作业和模型上传区域中的区域。您可以使用以下某种方法指定模型上传区域:

  • 如果您使用 pipelineJobs 方法发送 POST 请求来创建提炼作业,则可以使用 location 参数指定模型上传区域。

  • 如果您使用 Google Cloud 控制台创建提炼作业,请在创建提炼作业时在区域控件中指定模型上传区域。在 Google Cloud 控制台中,区域控件同时指定模型上传区域和流水线作业区域。使用 Google Cloud 控制台创建提炼作业时,两个区域始终相同。

提炼区域设置

您选择的区域是 Vertex AI 提炼模型然后上传提炼后模型的位置。

调节区域是对提炼作业的调节部分进行计算的位置。此区域由您选择的加速器类型决定。

  • us-central1 - 如果选择此区域,则使用 8 个 Nvidia A100 80GB GPU。
  • europe-west4 - 如果选择此区域,则使用 64 个 TPU v3 Pod 核心。

支持的流水线作业和模型上传区域

您可以使用以下区域之一来指定模型上传区域并指定流水线作业区域:

  • us-central1
  • europe-west4
  • asia-southeast1
  • us-west1
  • europe-west3
  • europe-west2
  • asia-northeast1
  • us-east4
  • us-west4
  • northamerica-northeast1
  • europe-west9
  • europe-west1
  • asia-northeast3

创建文本模型提炼作业

您可以使用 Google Cloud 控制台或 API 创建文本模型提炼作业。如需查看模型提炼配置的指导信息,请参阅推荐配置

REST

如需创建模型提炼作业,请使用 pipelineJobs 方法发送 POST 请求。请注意,某些参数只受部分模型支持。确保仅包含您要提炼的模型的适用参数。

在使用任何请求数据之前,请先进行以下替换:

  • PIPELINEJOB_DISPLAYNAME:pipelineJob 的显示名称。
  • OUTPUT_DIR:要将流水线工件输出到的存储桶的 URI。
  • PROJECT_ID:您的项目 ID
  • MODEL_DISPLAYNAME:由 pipelineJob 上传的提炼模型的显示名称。
  • DATASET_URI:数据集文件的 URI。
  • PIPELINE_JOB_REGION:运行流水线调优作业的区域。这也是上传调优后模型的默认区域。如果要将模型上传到其他区域,请使用 location 参数指定调优后模型上传区域。如需了解详情,请参阅模型上传区域
  • MODEL_UPLOAD_REGION:(可选)上传调优后模型的区域。如果未指定模型上传区域,则调优后的模型会上传到运行流水线作业的同一区域。如需了解详情,请参阅模型上传区域
  • ACCELERATOR_TYPE:(可选,默认为 GPU)用于模型调优的加速器类型。有效选项包括:
    • GPU:使用 8 个 A100 80 GB GPU 进行调优。请确保您有足够的配额。如果您选择 GPU,则支持 VPC-SC。如果调优位置和模型上传位置为 us-centra1,则支持 CMEK。如需了解详情,请参阅监督式调优区域设置。如果您选择 GPU,则模型调优计算会在 us-central1 区域进行。
    • TPU:使用 64 个 TPU v3 Pod 核心进行调优。请确保您有足够的配额。不支持 CMEK,但支持 VPC-SC。如果您选择 TPU,则模型调优计算会在 europe-west4 区域进行。
  • TEACHER_MODEL_REFERENCE:用于提炼的教师模型的名称。支持的模型为 text-unicorn@001
  • STUDENT_MODEL_REFERENCE:用于提炼的学生模型的名称。支持的模型为 text-bison@002
  • STEPS:模型调优所要运行的步数。默认值为 300。批次大小因调优位置和模型大小而异。对于 8k 模型,例如 text-bison@002chat-bison@002code-bison@002codechat-bison@002
    • us-central1 的批次大小为 8。
    • europe-west4 的批次大小为 24。
    对于 32k 模型,例如 text-bison-32kchat-bison-32kcode-bison-32kcodechat-bison-32k
    • us-central1 的批次大小为 8。
    • europe-west4 的批次大小为 8。

    例如,如果您在 europe-west4 中训练 text-bison@002,训练数据集中有 240 个样本,并且将 steps 设置为 20,则训练样本数为 20 步与批次大小 24 的乘积,即训练步数为 480。在这种情况下,训练过程有两个周期,因为它遍历样本两次。在 us-central1 中,如果训练数据集中有 240 个样本,并且您将 steps 设置为 15,则训练样本数为 15 步与批次大小 8 的乘积,即训练步数为 120。在这种情况下有 0.5 个周期,因为训练步数是样本数的一半。

  • LEARNING_RATE_MULTIPLIER:要应用于建议的学习速率的调节系数。如需使用建议的学习速率,请使用 1.0
  • EVAL_DATASET_URI:(可选)包含评估数据集(用于批量预测和评估)的 JSONL 文件的 URI。chat-bison 不支持评估。如需了解详情,请参阅用于对代码模型调优的数据集格式。评估数据集需要 10 到 250 个样本。
  • EVAL_INTERVAL:(可选,默认值为 20)每次评估之间的调优步数。聊天模型不支持评估间隔。由于评估是针对整个评估数据集运行,因此评估间隔越小,调优时间就越长。例如,如果 steps 为 200 且 EVAL_INTERVAL 为 100,则您将仅获得评估指标的两个数据点。此参数要求设置 evaluation_data_uri
  • ENABLE_EARLY_STOPPING:(可选,默认值为 true)一个 boolean,如果设置为 true,且模型性能在两次评估运行中没有得到足够的改进(通过预测词元的准确率来衡量),则在完成所有调优步骤之前停止调优。如果为 false,则继续调整,直到所有调整步骤完成。此参数要求设置 evaluation_data_uri。 聊天模型不支持启用早停法。
  • TENSORBOARD_RESOURCE_ID:(可选)Vertex AI TensorBoard 实例的 ID。Vertex AI TensorBoard 实例用于在调优作业完成后创建实验。Vertex AI TensorBoard 实例需要与调优流水线位于同一区域。
  • ENCRYPTION_KEY_NAME:(可选)要用于数据加密的客户管理的加密密钥 (CMEK) 的完全限定名称。CMEK 仅在 us-central1 中可用。如果您使用 us-central1 并且未指定 CMEK,则系统会使用 Google 拥有的密钥和 Google 管理的密钥。在所有其他可用区域中,系统默认使用 Google 拥有的密钥和 Google 管理的密钥。如需了解详情,请参阅 CMEK 概览
  • TEMPLATE_URI:提炼模板的 URI https://us-kfp.pkg.dev/ml-pipeline/distillation/distillation/v1.0.0
  • SERVICE_ACCOUNT:(可选)Vertex AI 用于运行流水线作业的服务账号。默认情况下,系统会使用项目的 Compute Engine 默认服务账号 (PROJECT_NUMBER‑compute@developer.gserviceaccount.com)。详细了解如何关联自定义服务账号

HTTP 方法和网址:

POST https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs

请求 JSON 正文:

{
  "displayName": "PIPELINEJOB_DISPLAYNAME",
  "runtimeConfig": {
    "gcsOutputDirectory": "gs://OUTPUT_DIR",
    "parameterValues": {
      "project": "PROJECT_ID",
      "model_display_name": "MODEL_DISPLAYNAME",
      "dataset_uri": "gs://DATASET_URI",
      "location": "MODEL_UPLOAD_REGION",
      "accelerator_type": "ACCELERATOR_TYPE",
      "teacher_model_reference": TEACHER_MODEL_REFERENCE,
      "student_model_reference": STUDENT_MODEL_REFERENCE,
      "train_steps": STEPS,
      "learning_rate_multiplier": LEARNING_RATE_MULTIPLIER,
      "evaluation_data_uri": "gs://EVAL_DATASET_URI",
      "evaluation_interval": EVAL_INTERVAL,
      "enable_early_stopping": ENABLE_EARLY_STOPPING,
      "enable_checkpoint_selection": "ENABLE_CHECKPOINT_SELECTION",
      "tensorboard_resource_id": "TENSORBOARD_ID",
      "encryption_spec_key_name": "ENCRYPTION_KEY_NAME"
    }
  },
  "encryptionSpec": {
    "kmsKeyName": "ENCRYPTION_KEY_NAME"
  },
  "serviceAccount": "SERVICE_ACCOUNT",
  "templateUri": "TEMPLATE_URI"
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应。请注意,为节省空间,系统截断了 pipelineSpec

Python

如需了解如何安装或更新 Vertex AI SDK for Python,请参阅安装 Vertex AI SDK for Python。 如需了解详情,请参阅 Python API 参考文档

from __future__ import annotations

import os

from typing import Optional

import vertexai
from vertexai.preview.language_models import TextGenerationModel, TuningEvaluationSpec


PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def distill_model(
    dataset: str,
    source_model: str,
    evaluation_dataset: Optional[str] = None,
) -> None:
    """Distill a new model using a teacher model and a dataset.
    Args:
        dataset (str): GCS URI of the JSONL file containing the training data.
            E.g., "gs://[BUCKET]/[FILENAME].jsonl".
        source_model (str): Name of the teacher model to distill from.
            E.g., "text-unicorn@001".
        evaluation_dataset (Optional[str]): GCS URI of the JSONL file containing the evaluation data.
    """
    # TODO developer - override these parameters as needed:
    vertexai.init(project=PROJECT_ID, location="us-central1")

    # Create a tuning evaluation specification with the evaluation dataset
    eval_spec = TuningEvaluationSpec(evaluation_data=evaluation_dataset)

    # Load the student model from a pre-trained model
    student_model = TextGenerationModel.from_pretrained("text-bison@002")

    # Start the distillation job using the teacher model and dataset
    distillation_job = student_model.distill_from(
        teacher_model=source_model,
        dataset=dataset,
        # Optional:
        train_steps=300,  # Number of training steps to use when tuning the model.
        evaluation_spec=eval_spec,
    )

    return distillation_job

控制台

如需使用 Google Cloud 控制台提炼文本模型,请执行以下步骤:

  1. 在 Google Cloud 控制台的“Vertex AI”部分,进入 Vertex AI Studio 页面。

    进入 Vertex AI Studio

  2. 点击调整并提炼标签页。
  3. 点击 创建提炼模型
  4. 配置模型详情:
    • 模型名称:输入提炼后模型的名称。
    • 教师模型:选择要用作教师模型的模型。
    • 学生模型:选择要用作学生模型的模型。
    • 区域:选择运行流水线调优作业以及部署调优后模型的区域。
    • 工作目录:输入调整模型时用于存储工件的 Cloud Storage 位置。
  5. 展开高级选项以配置高级设置。
    • 训练步数:输入要为模型调优运行的步数。默认值为 300。批次大小因调优位置和模型大小而异。对于 8k 模型,例如 text-bison@002chat-bison@002code-bison@002codechat-bison@002
      • us-central1 的批次大小为 8。
      • europe-west4 的批次大小为 24。
      对于 32k 模型,例如 text-bison-32kchat-bison-32kcode-bison-32kcodechat-bison-32k
      • us-central1 的批次大小为 8。
      • europe-west4 的批次大小为 8。

      例如,如果您在 europe-west4 中训练 text-bison@002,训练数据集中有 240 个样本,并且将 steps 设置为 20,则训练样本数为 20 步与批次大小 24 的乘积,即训练步数为 480。在这种情况下,训练过程有两个周期,因为它遍历样本两次。在 us-central1 中,如果训练数据集中有 240 个样本,并且您将 steps 设置为 15,则训练样本数为 15 步与批次大小 8 的乘积,即训练步数为 120。在这种情况下有 0.5 个周期,因为训练步数是样本数的一半。

    • 学习速率调节系数:输入每次迭代时的步长。默认值为 1。
    • 加速器类型:(可选)输入用于模型调优的加速器类型。有效选项包括:
      • GPU:使用 8 个 A100 80 GB GPU 进行调优。请确保您有足够的配额。如果您选择 GPU,则支持 VPC-SC。如果调优位置和模型上传位置为 us-centra1,则支持 CMEK。如需了解详情,请参阅监督式调优区域设置。如果您选择 GPU,则模型调优计算会在 us-central1 区域进行。
      • TPU:使用 64 个 TPU v3 Pod 核心进行调优。请确保您有足够的配额。不支持 CMEK,但支持 VPC-SC。如果您选择 TPU,则模型调优计算会在 europe-west4 区域进行。
    • 添加 TensorBoard 实例:(可选)Vertex AI TensorBoard 实例的 ID。Vertex AI TensorBoard 实例用于在调优作业完成后创建实验。Vertex AI TensorBoard 实例需要与调优流水线位于同一区域。
    • 加密(可选)选择使用 Google 拥有的密钥和 Google 管理的密钥或客户管理的加密密钥 (CMEK)。CMEK 只能在 us-central1 区域用于加密。在所有其他可用区域中,系统会使用 Google 拥有的密钥和 Google 管理的密钥。如需了解详情,请参阅 CMEK 概览
    • 服务账号:(可选)选择用户管理的服务账号。服务账号决定了您的服务代码可以访问哪些 Google Cloud 资源。如果您未选择服务账号,系统会使用服务代理,其中包含适合大多数模型的权限。
  6. 点击继续
  7. 如果要上传提炼数据集文件,请选择 将 JSONL 文件上传到 Cloud Storage。如果您的数据集文件已在 Cloud Storage 存储桶中,请选择 Cloud Storage 上的现有 JSONL 文件

    上传 JSONL 文件

    • 选择 JSONL 文件中,点击浏览并选择数据集文件。
    • 数据集位置中,点击浏览并选择要存储数据集文件的 Cloud Storage 存储桶。

    使用现有的 JSONL 文件

    Cloud Storage 文件路径中,点击浏览,然后选择数据集文件所在的 Cloud Storage 存储桶。

  8. (可选)如需评估提炼后的模型,请选择启用模型评估并配置模型评估:
    • 评估数据集:(可选)包含评估数据集(用于批量预测和评估)的 JSONL 文件的 URI。codechat-bison 不支持评估。如需了解详情,请参阅用于对代码模型调优的数据集格式。评估数据集需要 10 到 250 个样本。
    • 评估间隔(可选,默认值为 20)每次评估之间的调优步数。聊天模型不支持评估间隔。由于评估是针对整个评估数据集运行,因此评估间隔越小,调优时间就越长。例如,如果 steps 为 200 且 EVAL_INTERVAL 为 100,则您将仅获得评估指标的两个数据点。此参数要求设置 evaluation_data_uri
    • 启用早停法:(可选,默认值为 trueboolean,如果设置为 true,且模型性能在两次评估运行中没有得到足够的改进(通过预测词元的准确率来衡量),则在完成所有调优步骤之前停止调优。如果为 false,则继续调整,直到所有调整步骤完成。此参数要求设置 evaluation_data_uri。 聊天模型不支持启用早停法。
    • 启用检查点选择:启用后,Vertex AI 会从调节作业期间创建的所有检查点中选择并返回具有最佳模型评估性能的检查点。停用后,系统将返回在调节作业期间创建的最终检查点。每个检查点是指模型在调节作业期间的快照。
    • TensorBoard 实例: (可选)Vertex AI TensorBoard 实例的 ID。Vertex AI TensorBoard 实例用于在调优作业完成后创建实验。Vertex AI TensorBoard 实例需要与调优流水线位于同一区域。
  9. 点击开始提炼

下表显示了提炼基础模型的建议配置,按任务列出:

任务 数据集中的示例数 训练步数
分类 超过 100 个 200-1000
摘要 100-500+ 1000-1500
抽样质量检查 超过 100 个 200-800

对于训练步骤,您可以针对特定数据集尝试使用多个值来获得最佳性能,例如 100、200、500。

查看已提炼模型列表

您可以使用 Google Cloud 控制台或 Python 版 Vertex AI SDK 查看当前项目中的模型列表,包括经过提炼的模型。

Python

在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Python 设置说明执行操作。 如需了解详情,请参阅 Vertex AI Python API 参考文档

如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证

import vertexai

from vertexai.language_models import TextGenerationModel

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

vertexai.init(project=PROJECT_ID, location="us-central1")

model = TextGenerationModel.from_pretrained("text-bison@002")
tuned_model_names = model.list_tuned_model_names()
print(tuned_model_names)
# Example response:
# ['projects/1234567890/locations/us-central1/models/1234567889012345',
# ...]

控制台

如需在 Google Cloud 控制台中查看提炼后模型,请进入 Vertex AI Model Registry 页面。

进入 Vertex AI Model Registry

加载已提炼文本模型

以下示例代码使用 Python 版 Vertex AI SDK 加载提炼后文本生成模型:

import vertexai
from vertexai.preview.language_models import TextGenerationModel

model = TextGenerationModel.get_tuned_model(TUNED_MODEL_NAME)

TUNED_MODEL_NAME 替换为经过提炼的模型的限定资源名称。此名称的格式为 projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID。您可以在 Vertex AI Model Registry中找到经过提炼的模型的模型 ID。

调整和评估指标

您可以配置模型调整作业来收集和报告模型调整和模型评估指标,然后可以使用 Vertex AI TensorBoard 直观呈现这些指标。

模型调优指标

您可以配置模型调优作业来收集 chat-bisoncode-bisoncodechat-bisontext-bison 的以下调优指标:
  • /train_total_loss:一个训练步长中调整数据集的损失。
  • /train_fraction_of_correct_next_step_preds:一个训练步长中的词元准确率。单个预测由一系列词元组成。该指标衡量预测词元的准确率(与调优数据集中的标准答案相比)。
  • /train_num_predictions::一个训练步长中的预测词元数。

模型评估指标

您可以配置模型调优作业来收集 code-bisontext-bison 的以下评估指标:

  • /eval_total_loss:一个评估步长中评估数据集的损失。
  • /eval_fraction_of_correct_next_step_preds:一个评估步长中的词元准确率。单个预测由一系列词元组成。该指标衡量评估词元的准确率(与评估数据集中的标准答案相比)。
  • /eval_num_predictions:一个评估步长中的预测词元数。

模型调优作业完成后将提供指标的可视化内容。 如果您在创建调优作业时仅指定 Vertex AI TensorBoard 实例 ID 而不指定评估数据集,则只提供调优指标的可视化内容。