

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon Bedrock 中通过微调自定义模型
<a name="custom-model-fine-tuning"></a>

借助 Amazon Bedrock，您可以训练基础模型以提高特定任务的性能（称为微调）。有关微调 Amazon Nova 模型的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

## 支持微调的型号和区域
<a name="custom-model-supported"></a>

下表显示了您可以微调的基础模型：


| Provider | 模型 | 模型 ID | 支持单区域模型 | 
| --- | --- | --- | --- | 
| Amazon | 新星 2 精简版 | amazon.nova-2-lite-v 1:0:256 k |  us-east-1  | 
| Amazon | Nova Canvas | 亚马逊。 nova-canvas-v1:0 |  us-east-1  | 
| Amazon | Nova Lite | 亚马逊。 nova-lite-v1:0300 k |  us-east-1  | 
| Amazon | Nova Micro | 亚马逊。 nova-micro-v1:0:128 k |  us-east-1  | 
| Amazon | Nova Pro | 亚马逊。 nova-pro-v1:0300 k |  us-east-1  | 
| Amazon | Titan Image Generator G1 v2 | 亚马逊。 titan-image-generator-v2:0 |  us-east-1 us-west-2  | 
| Amazon | Titan Multimodal Embeddings G1 | 亚马逊。 titan-embed-image-v1:0 |  us-east-1 us-west-2  | 
| Anthropic | Claude 3 Haiku | anthropic.claude-3-haiku-20240307-v1:0:200k |  us-west-2  | 
| Meta | Llama 3.1 70B Instruct | meta.llama3-1-70 1:0:128 k b-instruct-v |  us-west-2  | 
| Meta | Llama 3.1 8B Instruct | meta.llama3-1-8 1:0:128 k b-instruct-v |  us-west-2  | 
| Meta | Llama 3.2 11B Instruct | meta.llama3-2-11 1:0:128 k b-instruct-v |  us-west-2  | 
| Meta | Llama 3.2 1B Instruct | meta.llama3-2-1 1:0:128 k b-instruct-v |  us-west-2  | 
| Meta | Llama 3.2 3B Instruct | meta.llama3-2-3 1:0:128 k b-instruct-v |  us-west-2  | 
| Meta | Llama 3.2 90B Instruct | meta.llama3-2-90 1:0:128 k b-instruct-v |  us-west-2  | 
| Meta | Llama 3.3 70B Instruct | meta.llama3-3-70 1:0:128 k b-instruct-v |  us-west-2  | 

有关每个模型的模型自定义超参数的信息，请参见[自定义模型超参数](custom-models-hp.md)。

# 准备用于微调模型的数据
<a name="model-customization-prepare"></a>

要为自定义模型准备训练数据集和验证数据集，您需要创建 `.jsonl` 文件，该文件中的每一行都是与记录相对应的 JSON 对象。您必须先至少准备训练数据集，之后才能启动模型自定义作业。您创建的文件必须与所选自定义方法和模型的格式一致，并且其中的记录必须符合大小要求，具体取决于模型。

