

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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>

次の表は、微調整できる基盤モデルを示しています。


| プロバイダー | モデル | モデル ID | 単一リージョンモデルのサポート | 
| --- | --- | --- | --- | 
| Amazon | ノバ 2 ライト | amazon.nova-2-lite-v1:0:256k |  us–east–1  | 
| Amazon | Nova Canvas | amazon.nova-canvas-v1:0 |  us–east–1  | 
| Amazon | Nova Lite | amazon.nova-lite-v1:0:300k |  us–east–1  | 
| Amazon | Nova Micro | amazon.nova-micro-v1:0:128k |  us–east–1  | 
| Amazon | Nova Pro | amazon.nova-pro-v1:0:300k |  us–east–1  | 
| Amazon | Titan Image Generator G1 v2 | amazon.titan-image-generator-v2:0 |  us–east–1 us-west-2  | 
| Amazon | Titan Multimodal Embeddings G1 | amazon.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-70b-instruct-v1:0:128k |  us-west-2  | 
| Meta | Llama 3.1 8B インストラクション | meta.llama3-1-8b-instruct-v1:0:128k |  us-west-2  | 
| Meta | Llama 3.2 11B 指示 | meta.llama3-2-11b-instruct-v1:0:128k |  us-west-2  | 
| Meta | Llama 3.2 1B 指示 | meta.llama3-2-1b-instruct-v1:0:128k |  us-west-2  | 
| Meta | Llama 3.2 3B インストラクション | meta.llama3-2-3b-instruct-v1:0:128k |  us-west-2  | 
| Meta | Llama 3.2 90B 指示 | meta.llama3-2-90b-instruct-v1:0:128k |  us-west-2  | 
| Meta | Llama 3.3 70B インストラクション | meta.llama3-3-70b-instruct-v1:0:128k |  us-west-2  | 

各モデルのモデルカスタマイズハイパーパラメータの詳細については、「」を参照してください[カスタムモデルのハイパーパラメータ](custom-models-hp.md)。

# モデルを微調整するためのデータを準備する
<a name="model-customization-prepare"></a>

トレーニングデータセットと検証データセットをカスタムモデル用に準備するには、各行がレコードに対応している JSON オブジェクトの `.jsonl` ファイルを作成します。モデルカスタマイズジョブを開始する前に、少なくともトレーニングデータセットを準備する必要があります。作成するファイルは、選択したカスタマイズ方法とモデルの形式に沿っている必要があります。その中のレコードは、モデルに応じたサイズ要件を満たしている必要があります。

