通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Fine Tunes - Create

创建一个作业,该作业根据给定的训练文件微调指定模型。 响应包括排队作业的详细信息,包括作业状态和超参数。 微调模型的名称将在响应完成后添加到响应中。

POST {endpoint}/openai/fine-tunes?api-version=2023-05-15

URI 参数

名称 必需 类型 说明
endpoint
path True

string (url)

支持的认知服务终结点(协议和主机名,例如:https://aoairesource.openai.azure.com。将“aoairesource”替换为 Azure OpenAI 帐户名称。

api-version
query True

string

请求的 API 版本。

请求头

名称 必需 类型 说明
api-key True

string

在此处提供认知服务 Azure OpenAI 帐户密钥。

请求正文

名称 必需 类型 说明
model True

string

minLength: 1

用于此微调的基本模型的标识符(model-id)。

training_file True

string

minLength: 1

用于训练此微调模型的文件标识(file-id)。

batch_size

integer (int32)

要用于训练的批大小。 批大小是用于训练单个向前和向后传递的训练示例数。 一般情况下,我们发现较大的批大小往往更适合较大的数据集。 此属性的默认值和最大值特定于基本模型。

classification_betas

number[] (double)

分类 beta 值。 如果提供此功能,我们将按指定的 beta 值计算 F-beta 分数。 F-beta 分数是 F-1 分数的通用化。 这仅用于二元分类。 测试版为 1(即 F-1 分数),精度和召回率相同。 更大的 beta 分数对召回率和精度的权重更大。 较小的 beta 分数对精度和召回率的权重更低。

classification_n_classes

integer (int32)

分类任务中的类数。 多类分类需要此参数。

classification_positive_class

string

二元分类中的正类。 执行二元分类时,需要此参数来生成精度、召回率和 F1 指标。

compute_classification_metrics

boolean

一个值,该值指示是否计算分类指标。 如果设置,我们将在每个时期结束时使用验证集计算特定于分类的指标,例如准确性和 F-1 分数。 可以在结果文件中查看这些指标。 若要计算分类指标,必须提供validation_file。此外,必须为多类分类指定classification_n_classes,或为二元分类指定classification_positive_class。

learning_rate_multiplier

number (double)

用于训练的学习速率乘数。 微调学习速率是用于预先训练的原始学习速率乘以此值。 较大的学习速率往往在较大的批大小下表现更好。 建议试验 0.02 到 0.2 范围内的值,以查看产生最佳结果的内容。

n_epochs

integer (int32)

要为其训练模型的纪元数。 纪元是指通过训练数据集的一个完整周期。

prompt_loss_weight

number (double)

用于在提示令牌上丢失的权重。 这控制模型尝试生成提示的数量(与总权重为 1.0 的完成相比),并且可以在完成时间较短时为训练添加稳定效果。 如果提示时间非常长(相对于完成),则降低此权重是有意义的,以避免过度优先学习提示。

suffix

string

用于标识微调模型的后缀。 后缀最多可包含 40 个字符(a-z、A-Z、0-9 和 _),这些字符将添加到微调的模型名称中。

validation_file

string

用于在训练期间评估微调模型的文件标识(file-id)。

响应

名称 类型 说明
201 Created

FineTune

已成功创建微调。

标头

Location: string

Other Status Codes

ErrorResponse

发生错误。

安全性

api-key

在此处提供认知服务 Azure OpenAI 帐户密钥。

类型: apiKey
在: header

示例

Creating a fine tune job for classification.
Creating a fine tune job.

Creating a fine tune job for classification.

示例请求

POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15


{
  "compute_classification_metrics": true,
  "classification_n_classes": 4,
  "model": "curie",
  "training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}

示例响应

location: https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f
{
  "hyperparams": {
    "compute_classification_metrics": true,
    "classification_n_classes": 4,
    "batch_size": 32,
    "learning_rate_multiplier": 1,
    "n_epochs": 2,
    "prompt_loss_weight": 0.1
  },
  "model": "curie",
  "training_files": [
    {
      "statistics": {
        "tokens": 42,
        "examples": 23
      },
      "bytes": 140,
      "purpose": "fine-tune",
      "filename": "puppy.jsonl",
      "id": "file-181a1cbdcdcf4677ada87f63a0928099",
      "status": "succeeded",
      "created_at": 1646126127,
      "updated_at": 1646127311,
      "object": "file"
    }
  ],
  "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f",
  "status": "notRunning",
  "created_at": 1646126127,
  "updated_at": 1646127311,
  "object": "fine-tune"
}

Creating a fine tune job.

示例请求

POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15


{
  "model": "curie",
  "training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}

示例响应

location: https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f
{
  "hyperparams": {
    "batch_size": 32,
    "learning_rate_multiplier": 1,
    "n_epochs": 2,
    "prompt_loss_weight": 0.1
  },
  "model": "curie",
  "training_files": [
    {
      "statistics": {
        "tokens": 42,
        "examples": 23
      },
      "bytes": 140,
      "purpose": "fine-tune",
      "filename": "puppy.jsonl",
      "id": "file-181a1cbdcdcf4677ada87f63a0928099",
      "status": "succeeded",
      "created_at": 1646126127,
      "updated_at": 1646127311,
      "object": "file"
    }
  ],
  "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f",
  "status": "notRunning",
  "created_at": 1646126127,
  "updated_at": 1646127311,
  "object": "fine-tune"
}

定义

名称 说明
Error

错误

ErrorCode

ErrorCode

ErrorResponse

ErrorResponse

Event

事件

File

文件

FileStatistics

FileStatistics

FineTune

FineTune

FineTuneCreation

FineTuneCreation

HyperParameters

HyperParameters

InnerError

InnerError

InnerErrorCode

InnerErrorCode

LogLevel

LogLevel

Purpose

目的

State

TypeDiscriminator

TypeDiscriminator

Error

错误

名称 类型 说明
code

ErrorCode

ErrorCode
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的错误代码。

details

Error[]

错误详细信息(如果可用)。

innererror

InnerError

InnerError
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的内部错误。

message

string

minLength: 1

此错误的消息。

target

string

发生错误的位置(如果可用)。

ErrorCode

ErrorCode

说明
conflict

请求的作与当前资源状态冲突。

invalidPayload

此作的请求数据无效。

forbidden

当前用户/API 密钥禁止此作。

notFound

找不到资源。

unexpectedEntityState

无法以当前资源的状态执行该作。

itemDoesAlreadyExist

该项已存在。

serviceUnavailable

该服务当前不可用。

internalFailure

内部错误。 请重试。

quotaExceeded

超出配额。

jsonlValidationFailed

jsonl 数据的验证失败。

fileImportFailed

导入文件失败。

ErrorResponse

ErrorResponse

名称 类型 说明
error

Error

错误
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的错误内容。

Event

事件

名称 类型 说明
created_at

integer (unixtime)

创建此事件的时间戳(在 unix 纪元中)。

level

LogLevel

LogLevel
事件的详细级别。

message

string

minLength: 1

描述事件的消息。 这可以是状态的更改,例如排队、启动、失败或已完成或其他事件,例如上传的结果。

object

TypeDiscriminator

TypeDiscriminator
定义对象的类型。

File

文件

名称 类型 说明
bytes

integer (int64)

可用时此文件的大小(可以为 null)。 不支持大于 2^53-1 的文件大小,以确保与 JavaScript 整数兼容。

created_at

integer (unixtime)

创建此作业或项时的时间戳(在 unix 纪元中)。

error

Error

错误
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的错误内容。

filename

string

minLength: 1

文件的名称。

id

string

此项的标识。

object

TypeDiscriminator

TypeDiscriminator
定义对象的类型。

purpose

Purpose

目的
上传的文档的预期用途。 使用“微调”进行微调。 这样,我们就可以验证上传的文件的格式。

statistics

FileStatistics

FileStatistics
文件是可用于训练和验证的文档。 它也可以是包含结果详细信息的服务生成的文档。

status

State


作业或项的状态。

updated_at

integer (unixtime)

上次修改此作业或项时的时间戳(在 unix 纪元中)。

FileStatistics

FileStatistics

名称 类型 说明
examples

integer (int32)

文件内容验证完成后,“微调”文件中包含的训练示例的数量。

tokens

integer (int32)

验证文件内容后,提示和完成文件类型为“微调”的文件使用的令牌数。

FineTune

FineTune

名称 类型 说明
created_at

integer (unixtime)

创建此作业或项时的时间戳(在 unix 纪元中)。

error

Error

错误
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的错误内容。

events

Event[]

显示微调运行进度的事件,包括排队、运行和已完成。

fine_tuned_model

string

生成的微调模型的标识符(model-id)。 仅填充此属性以成功完成微调运行。 使用此标识符创建用于推理的部署。

hyperparams

HyperParameters

HyperParameters
微调作业中使用的超参数设置。

id

string

此项的标识。

model

string

minLength: 1

用于微调的基本模型的标识符(model-id)。

object

TypeDiscriminator

TypeDiscriminator
定义对象的类型。

organisation_id

string

此微调作业的组织 ID。 Azure OpenAI 上未使用;仅 OpenAI 的兼容性。

result_files

File[]

结果文件标识(文件 ID),其中包含 csv 格式的训练和评估指标。 该文件仅适用于成功完成的微调运行。

status

State


作业或项的状态。

suffix

string

用于标识微调模型的后缀。

training_files

File[]

用于训练微调模型的文件标识(file-id)。

updated_at

integer (unixtime)

上次修改此作业或项时的时间戳(在 unix 纪元中)。

user_id

string

此微调作业的用户 ID。 Azure OpenAI 上未使用;仅 OpenAI 的兼容性。

validation_files

File[]

用于在训练期间评估微调模型的文件标识(file-id)。

FineTuneCreation

FineTuneCreation

名称 类型 说明
batch_size

integer (int32)

要用于训练的批大小。 批大小是用于训练单个向前和向后传递的训练示例数。 一般情况下,我们发现较大的批大小往往更适合较大的数据集。 此属性的默认值和最大值特定于基本模型。

classification_betas

number[] (double)

分类 beta 值。 如果提供此功能,我们将按指定的 beta 值计算 F-beta 分数。 F-beta 分数是 F-1 分数的通用化。 这仅用于二元分类。 测试版为 1(即 F-1 分数),精度和召回率相同。 更大的 beta 分数对召回率和精度的权重更大。 较小的 beta 分数对精度和召回率的权重更低。

classification_n_classes

integer (int32)

分类任务中的类数。 多类分类需要此参数。

classification_positive_class

string

二元分类中的正类。 执行二元分类时,需要此参数来生成精度、召回率和 F1 指标。

compute_classification_metrics

boolean

一个值,该值指示是否计算分类指标。 如果设置,我们将在每个时期结束时使用验证集计算特定于分类的指标,例如准确性和 F-1 分数。 可以在结果文件中查看这些指标。 若要计算分类指标,必须提供validation_file。此外,必须为多类分类指定classification_n_classes,或为二元分类指定classification_positive_class。

learning_rate_multiplier

number (double)

用于训练的学习速率乘数。 微调学习速率是用于预先训练的原始学习速率乘以此值。 较大的学习速率往往在较大的批大小下表现更好。 建议试验 0.02 到 0.2 范围内的值,以查看产生最佳结果的内容。

model

string

minLength: 1

用于此微调的基本模型的标识符(model-id)。

n_epochs

integer (int32)

要为其训练模型的纪元数。 纪元是指通过训练数据集的一个完整周期。

prompt_loss_weight

number (double)

用于在提示令牌上丢失的权重。 这控制模型尝试生成提示的数量(与总权重为 1.0 的完成相比),并且可以在完成时间较短时为训练添加稳定效果。 如果提示时间非常长(相对于完成),则降低此权重是有意义的,以避免过度优先学习提示。

suffix

string

用于标识微调模型的后缀。 后缀最多可包含 40 个字符(a-z、A-Z、0-9 和 _),这些字符将添加到微调的模型名称中。

training_file

string

minLength: 1

用于训练此微调模型的文件标识(file-id)。

validation_file

string

用于在训练期间评估微调模型的文件标识(file-id)。

HyperParameters

HyperParameters

名称 类型 说明
batch_size

integer (int32)

要用于训练的批大小。 批大小是用于训练单个向前和向后传递的训练示例数。 一般情况下,我们发现较大的批大小往往更适合较大的数据集。 此属性的默认值和最大值特定于基本模型。

classification_betas

number[] (double)

分类 beta 值。 如果提供此功能,我们将按指定的 beta 值计算 F-beta 分数。 F-beta 分数是 F-1 分数的通用化。 这仅用于二元分类。 测试版为 1(即 F-1 分数),精度和召回率相同。 更大的 beta 分数对召回率和精度的权重更大。 较小的 beta 分数对精度和召回率的权重更低。

classification_n_classes

integer (int32)

分类任务中的类数。 多类分类需要此参数。

classification_positive_class

string

二元分类中的正类。 执行二元分类时,需要此参数来生成精度、召回率和 F1 指标。

compute_classification_metrics

boolean

一个值,该值指示是否计算分类指标。 如果设置,我们将在每个时期结束时使用验证集计算特定于分类的指标,例如准确性和 F-1 分数。 可以在结果文件中查看这些指标。 若要计算分类指标,必须提供validation_file。此外,必须为多类分类指定classification_n_classes,或为二元分类指定classification_positive_class。

learning_rate_multiplier

number (double)

用于训练的学习速率乘数。 微调学习速率是用于预先训练的原始学习速率乘以此值。 较大的学习速率往往在较大的批大小下表现更好。 建议试验 0.02 到 0.2 范围内的值,以查看产生最佳结果的内容。

n_epochs

integer (int32)

要为其训练模型的纪元数。 纪元是指通过训练数据集的一个完整周期。

prompt_loss_weight

number (double)

用于在提示令牌上丢失的权重。 这控制模型尝试生成提示的数量(与总权重为 1.0 的完成相比),并且可以在完成时间较短时为训练添加稳定效果。 如果提示时间非常长(相对于完成),则降低此权重是有意义的,以避免过度优先学习提示。

InnerError

InnerError

名称 类型 说明
code

InnerErrorCode

InnerErrorCode
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的内部错误代码。

innererror

InnerError

InnerError
Microsoft REST 准则(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)中定义的内部错误。

InnerErrorCode

InnerErrorCode

说明
invalidPayload

此作的请求数据无效。

LogLevel

LogLevel

说明
info

此事件仅适用于信息。

warning

此事件表示缓解的问题。

error

此消息表示不可恢复的问题。

Purpose

目的

说明
fine-tune

此文件包含用于微调作业的训练数据。

fine-tune-results

此文件包含微调作业的结果。

State

说明
notRunning

该作已创建,并且不会排队等待将来处理。

running

作已开始处理。

succeeded

作已成功处理,可供使用。

canceled

作已取消且不完整。

failed

该作已完成处理并失败,不能进一步使用。

deleted

该实体已被删除,但仍可能由其他实体引用该删除。

TypeDiscriminator

TypeDiscriminator

说明
list

此对象表示其他对象的列表。

fine-tune

此对象表示微调作业。

file

此对象表示文件。

fine-tune-event

此对象表示微调作业的事件。

model

此对象表示模型(可以是基本模型或微调作业结果)。