

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

# モデルを微調整するためのデータを準備する
<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 パスは、ポリシーで指定するフォルダに存在する必要があります。