モデルを微調整するためのデータを準備する - Amazon Bedrock

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

モデルを微調整するためのデータを準備する

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

モデルの要件については、「トレーニングと検証のデータセットのモデル要件」を参照してください。さまざまなモデルのカスタマイズに使用されるトレーニングデータセットと検証データセットに適用されるデフォルトのクォータを確認するには、 AWS 全般のリファレンスの「Amazon Bedrock endpoints and quotas」の「Sum of training and validation records」クオータを参照してください。

検証データセットがサポートされているかどうか、トレーニングデータセットと検証データセットの形式は、次の要因によって異なります。

  • ファインチューニングカスタマイズジョブのタイプ。

  • データの入力モダリティと出力モダリティ。

Amazon Nova モデルのファインチューニングについては、「Amazon Nova モデルのファインチューニング」を参照してください。

以下のセクションでは、各モデルでサポートされているさまざまな微調整機能を、入力モダリティと出力モダリティ別に整理して説明します。Amazon Nova モデルのファインチューニングについては、「Amazon Nova モデルのファインチューニング」を参照してください。

テキストからテキストモデル

テキストからテキストモデルは、会話アプリケーションと非会話アプリケーションの両方を含む、さまざまなテキストベースのタスクに合わせてファインチューニングできます。テキストからテキストモデルをファインチューニングするためのデータの準備については、「text-to-text モデルをファインチューニングするためのデータを準備する」を参照してください。

次の非会話モデルは、要約、翻訳、質問への回答などのタスク用に最適化されています。

  • 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 モデルをファインチューニングするためのデータを準備する」を参照してください。Converse API オペレーションの詳細については、「Converse API オペレーションを使用して会話を実行する」を参照してください。

  • 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 形式)

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

次のモデルは、画像生成とテキスト画像処理のファインチューニングをサポートしています。これらのモデルは、テキスト入力に基づいて画像を処理または生成するか、テキスト入力と画像入力の両方に基づいてテキストを生成します。テキスト画像からテキストモデルとテキストから画像モデルをファインチューニングするためのデータの準備については、「画像処理モデルとテキスト処理モデルのファインチューニング用にデータを準備する」を参照してください。

  • 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

画像から埋め込み

次のモデルは、分類や取得などのタスクのファインチューニングをサポートしています。これらのモデルは、画像入力から数値表現 (埋め込み) を生成します。画像から埋め込みモデルをファインチューニングするためのデータの準備については、「イメージ生成モデルと埋め込みモデルをファインチューニングするためのデータを準備する」を参照してください。

  • Amazon Titan Multimodal Embeddings G1

  • Amazon Titan Image Generator G1 V1

以下のセクションでは、モデルのトレーニングおよび検証データセットの要件の一覧を示します。Amazon Nova モデルのデータセットの制約については、「Amazon Nova モデルのファインチューニング」を参照してください。