有关模型要求的信息，请参阅[训练数据集和验证数据集的模型要求](#model-training-validation-requirements)。要查看用于自定义不同模型的训练数据集和验证数据集的默认配额，请参阅 AWS 一般参考中的 [Amazon Bedrock 端点和配额](https://docs.aws.amazon.com/general/latest/gr/bedrock.html)中的**训练和验证记录总计**配额。

是否支持验证数据集以及训练数据集和验证数据集的格式取决于以下因素。
+ 微调自定义任务的类型。
+ 数据的输入和输出模态。

有关微调 Amazon Nova 模型的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

## 支持的微调模式
<a name="model-customization-data-support"></a>

以下各节描述了每个模型支持的不同微调功能，这些功能按其输入和输出模式进行组织。有关微调 Amazon Nova 模型的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

**Text-to-Text  ** 模型

Text-to-Text 可以针对各种基于文本的任务对模型进行微调，包括对话和非对话应用程序。有关为微调 Text-to-Text模型准备数据的信息，请参见[为微调 text-to-text模型准备数据](#preparing-text-data)。

以下非对话式模型已针对汇总、翻译和问答等任务进行了优化：
+ Amazon Titan Text G1 - Express
+ Amazon Titan Text G1 - Lite
+ Amazon Titan Text 高级版
+ Cohere Command
+ Cohere Command Light
+ Meta Llama 3.1 8B Instruct
+ Meta Llama 3.1 70B Instruct

以下对话式模型专为单回合交互和多回合交互场景而设计。如果模型使用 Converse API，则微调数据集必须遵循 Converse API 消息格式，并包含系统、用户和助手消息。有关示例，请参阅 [为微调 text-to-text模型准备数据](#preparing-text-data)。有关 Converse API 操作的更多信息，请参阅[使用 Converse API 操作进行对话](conversation-inference.md)。
+ Anthropic Claude 3 Haiku
+ Meta Llama 3.2 1B Instruct（Converse API 格式）
+ Meta Llama 3.2 3B Instruct（Converse API 格式）
+ Meta Llama 3.2 11B Instruct 视觉（Converse API 格式）
+ Meta Llama 3.2 90B Instruct 视觉（Converse API 格式）
+ Meta Llama 3.3 70B 视觉指令（Converse API 格式）

**Text-Image-to-Text & m Text-to-Image odel** s

以下模型支持对图像生成和文本-图像处理进行微调。这些模型根据文本输入处理或生成图像，或根据文本输入和图像输入生成文本。有关为微调 Text-Image-to-Text和 Text-to-Image模型模型准备数据的信息，请参阅[准备用于微调图像和文本处理模型的数据](#preparing-image-text-data)。
+ Amazon Titan Image Generator G1 V1
+ Meta Llama 3.2 11B Instruct 视觉
+ Meta Llama 3.2 90B Instruct 视觉
+ Meta Llama 3.3 70B 视觉指令

**图像转嵌入**

以下模型支持对分类和检索等任务进行微调。这些模型从图像输入中生成数值表示（嵌入）。有关为微调 Image-to-Embeddings模型准备数据的信息，请参见[准备用于微调图像生成模型和嵌入模型的数据](#preparing-image-generation-data)。
+ Amazon Titan Multimodal Embeddings G1
+ Amazon Titan Image Generator G1 V1

## 训练数据集和验证数据集的模型要求
<a name="model-training-validation-requirements"></a>

以下各部分列出了模型的训练数据集和验证数据集的要求。有关 Amazon Nova 模型的数据集限制的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

### Amazon Titan Text 高级版
<a name="quotas-cm-titan-premier"></a>


****  

| 说明 | 最大值（微调） | 
| --- | --- | 
| 批次大小为 1 时输入和输出令牌数总和 | 4,096 | 
| 批次大小为 2、3 或 4 时输入和输出令牌数总和 | 不适用 | 
| 数据集中每个样本的字符配额 | 词元配额 x 6（估算值） | 
| 训练数据集文件大小 | 1 GB | 
| 验证数据集文件大小 | 100 MB | 

### Amazon Titan Text G1 - Express
<a name="quotas-cm-titan-text"></a>


****  

| 说明 | 最大值（微调） | 
| --- | --- | 
| 批次大小为 1 时输入和输出令牌数总和 | 4,096 | 
| 批次大小为 2、3 或 4 时输入和输出令牌数总和 | 2,048 | 
| 数据集中每个样本的字符配额 | 词元配额 x 6（估算值） | 
| 训练数据集文件大小 | 1 GB | 
| 验证数据集文件大小 | 100 MB | 

### Amazon Titan Text G1 - Lite
<a name="quotas-cm-titan-text-lite"></a>


****  

| 说明 | 最大值（微调） | 
| --- | --- | 
| 批次大小为 1 或 2 时输入和输出令牌数总和 | 4,096 | 
| 批次大小为 3、4、5 或 6 时输入和输出令牌数总和 | 2,048 | 
| 数据集中每个样本的字符配额 | 词元配额 x 6（估算值） | 
| 训练数据集文件大小 | 1 GB | 
| 验证数据集文件大小 | 100 MB | 

### Amazon Titan Image Generator G1 V1
<a name="quotas-cm-titan-image"></a>


****  

| 说明 | 最小值（微调） | 最大值（微调） | 
| --- | --- | --- | 
| 训练样本中的文本提示长度，以字符为单位 | 3 | 1024 | 
| 训练数据集中的记录数 | 5 | 10000 | 
| 输入图像大小 | 0 | 50 MB | 
| 输入图像的高度（以像素为单位） | 512 | 4,096 | 
| 输入图像的宽度（以像素为单位） | 512 | 4,096 | 
| 输入图像总像素数 | 0 | 12,582,912 | 
| 输入图像纵横比 | 1:4 | 4:1 | 

### Amazon Titan Multimodal Embeddings G1
<a name="quotas-cm-titan-mm-embed"></a>


****  

| 说明 | 最小值（微调） | 最大值（微调） | 
| --- | --- | --- | 
| 训练样本中的文本提示长度，以字符为单位 | 0 | 2,560 | 
| 训练数据集中的记录数 | 1000 | 500,000 | 
| 输入图像大小 | 0 | 5 MB | 
| 输入图像的高度（以像素为单位） | 128 | 4096 | 
| 输入图像的宽度（以像素为单位） | 128 | 4096 | 
| 输入图像总像素数 | 0 | 12,528,912 | 
| 输入图像纵横比 | 1:4 | 4:1 | 

### Meta Llama 3.1
<a name="quotas-cm-meta-llama-3-1"></a>


****  

| 说明 | 最小值（微调） | 最大值（微调） | 
| --- | --- | --- | 
| 输入令牌数 | 0 | 16000 | 
| 输出令牌数 | 0 | 16000 | 
| 数据集中每个样本的字符配额 | 0 | 词元配额 x 6（估算值） | 
| 输入词元数与输出词元数之和 | 0 | 16000 | 
| 训练记录数与验证记录数之和 | 100 | 10000（可通过服务配额进行调整） | 

### Meta Llama 3.2
<a name="quotas-cm-meta-llama-3-2"></a>

Meta Llama-3.2 11B Vision Instruct 和 Meta Llama-3.2 90B Vision Instruct 支持的图像格式包括：`gif`、`jpeg`、`png` 和 `webp`。为了估算这些模型微调期间的 image-to-token转化率，你可以使用这个公式作为近似值：。`Tokens = min(2, max(Height // 560, 1)) * min(2, max(Width // 560, 1)) * 1601`图像会转换为约 1601 到 6404 个词元，具体取决于其大小。


****  

| 说明 | 最小值（微调） | 最大值（微调） | 
| --- | --- | --- | 
| 输入词元数与输出词元数之和 | 0 | 16000（对于 Meta Llama 3.2 90B)，为 10000） | 
| 训练记录数与验证记录数之和 | 100 | 10000（可通过服务配额进行调整） | 
| Meta Llama 11B and 90B instruct 模型的输入图像尺寸 | 0 | 10 MB | 
| Meta Llama 11B and 90B instruct 模型的输入图像高度（以像素为单位） | 10 | 8192 | 
| Meta Llama 11B and 90B90B instruct 模型的输入图像宽度（以像素为单位） | 10 | 8192 | 

### Meta Llama 3.3
<a name="quotas-cm-meta-llama-3-3"></a>


****  

| 说明 | 最小值（微调） | 最大值（微调） | 
| --- | --- | --- | 
| 输入词元数与输出词元数之和 | 0 | 16000 | 
| 训练记录数与验证记录数之和 | 100 | 10000（可通过服务配额进行调整） | 

### CohereCommand
<a name="quotas-cm-cohere-command"></a>


****  

| 说明 | 最大值（微调） | 
| --- | --- | 
| 输入令牌数 | 4,096 | 
| 输出令牌数 | 2,048 | 
| 数据集中每个样本的字符配额 | 词元配额 x 6（估算值） | 
| 训练数据集中的记录数 | 10000 | 
| 验证数据集中的记录数 | 1000 | 

### Anthropic Claude 3 Haiku
<a name="anthropic-claude-3-haiku"></a>


****  

| 说明 | 最大值（微调） | 
| --- | --- | 
| 最小记录数 | 32 | 
| 最大训练记录数 | 10000 | 
| 最大验证记录数 | 1000 | 
| 最大记录总数 | 10000（可通过服务配额进行调整） | 
| 最大词元数 | 32000 | 
| 最大训练数据集大小 | 10 GB | 
| 最大验证数据集大小 | 1 GB | 

## 为微调 text-to-text模型准备数据
<a name="preparing-text-data"></a>

**注意**  
有关微调 Amazon Nova 模型的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

对于微调 text-to-text模型，每个 JSON 对象都是一个包含结构化字段的示例，这些字段旨在指导模型根据提供的文本提示生成所需的文本输出。数据格式因使用案例（主要分为非对话式使用案例型和对话式使用案例）而异。

------
#### [ Non-conversational tasks ]

非对话式任务涉及为给定输入生成单个输出。每个数据集示例均包括一个带输入文本的 `prompt` 字段和一个带预期输出的 `completion` 字段。此格式支持一系列任务，例如问答、总结、翻译、文本补全和信息提取。

示例格式

```
{"prompt": "What is the capital of France?", "completion": "The capital of France is Paris."}
{"prompt": "Summarize the article about climate change.", "completion": "Climate change refers to the long-term alteration of temperature and typical weather patterns in a place."}
```

按每个词元约 6 个字符的比例估算词元数量，以便规划数据集大小。

------
#### [ Converse API format (Single turn and Multi turn) ]

要使用 Converse API，您需要调用 `Converse` 或 `ConverseStream` 操作向模型发送消息。要调用 `Converse`，需具有 `bedrock:InvokeModel` 操作的权限。要调用 `ConverseStream`，需具有 `bedrock:InvokeModelWithResponseStream` 操作的权限。有关更多信息，请参阅 [使用 Converse API](conversation-inference-call.md)。有关 Converse API 操作的更多信息，请参阅[使用 Converse API 操作进行对话](conversation-inference.md)。

示例格式

```
{
    "schemaVersion": "bedrock-conversation-2024",
    "system": [
        {
            "text": "You are a digital assistant with a friendly personality"
        }
    ],
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "text": "What is the capital of Mars?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": [
                {
                    "text": "Mars does not have a capital. Perhaps it will one day."
                }
            ]
        }
    ]
}
```

------
#### [ Anthropic Claude 3 Haiku: Single-turn conversations ]

单回合对话式任务包含独立交互，在此类任务中，模型仅依据当前用户输入生成响应，而不考虑之前的上下文信息。每个数据集示例均使用一个消息数组，其中交替使用 `user` 和 `assistant` 的角色。

格式

```
{"system": "<system message>","messages":[{"role": "user", "content": "<user query>"},{"role": "assistant", "content": "<expected generated text>"}]}
```

示例

```
{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "what is AWS"},{"role": "assistant", "content": "it's Amazon Web Services."}]}
```

------
#### [ Anthropic Claude 3 Haiku: Multi-turn conversations ]

多回合对话式任务包含扩展性对话，在此类任务中，模型必须生成响应，同时保留先前交互的上下文信息。此格式能够捕获交互式任务的动态特性，例如客户支持或复杂的讨论。

格式

```
{"system": "<system message>","messages":[{"role": "user", "content": "<user query 1>"},{"role": "assistant", "content": "<expected generated text 1>"}, {"role": "user", "content": "<user query 2>"},{"role": "assistant", "content": "<expected generated text 2>"}]}
```

示例

```
{"system": "system message","messages":[{"role": "user", "content": "Hello there."},{"role": "assistant", "content": "Hi, how can I help you?"},{"role": "user", "content": "what are LLMs?"},{"role": "assistant", "content": "LLM means large language model."},]}  
```

------

## 准备用于微调图像和文本处理模型的数据
<a name="preparing-image-text-data"></a>

**注意**  
有关微调 Amazon Nova 模型的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

对于微调 image-text-to-text模型，每个 JSON 对象都是一个示例，其中包含一个结构为`messages`数组的对话，该对话由代表用户输入和助手响应的交替的 JSON 对象组成。用户输入可以同时包含文本和图像，而助手响应始终为文本形式。此结构同时支持单回合和多回合对话流程，可让模型高效处理各类任务。Meta Llama-3.2 11B Vision Instruct 和 Meta Llama-3.2 90B Vision Instruct 支持的图像格式包括：`gif`、`jpeg`、`png` 和 `webp`。

要允许 Amazon Bedrock 访问图像文件，请将类似于 [访问训练文件和验证文件以及在 S3 中写入输出文件的权限](model-customization-iam-role.md#model-customization-iam-role-s3) 中的 IAM 策略的策略添加到您在控制台中设置或系统自动设置的 Amazon Bedrock 模型自定义服务角色。您在训练数据集内提供的 Amazon S3 路径必须位于您在策略中指定的文件夹中。

**单回合对话**

在单回合对话中，每个 JSON 对象均由一条用户消息和一条助手消息组成。用户消息包含一个设置为 *user* 的角色字段和一个包含数组的 *content* 字段，数组中的 `type` 字段（*text* 或 *image*）描述了输入模态。对于文本输入，`content` 字段包含一个 `text` 字段，该字段包含用户的问题或提示。对于图像输入，`content` 字段指定图像 `format`（例如，*jpeg*、*png*），其 `source` 包含一个指向图像的 Amazon S3 位置的 `uri`。`uri` 表示存储在 Amazon S3 存储桶中的图像的唯一路径，其格式通常为 `s3://<bucket-name>/<path-to-file>`。助手消息包括一个设置为 *assistant* 的 `role` 字段和一个包含数组的 `content` 字段，此数组中的 `type` 字段设置为 *text*，`text` 字段包含助手生成的响应。

示例格式

```
{
    "schemaVersion": "bedrock-conversation-2024",
    "system": [{
        "text": "You are a smart assistant that answers questions respectfully"
    }],
    "messages": [{
            "role": "user",
            "content": [{
                    "text": "What does the text in this image say?"
                },
                {
                    "image": {
                        "format": "png",
                        "source": {
                            "s3Location": {
                                "uri": "s3://your-bucket/your-path/your-image.png",
                                "bucketOwner": "your-aws-account-id"
                            }
                        }
                    }
                }
            ]
        },
        {
            "role": "assistant",
            "content": [{
                "text": "The text in the attached image says 'LOL'."
            }]
        }
    ]
}
```

**多回合对话**

在多回合对话中，每个 JSON 对象均包含一系列角色交替的消息，其中用户消息与助手消息的结构保持一致，以实现连贯的交互。用户消息包括一个设置为 *user* 的 `role` 字段和一个描述输入模态的 `content` 字段。对于文本输入，`content` 字段中有一个包含用户的问题或后续信息的 `text` 字段，而对于图像输入，该字段指定图像 `format` 及其 `source`（其中包含一个指向图像的 Amazon S3 位置的 `uri`）。作`uri`为 s3:<bucket-name>///< path-to-file > 格式的唯一标识符，允许模型访问指定的 Amazon S3 存储桶中的图像。助手消息包括一个设置为 *assistant* 的 `role` 字段和一个包含数组的 `content` 字段，此数组中的 `type` 字段设置为 *text*，`text` 字段包含助手生成的响应。对话可跨多轮交互，使助手能够保持上下文连贯性并提供一致的响应。

示例格式

```
{
    "schemaVersion": "bedrock-conversation-2024",
    "system": [{
        "text": "You are a smart assistant that answers questions respectfully"
    }],
    "messages": [{
            "role": "user",
            "content": [{
                    "text": "What does the text in this image say?"
                },
                {
                    "image": {
                        "format": "png",
                        "source": {
                            "s3Location": {
                                "uri": "s3://your-bucket/your-path/your-image.png",
                                "bucketOwner": "your-aws-account-id"
                            }
                        }
                    }
                }
            ]
        },
        {
            "role": "assistant",
            "content": [{
                "text": "The text in the attached image says 'LOL'."
            }]
        },
        {
            "role": "user",
            "content": [{
                    "text": "What does the text in this image say?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": [{
                "text": "The text in the attached image says 'LOL'."
            }]
        }
        
    ]
}
```

## 准备用于微调图像生成模型和嵌入模型的数据
<a name="preparing-image-generation-data"></a>

**注意**  
Amazon Nova 模型具有不同的微调要求。要微调这些模型，请按照[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)中的说明进行操作。

对于 text-to-image我们的 image-to-embedding模型，请准备训练数据集。不支持验证数据集。每个 JSON 对象都是一个样本，其中包含 `image-ref`（图像的 Amazon S3 URI）和 `caption`（可作为图像的提示）。

这些图像必须是 JPEG 或 PNG 格式。

```
{"image-ref": "s3://bucket/path/to/image001.png", "caption": "<prompt text>"}
{"image-ref": "s3://bucket/path/to/image002.png", "caption": "<prompt text>"}{"image-ref": "s3://bucket/path/to/image003.png", "caption": "<prompt text>"}
```

以下是示例项目：

```
{"image-ref": "s3://amzn-s3-demo-bucket/my-pets/cat.png", "caption": "an orange cat with white spots"}
```

要允许 Amazon Bedrock 访问图像文件，请将类似于 [访问训练文件和验证文件以及在 S3 中写入输出文件的权限](model-customization-iam-role.md#model-customization-iam-role-s3) 中的 IAM 策略的策略添加到您在控制台中设置或系统自动设置的 Amazon Bedrock 模型自定义服务角色。您在训练数据集内提供的 Amazon S3 路径必须位于您在策略中指定的文件夹中。

# 通过监督微调对Amazon Nova模型进行微调
<a name="nova-2-sft-data-prep"></a>

Amazon Nova2.0 SFT 数据使用与 Amazon Nova 1.0 相同的 Converse API 格式，但增加了可选的推理内容字段。有关完整的格式规范，请参阅[ReasoningContentBlock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ReasoningContentBlock.html)和 [Converse API 架构](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-call.html)。

**支持的功能：**
+ **输入类型**-用户内容块中的文本、图像或视频
+ **助手内容** — 纯文字回复和推理内容
+ **数据集构成**-必须是同质的。选择以下选项之一：纯文字转弯、文字\$1图像转弯或文字\$1视频转弯

**重要**  
您不能在同一个数据集中或在不同的回合中混合图像和视频。

**目前的局限性：**
+ **工具用法**-尽管输入格式支持使用工具，但 Amazon Nova 2.0 SFT 目前不支持使用工具。添加工具部分可能会导致您的任务失败。
+ **多模态推理内容** — 尽管 Converse 格式支持基于图像的推理内容，但 2.0 SFT 不支持此内容。Amazon Nova
+ **验证集**-用户界面可能支持提供验证集，但在 SFT 训练期间不支持提供验证集。

**支持的媒体格式：**
+ **图片** — PNG、JPEG、GIF
+ **视频** — MOV、MKV、 MP4

## 数据格式示例
<a name="nova-2-sft-data-examples"></a>

------
#### [ Text-only ]

此示例显示了与 Amazon Nova 1.0 兼容的基本纯文本格式。

```
{
  "schemaVersion": "bedrock-conversation-2024",
  "system": [
    {
      "text": "You are a digital assistant with a friendly personality"
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "text": "What country is right next to Australia?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "text": "The closest country is New Zealand"
        }
      ]
    }
  ]
}
```

------
#### [ Text with reasoning ]

此示例显示了带有 Amazon Nova 2.0 可选推理内容的文本。

```
{
  "schemaVersion": "bedrock-conversation-2024",
  "system": [
    {
      "text": "You are a digital assistant with a friendly personality"
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "text": "What country is right next to Australia?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "reasoningContent": {
            "reasoningText": {
              "text": "I need to use my world knowledge of geography to answer this question"
            }
          }
        },
        {
          "text": "The closest country to Australia is New Zealand, located to the southeast across the Tasman Sea."
        }
      ]
    }
  ]
}
```

**注意**  
当前，内部`reasoningText`仅支持`reasoningContent`。多模态推理内容尚不可用。

------
#### [ Image \$1 text ]

此示例说明如何在文本中包含图像输入。

```
{
  "schemaVersion": "bedrock-conversation-2024",
  "system": [
    {
      "text": "You are a helpful assistant."
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "image": {
            "format": "jpeg",
            "source": {
              "s3Location": {
                "uri": "s3://your-bucket/your-path/your-image.jpg",
                "bucketOwner": "your-aws-account-id"
              }
            }
          }
        },
        {
          "text": "Which country is highlighted in the image?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "reasoningContent": {
            "reasoningText": {
              "text": "I will determine the highlighted country by examining its location on the map and using my geographical knowledge"
            }
          }
        },
        {
          "text": "The highlighted country is New Zealand"
        }
      ]
    }
  ]
}
```

------
#### [ Video \$1 text ]

此示例说明如何在文本中加入视频输入。

```
{
  "schemaVersion": "bedrock-conversation-2024",
  "system": [
    {
      "text": "You are a helpful assistant."
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "video": {
            "format": "mp4",
            "source": {
              "s3Location": {
                "uri": "s3://your-bucket/your-path/your-video.mp4",
                "bucketOwner": "your-aws-account-id"
              }
            }
          }
        },
        {
          "text": "What is shown in this video?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "reasoningContent": {
            "reasoningText": {
              "text": "I will analyze the video content to identify key elements"
            }
          }
        },
        {
          "text": "The video shows a map with New Zealand highlighted"
        }
      ]
    }
  ]
}
```

------

## 推理内容
<a name="nova-2-reasoning-modes"></a>

推理内容（也称为 chain-of-thought）在生成最终答案之前捕捉模型的中间思维步骤。`assistant`反过来，使用该`reasoningContent`字段来包含这些推理痕迹。

**损失是如何计算的：**
+ **包含推理内容** — 训练损失包括推理代币和最终输出标记
+ **不含推理内容** — 训练损失仅根据最终输出代币计算

**何时启用推理模式：**`reasoning_enabled: true`在训练配置中设置您希望模型在生成最终输出之前生成思维标记，或者需要提高复杂推理任务的性能。设置`reasoning_enabled: false`当你在训练那些无法从明确的推理步骤中受益的简单任务时。

**注意**  
无论您的训练数据是否包含推理内容，您都可以启用推理模式。但是，建议在训练数据中加入推理轨迹，这样模型就可以从这些示例中吸取教训并提高推理质量。

**格式指南：**
+ 对推理内容使用纯文本。
+ 除非您的任务特别要求，`</thinking>`否则请避免使用`<thinking>`和之类的标记标记。
+ 确保推理内容清晰且与问题解决过程相关。

**有效的推理内容应包括：**
+ 中间思考和分析
+ 逻辑推断和推理步骤
+ Step-by-step 解决问题的方法
+ 步骤和结论之间的明确联系

如果你的数据集缺少推理轨迹，你可以使用像 Nova Premier 这样的具有推理功能的模型来创建它们。向模型提供您的输入输出对，并捕获其推理过程以构建推理增强数据集。

## 数据集准备指南
<a name="nova-2-dataset-preparation"></a>

下表提供了准备训练数据集的指南。


**数据集准备指南**  

| 指南 | 说明 | 
| --- | --- | 
| 尺寸和质量 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 
| 多元化 |  包括执行以下操作的不同示例： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 
| 输出格式 |  在助手响应中明确指定所需的输出格式。示例包括 JSON 结构、表格、CSV 格式或特定于您的应用程序的自定义格式。  | 
| 多回合对话 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 
| 质量清单 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 

# 自定义模型超参数
<a name="custom-models-hp"></a>

以下参考内容包括可用于训练各个 Amazon Bedrock 自定义模型的超参数。

超参数是用于控制训练过程的参数，例如学习率或周期计数。当您使用 Amazon Bedrock 控制台或调用 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API 操作[提交](model-customization-submit.md)微调任务时，您可以为自定义模型训练设置超参数。

## Amazon Nova 理解模型自定义超参数
<a name="cm-hp-nova-mm"></a>

Amazon Nova Lite、Amazon Nova Micro 和 Amazon Nova Pro 模型支持以下三个用于自定义模型的超参数。有关更多信息，请参阅 [针对使用案例自定义模型以提高其性能](custom-models.md)。

 有关微调 Amazon Nova 模型的信息，请参阅[微调 Amazon Nova 模型](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)。

您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。


****  

| 超参数（控制台） | 超参数（API） | 定义 | Type | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 整数 | 1 | 5 | 2 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 浮点数 | 1.00E-6 | 1.00E-4 | 1.00E-5 | 
| 学习率预热步数 | learningRateWarmup步骤 | 学习率逐渐提高到指定速率的迭代次数 | 整数 | 0 | 100 | 10 | 

默认的 epoch 数为 2，适用于大多数情况。通常，较大的数据集需要较少的 epoch 就能收敛，而较小的数据集则需要较多的 epoch 才能收敛。您也可以通过提高学习率来实现更快的收敛，但这种方法不太令人满意，因为可能会导致收敛时的训练不稳定。建议从默认超参数开始，这些超参数基于我们对各种复杂程度和数据大小的任务的评估。

在预热阶段，学习率将逐渐提高到设定值。因此，在训练样本较小时，建议您避免使用过大的预热值，因为在训练过程中，学习率可能永远无法达到设定值。建议将数据集大小分别除以 640（对于 Amazon Nova Micro）、160（对于 Amazon Nova Lite）和 320（对于 Amazon Nova Pro），以此来设置预热步骤数。

## Amazon Nova Canvas 模型自定义超参数
<a name="cm-hp-nova-canvas"></a>

Amazon Nova Canvas 模型支持以下用于自定义模型的超参数。


****  

| 超参数（控制台） | 超参数（API） | 定义 | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | 
| 批次大小 | batchSize | 更新模型参数之前处理的样本数 | 8 | 192 | 8 | 
| 步数 | stepCount | 模型在每个批次中出现的次数 | 10 | 20000 | 500 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 1.00E-7 | 1.00E-4 | 1.00E-5 | 

## Amazon Titan Text 模型自定义超参数
<a name="cm-hp-titan-text"></a>

Amazon Titan Text 高级版模型支持以下用于自定义模型的超参数。您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。


****  

| 超参数（控制台） | 超参数（API） | 定义 | Type | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 整数 | 1 | 5 | 2 | 
| 批次大小（微批次） | batchSize | 更新模型参数之前处理的样本数 | 整数 | 1 | 1 | 1 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 浮点数 | 1.00E-07 | 1.00E-05 | 1.00E-06 | 
| 学习率预热步数 | learningRateWarmup步骤 | 学习率逐渐提高到指定速率的迭代次数 | 整数 | 0 | 20 | 5 | 

Amazon Titan Text 模型（例如简捷版和快捷版）支持以下用于自定义模型的超参数：您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。


****  

| 超参数（控制台） | 超参数（API） | 定义 | Type | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 整数 | 1 | 10 | 5 | 
| 批次大小（微批次） | batchSize | 更新模型参数之前处理的样本数 | 整数 | 1 | 64 | 1 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 浮点数 | 0.0 | 1 | 1.00E-5 | 
| 学习率预热步数 | learningRateWarmup步骤 | 学习率逐渐提高到指定速率的迭代次数 | 整数 | 0 | 250 | 5 | 

## Amazon Titan 图像生成器 G1 模型自定义超参数
<a name="cm-hp-titan-image"></a>

Amazon Titan 图像生成器 G1 模型支持以下用于自定义模型的超参数。

**注意**  
`stepCount` 没有默认值，必须为其指定一个值。`stepCount` 支持值 `auto`。`auto` 会优先考虑模型性能而非训练成本，方法是根据数据集的大小自动确定一个数值。训练作业成本取决于 `auto` 确定的数值。要了解作业成本的计算方式并查看示例，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。


****  

| 超参数（控制台） | 超参数（API） | 定义 | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | 
| 批次大小 | batchSize | 更新模型参数之前处理的样本数 | 8 | 192 | 8 | 
| 步数 | stepCount | 模型在每个批次中出现的次数 | 10 | 40000 | 不适用 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 1.00E-7 | 1 | 1.00E-5 | 

## Amazon Titan Multimodal Embeddings G1 自定义超参数
<a name="cm-hp-titan-mm"></a>

Amazon Titan Multimodal Embeddings G1 模型支持以下用于自定义模型的超参数。您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。

**注意**  
`epochCount` 没有默认值，必须为其指定一个值。`epochCount` 支持值 `Auto`。`Auto` 会优先考虑模型性能而非训练成本，方法是根据数据集的大小自动确定一个数值。训练作业成本取决于 `Auto` 确定的数值。要了解作业成本的计算方式并查看示例，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。


****  

| 超参数（控制台） | 超参数（API） | 定义 | Type | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 整数 | 1 | 100 | 不适用 | 
| 批次大小 | batchSize | 更新模型参数之前处理的样本数 | 整数 | 256 | 9,216 | 576 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 浮点数 | 5.00E-8 | 1 | 5.00E-5 | 

## Anthropic Claude 3 模型自定义超参数
<a name="cm-hp-anth-claude-3"></a>

Anthropic Claude 3 模型支持以下用于自定义模型的超参数。您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。


****  

| 控制台名称 | API 名称 | 定义 | 默认 | 最小值 | 最大值 | 
| --- | --- | --- | --- | --- | --- | 
| 周期计数 | epochCount | 整个训练数据集的最大迭代次数 | 2 | 1 | 10 | 
| 批次大小  | batchSize | 更新模型参数之前处理的样本数 | 32 | 4 | 256 | 
| 学习率乘数 | learningRateMultiplier | 该乘数会影响模型参数在每个批次之后更新的学习率 | 1 | 0.1 | 2 | 
| 提前停止阈值 | earlyStoppingThreshold | 防止训练过程过早终止所需的最低验证损失改善 | 0.001 | 0 | 0.1 | 
| 提前停止容忍度 | earlyStoppingPatience | 停止训练过程之前对验证损失指标停滞的容忍程度 | 2 | 1 | 10 | 

## Cohere Command 模型自定义超参数
<a name="cm-hp-cohere-command"></a>

Cohere Command 和 Cohere Command Light 模型支持以下用于自定义模型的超参数。您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。有关更多信息，请参阅 [针对使用案例自定义模型以提高其性能](custom-models.md)。

 有关微调Cohere模型的信息，请参阅[https://docs.cohere.com/docs/微调](https://docs.cohere.com/docs/fine-tuning)中的Cohere文档。

**注意**  
`epochCount` 配额可调整。


****  

| 超参数（控制台） | 超参数（API） | 定义 | Type | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 整数 | 1 | 100 | 1 | 
| 批次大小 | batchSize | 更新模型参数之前处理的样本数 | 整数 | 8 | 8（Command）32（Light） | 8 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率。如果使用的是验证数据集，我们建议您不要为 learningRate 提供值。 | 浮点数 | 5.00E-6 | 0.1 | 1.00E-5 | 
| 提前停止阈值 | earlyStoppingThreshold | 防止训练过程过早终止所需的最低损失改善 | 浮点数 | 0 | 0.1 | 0.01 | 
| 提前停止容忍度 | earlyStoppingPatience | 停止训练过程之前对损失指标停滞的容忍程度 | 整数 | 1 | 10 | 6 | 
| 评估百分比 | evalPercentage |  在未提供单独验证数据集的情况下，为模型评测分配的数据集百分比  | 浮点数 | 5 | 50 | 20 | 

## Meta Llama 3.1 模型自定义超参数
<a name="cm-hp-meta-llama31"></a>

Meta Llama 3.1 8B 和 70B 模型支持以下用于自定义模型的超参数。您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。有关更多信息，请参阅 [针对使用案例自定义模型以提高其性能](custom-models.md)。

 有关微调 Meta Llama 模型的信息，请参阅 [https://ai.meta.com/llama/get-started/ \$1fine-t](https://ai.meta.com/llama/get-started/#fine-tuning) uning 中的Meta文档。

**注意**  
`epochCount` 配额可调整。


****  

| 超参数（控制台） | 超参数（API） | 定义 | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 1 | 10 | 5 | 
| 批次大小 | batchSize | 更新模型参数之前处理的样本数 | 1 | 1 | 1 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 5.00E-6 | 0.1 | 1.00E-4 | 

## Meta Llama 3.2 模型自定义超参数
<a name="cm-hp-meta-llama32"></a>

Meta Llama 3.2 1B、3B、11B 和 90B 模型支持以下用于自定义模型的超参数。您指定的 epoch 数会处理更多词元，因而会增加模型的自定义成本。每个 epoch 对整个训练数据集进行一次处理。有关定价的信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing)。有关更多信息，请参阅 [针对使用案例自定义模型以提高其性能](custom-models.md)。

 有关微调 Meta Llama 模型的信息，请参阅 [https://ai.meta.com/llama/get-started/ \$1fine-t](https://ai.meta.com/llama/get-started/#fine-tuning) uning 中的Meta文档。


****  

| 超参数（控制台） | 超参数（API） | 定义 | 最小值 | 最大值 | 默认 | 
| --- | --- | --- | --- | --- | --- | 
| Epoch | epochCount | 整个训练数据集的迭代次数 | 1 | 10 | 5 | 
| 批次大小 | batchSize | 更新模型参数之前处理的样本数 | 1 | 1 | 1 | 
| 学习率 | learningRate | 每个批次之后模型参数的更新速率 | 5.00E-6 | 0.1 | 1.00E-4 | 

# 提交模型定制任务进行微调
<a name="model-customization-submit"></a>

您可以通过在 Amazon Bedrock 控制台或 API 中进行微调来创建自定义模型。您可以进一步微调现有的自定义模型。自定义作业可能需要数小时的时间。作业的持续时间取决于训练数据的大小（记录数、输入令牌数和输出令牌数）、周期数和批次大小。

## 先决条件
<a name="submit-model-customization-job-prerequisites"></a>
+ 创建 AWS Identity and Access Management (IAM) 服务角色以访问您要存储模型自定义训练和验证数据的 S3 存储桶。您可以使用 AWS 管理控制台 或手动自动创建此角色。有关手动选项的更多信息，请参阅[为模型自定义创建 IAM 服务角色](custom-model-job-access-security.md#custom-model-job-service-role)。
+ （可选）加密输入和输出数据、自定义作业或向自定义模型发出的推理请求。有关更多信息，请参阅 [自定义模型加密](encryption-custom-job.md)。
+ （可选）创建虚拟私有云（VPC）来保护自定义作业。有关更多信息，请参阅 [（可选）使用 VPC 保护模型自定义作业](custom-model-job-access-security.md#vpc-model-customization)。

## 提交作业
<a name="submit-model-customization-job-how-to"></a>

选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

------
#### [ Console ]

要在控制台中提交模型自定义作业，请执行以下步骤。

1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS 管理控制台 然后，在 [https://console.aws.amazon.com/](https://console.aws.amazon.com/bedrock)bedrock 上打开 Amazon Bedrock 控制台。

1. 在左侧导航窗格的**调整**下，选择**自定义模型**。

1. 在**模型**选项卡中，选择**自定义模型**，然后选择**创建微调作业**。

1. 在**模型详细信息**部分中，执行以下操作：

   1. 选择要使用自己的数据自定义的模型，然后为生成的模型命名。您可以选择基础模型或先前自定义的模型（经过微调或蒸馏）作为基础模型。

   1. （可选）默认情况下，Amazon Bedrock 会使用由 AWS拥有和管理的密钥对您的模型进行加密。要使用[自定义 KMS 密钥](encryption-custom-job.md)，请选择**模型加密**并选择密钥。

   1. （可选）要将[标签](tagging.md)与自定义模型关联，请展开**标签**部分，然后选择**添加新标签**。

1. 在**作业配置**部分中，输入作业的名称，（可选）然后添加所有要与该作业关联的标签。

1. （可选）要使用[虚拟私有云（VPC）保护您的训练数据和自定义作业](custom-model-job-access-security.md#vpc-model-customization)，请在 **VPC 设置**部分选择包含输入数据和输出数据 Amazon S3 位置、其子网和安全组的 VPC。
**注意**  
如果您的作业包含 VPC 配置，则控制台无法为该作业创建新的服务角色。[创建自定义服务角色](model-customization-iam-role.md)并添加与[将 VPC 权限附加到模型自定义角色](custom-model-job-access-security.md#vpc-data-access-role)中所述示例类似的权限。

1. 在**输入数据**部分，选择训练数据集文件和验证数据集文件（如适用）的 S3 位置。

1. 在**超参数**部分，输入要在训练中使用的[超参数](custom-models-hp.md)的值。

1. 在**输出数据**部分，输入 Amazon Bedrock 应在其中保存作业输出的 Amazon S3 位置。Amazon Bedrock 会将每个周期的训练损失指标和验证损失指标存储在指定位置的单独文件中。

1. 在**服务访问权限**部分，选择以下选项之一：
   + **使用现有服务角色** – 从下拉列表中选择一个服务角色。有关设置具有相应权限的自定义角色的更多信息，请参阅[为模型自定义创建服务角色](model-customization-iam-role.md)。
   + **创建和使用新的服务角色** — 输入服务角色的名称。

1. 选择 F **ine-tune 模型**开始工作。

------
#### [ API ]

**请求**

使用 [Amazon Bedrock 控制平面终端节点](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-cp)发送请求 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)（有关请求和响应格式以及字段详情，请参阅链接），以提交模型自定义任务。您至少必须提供以下字段。
+ `roleArn` – 有权自定义模型的服务角色的 ARN。如果您使用控制台，Amazon Bedrock 会自动创建具有相应权限的角色，或者，您也可以按照[为模型自定义创建服务角色](model-customization-iam-role.md)中的以下步骤创建自定义角色。
**注意**  
如果您添加 `vpcConfig` 字段，请确保该角色有适当的权限来访问 VPC。有关示例，请参阅[将 VPC 权限附加到模型自定义角色](custom-model-job-access-security.md#vpc-data-access-role)。
+ `baseModelIdentifier` – 要自定义的基础模型或先前自定义的模型（经过微调或蒸馏）[模型 ID](models-supported.md) 或 ARN。
+ `customModelName` – 要为新自定义的模型使用的名称。
+ `jobName` – 要为训练作业使用的名称。
+ `hyperParameters` – 影响模型定制过程的[超参数](custom-models-hp.md)。
+ `trainingDataConfig` – 一个包含训练数据集的 Amazon S3 URI 的对象。根据自定义方法和模型，您还可以添加一个 `validationDataConfig`。有关数据集准备的更多信息，请参阅[准备用于微调模型的数据](model-customization-prepare.md)。
+ `validationDataconfig` – 一个包含验证数据集的 Amazon S3 URI 的对象。
+ `outputDataConfig` – 一个包含要将输出数据写入到的 Amazon S3 URI 的对象。

如果您未指定 `customizationType`，则模型自定义方法默认为 `FINE_TUNING`。

为防止请求多次完成，请添加一个 `clientRequestToken`。

您可以添加以下可选字段进行额外的配置。
+ `jobTags` and/or `customModelTags`— 将[标签](tagging.md)与自定义任务或生成的自定义模型相关联。
+ `customModelKmsKeyId` – 添加用于加密您的自定义模型的[自定义 KMS 密钥](encryption-custom-job.md)。
+ `vpcConfig` – 添加[虚拟私有云（VPC）的配置，以保护您的训练数据和自定义作业](custom-model-job-access-security.md#vpc-model-customization)。

**响应**

响应会返回一个 `jobArn`，您可以使用它来[监控](model-customization-monitor.md)或[停止](model-customization-stop.md)作业。

[参阅代码示例](model-customization-code-samples.md)

------