モデルの要件については、「[トレーニングと検証のデータセットのモデル要件](#model-training-validation-requirements)」を参照してください。さまざまなモデルのカスタマイズに使用されるトレーニングデータセットと検証データセットに適用されるデフォルトのクォータを確認するには、 AWS 全般のリファレンスの「[Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html)」の「**Sum of training and validation records**」クオータを参照してください。

検証データセットがサポートされているかどうか、トレーニングデータセットと検証データセットの形式は、次の要因によって異なります。
+ ファインチューニングカスタマイズジョブのタイプ。
+ データの入力モダリティと出力モダリティ。

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 モデルをファインチューニングするためのデータを準備する](#preparing-text-data)」を参照してください。

次の非会話モデルは、要約、翻訳、質問への回答などのタスク用に最適化されています。
+ Amazon Titan Text G1 - Express
+ Amazon Titan Text G1 - Lite
+ Amazon Titan Text Premier
+ 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 Vision (Converse API 形式)
+ Meta Llama 3.2 90B Instruct Vision (Converse API 形式)
+ Meta Llama 3.3 70B Vision Instruct (Converse API 形式)

**テキスト画像からテキストモデルとテキストから画像モデル**

次のモデルは、画像生成とテキスト画像処理のファインチューニングをサポートしています。これらのモデルは、テキスト入力に基づいて画像を処理または生成するか、テキスト入力と画像入力の両方に基づいてテキストを生成します。テキスト画像からテキストモデルとテキストから画像モデルをファインチューニングするためのデータの準備については、「[画像処理モデルとテキスト処理モデルのファインチューニング用にデータを準備する](#preparing-image-text-data)」を参照してください。
+ Amazon Titan Image Generator G1 V1
+ Meta Llama 3.2 11B Instruct Vision
+ Meta Llama 3.2 90B Instruct Vision
+ Meta Llama 3.3 70B Vision Instruct

**画像から埋め込み**

次のモデルは、分類や取得などのタスクのファインチューニングをサポートしています。これらのモデルは、画像入力から数値表現 (埋め込み) を生成します。画像から埋め込みモデルをファインチューニングするためのデータの準備については、「[イメージ生成モデルと埋め込みモデルをファインチューニングするためのデータを準備する](#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 Premier
<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 | 1,024 | 
| トレーニングデータセット内のレコード | 5 | 10,000 | 
| 入力イメージサイズ | 0 | 50MB | 
| 入力イメージのピクセル単位の高さ | 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 | 
| トレーニングデータセット内のレコード | 1,000 | 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 | 16,000 | 
| 出力トークン | 0 | 16,000 | 
| データセット内のサンプルあたりの文字数クォータ | 0 | トークンクォータ x 6 (推定) | 
| 入力トークンと出力トークンの合計 | 0 | 16,000 | 
| トレーニングレコードと検証レコードの合計 | 100 | 10,000 (Service Quotas を使用して調整可能) | 

### 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` です。これらのモデルのファインチューニング中に画像からトークンへの変換を見積もるには、`Tokens = min(2, max(Height // 560, 1)) * min(2, max(Width // 560, 1)) * 1601` という式を近似値として使用できます。画像は、そのサイズに基づいて約 1,601～6,404 トークンに変換されます。


****  

| 説明 | 最小 (ファインチューニング) | 最大値 (ファインチューニング) | 
| --- | --- | --- | 
| 入力トークンと出力トークンの合計 | 0 | 16,000 (次の場合は 10,000: Meta Llama 3.2 90B) | 
| トレーニングレコードと検証レコードの合計 | 100 | 10,000 (Service Quotas を使用して調整可能) | 
| 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 | 10,000 (Service Quotas を使用して調整可能) | 

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


****  

| 説明 | 最大値 (ファインチューニング) | 
| --- | --- | 
| 入力トークン | 4,096 | 
| 出力トークン | 2,048 | 
| データセット内のサンプルあたりの文字数クォータ | トークンクォータ x 6 (推定) | 
| トレーニングデータセット内のレコード | 10,000 | 
| 検証データセット内のレコード | 1,000 | 

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


****  

| 説明 | 最大値 (ファインチューニング) | 
| --- | --- | 
| 最小レコード数 | 32 | 
| 最大トレーニングレコード数 | 10,000 | 
| 最大検証レコード数 | 1,000 | 
| 最大合計レコード数 | 10,000 (Service Quotas を使用して調整可能) | 
| 最大トークン数 | 32,000 | 
| 最大トレーニングデータセットサイズ | 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)」を参照してください。

画像テキストからテキストモデルをファインチューニングする場合、各 JSON オブジェクトは `messages` 配列として構造化された会話を含むサンプルであり、ユーザーの入力とアシスタントのレスポンスを交互に表す JSON オブジェクトで構成されます。ユーザー入力にはテキストと画像の両方を含めることができますが、アシスタントのレスポンスは常にテキストです。この構造では、シングルターンとマルチターンの両方の会話フローがサポートされるため、モデルはさまざまなタスクを効果的に処理できます。Meta Llama-3.2 11B Vision Instruct および Meta Llama-3.2 90B Vision Instruct でサポートされている画像形式は `gif`、`jpeg`、`png`、`webp` です。

Amazon Bedrock によるイメージファイルへのアクセスを許可するには、自分で設定した、またはコンソールで自動的に設定された Amazon Bedrock モデルカスタマイズサービスロールに、[S3 のトレーニングファイルや検証ファイルにアクセスし、出力ファイルを書き込むアクセス許可](model-customization-iam-role.md#model-customization-iam-role-s3) と同様の IAM ポリシーを追加します。トレーニングデータセットで指定する Amazon S3 パスは、ポリシーで指定するフォルダに存在する必要があります。

**シングルターンの会話**

シングルターンの会話の各 JSON オブジェクトは、ユーザーメッセージとアシスタントメッセージで構成されます。ユーザーメッセージには、*user* に設定された role フィールドと、入力モダリティを記述する `type` フィールド (*text* または *image*) が指定されている配列を含む *content* フィールドが含まれます。テキスト入力の場合、`content` フィールドにはユーザーの質問またはプロンプトが指定された `text` フィールドが含まれます。画像入力の場合、`content` フィールドには、画像の `format` (*jpeg*、*png* など) とその画像の Amazon S3 の場所を指す `uri` を含む `source` を指定します。`uri` は、Amazon S3 バケットに保存されている画像への一意のパスを表し、通常は `s3://<bucket-name>/<path-to-file>` という形式を取ります。アシスタントメッセージには、*assistant* に設定された `role` フィールドと、*text* に設定された `type` フィールドが指定されている配列を含む `content` フィールド、およびアシスタントが生成したレスポンスを含む `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` とその画像の Amazon S3 の場所を指す `uri` を含む `source` を指定します。`uri` は、s3://<bucket-name>/<path-to-file> という形式の一意の識別子として機能し、指定された Amazon S3 バケットにある画像にモデルがアクセスできるようにします。アシスタントメッセージには、*assistant* に設定された `role` フィールドと、*text* に設定された `type` フィールドが指定されている配列を含む `content` フィールド、およびアシスタントが生成したレスポンスを含む `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 オブジェクトは、画像の Amazon S3 URI である `image-ref` と、画像のプロンプトとなる可能性がある `caption` を含むサンプルです。

画像は、PNG または JPEG 形式である必要があります。

```
{"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 によるイメージファイルへのアクセスを許可するには、自分で設定した、またはコンソールで自動的に設定された Amazon Bedrock モデルカスタマイズサービスロールに、[S3 のトレーニングファイルや検証ファイルにアクセスし、出力ファイルを書き込むアクセス許可](model-customization-iam-role.md#model-customization-iam-role-s3) と同様の IAM ポリシーを追加します。トレーニングデータセットで指定する Amazon S3 パスは、ポリシーで指定するフォルダに存在する必要があります。

# 教師ありファインチューニングでAmazon Novaモデルをファインチューニングする
<a name="nova-2-sft-data-prep"></a>

Amazon Nova 2.0 SFT データは、1Amazon Nova.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 ビデオのターンのいずれかを選択します。

**重要**  
同じデータセット内または異なるターン間でイメージと動画を混在させることはできません。

**現在の制限:**
+ **ツールの使用状況** – ツールの使用状況は入力形式でサポートされていますが、現在 2Amazon Nova.0 SFT ではサポートされていません。ツールセクションを追加すると、ジョブが失敗する可能性があります。
+ **マルチモーダル推論コンテンツ** – Converse 形式はイメージベースの推論コンテンツをサポートしていますが、2.0 SFT Amazon Nova ではサポートされていません。
+ **検証セット** – 検証セットの提供は UI を通じてサポートされる場合がありますが、SFT トレーニング中はサポートされません。

**サポートされているメディア形式:**
+ **イメージ** – PNG、JPEG、GIF
+ **動画** – MOV、MKV、MP4

## データ形式の例
<a name="nova-2-sft-data-examples"></a>

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

この例では、1.0 Amazon Nova と互換性のある基本的なテキストのみの形式を示しています。

```
{
  "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 ]

この例では、2.0 Amazon Nova のオプションの推論コンテンツを含むテキストを示しています。

```
{
  "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/ja_jp/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 
| 多様性 |  以下を実行するさまざまな例を含めます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 
| 出力フォーマット |  アシスタントレスポンスで目的の出力形式を明確に指定します。例としては、JSON 構造、テーブル、CSV 形式、アプリケーション固有のカスタム形式などがあります。  | 
| マルチターンの会話 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 
| 品質チェックリスト |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/nova-2-sft-data-prep.html)  | 

# カスタムモデルのハイパーパラメータ
<a name="custom-models-hp"></a>

以下のリファレンスコンテンツでは、各 Amazon Bedrock カスタムモデルのトレーニングに使用できるハイパーパラメータについて説明します。

ハイパーパラメータは、学習率やエポック数など、トレーニングプロセスを制御するパラメータです。Amazon Bedrock [コンソール](model-customization-submit.md)または [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) API オペレーションの呼び出しによってファインチューニングジョブを送信するときに、カスタムモデルトレーニングのハイパーパラメータを設定します。

## Amazon Nova モデルのカスタマイズにおけるハイパーパラメータの理解
<a name="cm-hp-nova-mm"></a>

Amazon Nova Lite モデル、Amazon Nova Micro モデル、Amazon Nova Pro モデルは、モデルのカスタマイズで以下の 3 つのハイパーパラメータをサポートしています。詳細については、「[モデルをカスタマイズしてユースケースのパフォーマンスを向上させる](custom-models.md)」を参照してください。

 Amazon Nova モデルのファインチューニングの詳細については、「[Amazon Nova モデルのファインチューニング](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune.html)」を参照してください。

指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | タイプ | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | --- | 
| エポック | epochCount | トレーニングデータセット全体を通した反復回数。 | integer | 1 | 5 | 2 | 
| 学習率 | learningRate | 各バッチ後にモデルパラメータが更新されるレート | float | 1.00E-6 | 1.00E-4 | 1.00E-5 | 
| 学習率のウォームアップステップ | learningRateWarmupSteps | 学習率が指定したレートまで徐々に増加する反復回数。 | integer | 0 | 100 | 10 | 

デフォルトのエポック数は 2 で、これでほとんどの場合機能します。通常、データセットが大規模になるほど収束に必要なエポック数は少なく、データセットが小規模になるほど収束に必要なエポック数は多くなります。学習率を上げることで収束を早めることもできますが、収束時にトレーニングが不安定になる可能性があるため、あまり望ましくありません。デフォルトのハイパーパラメータから始めることをお勧めします。これらのハイパーパラメータは、さまざまな複雑さやデータサイズのタスクを対象として評価に基づいています。

学習率はウォームアップ中に、設定値まで徐々に増加します。このため、トレーニングサンプルが少ない場合は、トレーニングプロセス中に学習率が設定値に到達しない可能性があるため、ウォームアップ値を高く設定しないことをお勧めします。ウォームアップステップを設定するには、データセットサイズを Amazon Nova Micro の場合は 640、Amazon Nova Lite の場合は 160、Amazon Nova Pro の場合は 320 で割って設定することをお勧めします。

## Amazon Nova Canvas モデルのカスタマイズのハイパーパラメータ
<a name="cm-hp-nova-canvas"></a>

Amazon Nova Canvas モデルは、モデルのカスタマイズで以下のハイパーパラメータをサポートしています。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | 
| バッチサイズ | batchSize | モデルパラメータの更新前に処理されたサンプルの数 | 8 | 192 | 8 | 
| Steps | stepCount | モデルが各バッチに公開される回数 | 10 | 20,000 | 500 | 
| 学習率 | learningRate | 各バッチ後にモデルパラメータが更新されるレート | 1.00E-7 | 1.00E-4 | 1.00E-5 | 

## Amazon Titan テキストモデルのカスタマイズハイパーパラメータ
<a name="cm-hp-titan-text"></a>

Amazon Titan Text Premier モデルは、モデルのカスタマイズで以下のハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | タイプ | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | --- | 
| エポック | epochCount | トレーニングデータセット全体を通した反復回数。 | integer | 1 | 5 | 2 | 
| バッチサイズ (マイクロ) | batchSize | モデルパラメータの更新前に処理されたサンプルの数 | integer | 1 | 1 | 1 | 
| 学習率 | learningRate | 各バッチ後にモデルパラメータが更新されるレート | float | 1.00E-07 | 1.00E-05 | 1.00E-06 | 
| 学習率のウォームアップステップ | learningRateWarmupSteps | 学習率が指定したレートまで徐々に増加する反復回数。 | integer | 0 | 20 | 5 | 

Lite や Express などの Amazon Titan Text モデルは、モデルのカスタマイズ用の以下のハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | タイプ | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | --- | 
| エポック | epochCount | トレーニングデータセット全体を通した反復回数。 | integer | 1 | 10 | 5 | 
| バッチサイズ (マイクロ) | batchSize | モデルパラメータの更新前に処理されたサンプルの数 | integer | 1 | 64 | 1 | 
| 学習率 | learningRate | 各バッチ後にモデルパラメータが更新されるレート | float | 0.0 | 1 | 1.00E-5 | 
| 学習率のウォームアップステップ | learningRateWarmupSteps | 学習率が指定したレートまで徐々に増加する反復回数。 | integer | 0 | 250 | 5 | 

## Amazon Titan Image Generator G1 モデルのカスタマイズハイパーパラメータ
<a name="cm-hp-titan-image"></a>

Amazon Titan Image Generator G1 モデルは、モデルのカスタマイズで以下のハイパーパラメータをサポートしています。

**注記**  
`stepCount` にはデフォルト値がないため、値を指定する必要があります。`stepCount` は値 `auto` をサポートします。`auto` は、データセットのサイズに基づいて数値を自動的に決定することで、トレーニングコストよりもモデルのパフォーマンスを優先します。トレーニングジョブのコストは、`auto` が決定する数によって異なります。ジョブコストの計算方法と例については、[「Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | 
| バッチサイズ | batchSize | モデルパラメータの更新前に処理されたサンプルの数 | 8 | 192 | 8 | 
| Steps | stepCount | モデルが各バッチに公開される回数 | 10 | 40,000 | 該当なし | 
| 学習率 | 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 モデルは、モデルのカスタマイズ用の以下のハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。

**注記**  
`epochCount` にはデフォルト値がないため、値を指定する必要があります。`epochCount` は値 `Auto` をサポートします。`Auto` は、データセットのサイズに基づいて数値を自動的に決定することで、トレーニングコストよりもモデルのパフォーマンスを優先します。トレーニングジョブのコストは、`Auto` が決定する数によって異なります。ジョブコストの計算方法と例については、[「Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | タイプ | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | --- | 
| エポック | epochCount | トレーニングデータセット全体を通した反復回数。 | integer | 1 | 100 | 該当なし | 
| バッチサイズ | batchSize | モデルパラメータの更新前に処理されたサンプルの数 | integer | 256 | 9,216 | 576 | 
| 学習率 | learningRate | 各バッチ後にモデルパラメータが更新されるレート | float | 5.00E-8 | 1 | 5.00E-5 | 

## Anthropic Claude 3 モデルのカスタマイズハイパーパラメータ
<a name="cm-hp-anth-claude-3"></a>

Anthropic Claude 3 モデルは、モデルのカスタマイズのために以下のハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[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 モデルは、モデルのカスタマイズ用の以下のハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。詳細については、「[モデルをカスタマイズしてユースケースのパフォーマンスを向上させる](custom-models.md)」を参照してください。

 Cohere モデルのファインチューニングについては、[https://docs.cohere.com/docs/fine-tuning](https://docs.cohere.com/docs/fine-tuning) にある Cohere のドキュメントを参照してください。

**注記**  
`epochCount` クォータは調整可能です。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | タイプ | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | --- | 
| エポック | epochCount | トレーニングデータセット全体を通した反復回数。 | integer | 1 | 100 | 1 | 
| バッチサイズ | batchSize | モデルパラメータの更新前に処理されたサンプルの数 | integer | 8 | 8 (Command)32 (Light) | 8 | 
| 学習率 | learningRate | 各バッチ後にモデルパラメータが更新されるレート。検証データセットを使用する場合、learningRate の値は指定しないことをお勧めします。 | float | 5.00E-6 | 0.1 | 1.00E-5 | 
| 早期終了のしきい値 | earlyStoppingThreshold | トレーニングプロセスの早期終了を防ぐために必要な損失の最小限の改善。 | float | 0 | 0.1 | 0.01 | 
| 早期終了の許容値 | earlyStoppingPatience | トレーニングプロセスを停止する前の損失メトリックの停滞に対する許容値。 | integer | 1 | 10 | 6 | 
| 評価の割合 | evalPercentage |  検証データセットを別途提供しない場合に、モデル評価に割り当てられるデータセットの割合。  | float | 5 | 50 | 20 | 

## Meta Llama 3.1 モデルのカスタマイズハイパーパラメータ
<a name="cm-hp-meta-llama31"></a>

Meta Llama 3.1 8B および 70B モデルは、モデルのカスタマイズ用の以下のハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。詳細については、「[モデルをカスタマイズしてユースケースのパフォーマンスを向上させる](custom-models.md)」を参照してください。

 Meta Llama モデルのファインチューニングについては、[https://ai.meta.com/llama/get-started/\$1fine-tuning](https://ai.meta.com/llama/get-started/#fine-tuning) にある Meta のドキュメントを参照してください。

**注記**  
`epochCount` クォータは調整可能です。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | 
| エポック | 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 のモデルは、モデルのカスタマイズで以下の 3 つのハイパーパラメータをサポートしています。指定するエポックの数に応じて処理するトークン数が増大するため、モデルのカスタマイズコストが増加します。各エポックは、トレーニングデータセット全体を 1 回処理します。料金に関する詳細については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing)」を参照してください。詳細については、「[モデルをカスタマイズしてユースケースのパフォーマンスを向上させる](custom-models.md)」を参照してください。

 Meta Llama モデルのファインチューニングについては、[https://ai.meta.com/llama/get-started/\$1fine-tuning](https://ai.meta.com/llama/get-started/#fine-tuning) にある Meta のドキュメントを参照してください。


****  

| ハイパーパラメータ (コンソール) | ハイパーパラメータ (API) | 定義 | 最小値 | 最大値 | デフォルト | 
| --- | --- | --- | --- | --- | --- | 
| エポック | 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 マネジメントコンソール することも、手動で作成することもできます。手動オプションの詳細については、「[モデルのカスタマイズ用のサービスロールを作成する](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 ID AWS マネジメントコンソール を使用して にサインインします。Amazon Bedrock コンソール ([https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/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. **[サービスアクセス]** セクションで、次のいずれかの操作を行います。
   + **既存のサービスロールを使用** - ドロップダウンリストからサービスロールを選択します。適切なアクセス許可を持つカスタムロールをセットアップする方法の詳細については、「[Create a service role for model customization](model-customization-iam-role.md)」を参照してください。
   + **新しいサービスロールを作成して使用** - サービスロールの名前を入力します。

1. **ファインチューニングモデル**を選択してジョブを開始します。

------
#### [ 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 は、コンソールを使用する場合に適切なアクセス許可を持つロールを自動的に作成できます。ユーザーがカスタムロールを作成する場合は、[Create a service role for model customization](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` および/または `customModelTags` – [タグ](tagging.md)をカスタムジョブまたは結果のカスタムモデルに関連付けます。
+ `customModelKmsKeyId` – カスタムモデルを暗号化するための[カスタム KMS キー](encryption-custom-job.md)を含めます。
+ `vpcConfig` – [トレーニングデータとカスタムジョブを保護するための仮想プライベートクラウド (VPC)](custom-model-job-access-security.md#vpc-model-customization) の設定を含めます。

**レスポンス**

レスポンスは、ジョブの[監視](model-customization-monitor.md)または[停止](model-customization-stop.md)に使用する `jobArn` を返します。

[コード例を見る](model-customization-code-samples.md)

------