説明 最大値 (ファインチューニング)
バッチサイズが 1 の場合の入力トークンと出力トークンの合計 4,096
バッチサイズが 2、3 または 4 の場合の入力トークンと出力トークンの合計 該当なし
データセット内のサンプルあたりの文字数クォータ トークンクォータ x 6 (推定)
トレーニングデータセットのファイルサイズ 1 GB
検証データセットのファイルサイズ 100 MB
説明 最大値 (ファインチューニング)
バッチサイズが 1 の場合の入力トークンと出力トークンの合計 4,096
バッチサイズが 2、3 または 4 の場合の入力トークンと出力トークンの合計 2,048
データセット内のサンプルあたりの文字数クォータ トークンクォータ x 6 (推定)
トレーニングデータセットのファイルサイズ 1 GB
検証データセットのファイルサイズ 100 MB
説明 最大値 (ファインチューニング)
バッチサイズが 1 または 2 の場合の入力トークンと出力トークンの合計 4,096
バッチサイズが 3、4、5 または 6 の場合の入力トークンと出力トークンの合計 2,048
データセット内のサンプルあたりの文字数クォータ トークンクォータ x 6 (推定)
トレーニングデータセットのファイルサイズ 1 GB
検証データセットのファイルサイズ 100 MB
説明 最小 (ファインチューニング) 最大値 (ファインチューニング)
トレーニングサンプルの文字単位のテキストプロンプトの長さ 3 1,024
トレーニングデータセット内のレコード 5 10,000
入力イメージサイズ 0 50MB
入力イメージのピクセル単位の高さ 512 4,096
入力イメージのピクセル単位の幅 512 4,096
入力イメージのピクセル総数 0 12,582,912
入力イメージのアスペクト比 1:4 4:1
説明 最小 (ファインチューニング) 最大値 (ファインチューニング)
トレーニングサンプルの文字単位のテキストプロンプトの長さ 0 2,560
トレーニングデータセット内のレコード 1,000 500,000
入力イメージサイズ 0 5 MB
入力イメージのピクセル単位の高さ 128 4096
入力イメージのピクセル単位の幅 128 4096
入力イメージのピクセル総数 0 12,528,912
入力イメージのアスペクト比 1:4 4:1
説明 最小 (ファインチューニング) 最大値 (ファインチューニング)
入力トークン 0 16,000
出力トークン 0 16,000
データセット内のサンプルあたりの文字数クォータ 0 トークンクォータ x 6 (推定)
入力トークンと出力トークンの合計 0 16,000
トレーニングレコードと検証レコードの合計 100 10,000 (Service Quotas を使用して調整可能)

Meta Llama-3.2 11B Vision Instruct および Meta Llama-3.2 90B Vision Instruct でサポートされている画像形式は gifjpegpngwebp です。これらのモデルのファインチューニング中に画像からトークンへの変換を見積もるには、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
説明 最小 (ファインチューニング) 最大値 (ファインチューニング)
入力トークンと出力トークンの合計 0 16000
トレーニングレコードと検証レコードの合計 100 10,000 (Service Quotas を使用して調整可能)
説明 最大値 (ファインチューニング)
入力トークン 4,096
出力トークン 2,048
データセット内のサンプルあたりの文字数クォータ トークンクォータ x 6 (推定)
トレーニングデータセット内のレコード 10,000
検証データセット内のレコード 1,000
説明 最大値 (ファインチューニング)
最小レコード数 32
最大トレーニングレコード数 10,000
最大検証レコード数 1,000
最大合計レコード数 10,000 (Service Quotas を使用して調整可能)
最大トークン数 32,000
最大トレーニングデータセットサイズ 10 GB
最大検証データセットサイズ 1 GB
注記

Amazon Nova モデルのファインチューニングについては、「Amazon Nova モデルのファインチューニング」を参照してください。

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 を使用する場合」を参照してください。Converse API オペレーションの詳細については、「Converse API オペレーションを使用して会話を実行する」を参照してください

形式の例

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

シングルターン会話タスクでは、モデルは以前のコンテキストを考慮せずに、現在のユーザー入力のみに基づいてレスポンスを生成します。各データセットサンプルは、userassistant のロールが交互に変わるメッセージ配列を使用します。

形式

{"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."},]}
注記

Amazon Nova モデルのファインチューニングについては、「Amazon Nova モデルのファインチューニング」を参照してください。

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

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

シングルターンの会話

シングルターンの会話の各 JSON オブジェクトは、ユーザーメッセージとアシスタントメッセージで構成されます。ユーザーメッセージには、user に設定された role フィールドと、入力モダリティを記述する type フィールド (text または image) が指定されている配列を含む content フィールドが含まれます。テキスト入力の場合、content フィールドにはユーザーの質問またはプロンプトが指定された text フィールドが含まれます。画像入力の場合、content フィールドには、画像の format (jpegpng など) とその画像の 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'." }] } ] }
注記

Amazon Nova モデルにはそれぞれ異なるファインチューニング要件があります。これらのモデルをファインチューニングするには、「Amazon Nova モデルのファインチューニング」の手順に従います。

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 のトレーニングファイルや検証ファイルにアクセスし、出力ファイルを書き込むアクセス許可 と同様の IAM ポリシーを追加します。トレーニングデータセットで指定する Amazon S3 パスは、ポリシーで指定するフォルダに存在する必要があります。