ユースケースに合ったBedrock基盤モデルを選択します。
→長文コンテキストの推論 + ツール利用 → Claude (Sonnet/Opus)。コスト最適化されたチャット → Claude HaikuまたはTitan Text Lite。コード → ClaudeまたはLlama。埋め込み → Titan Embeddings V2またはCohere Embed。画像生成 → Titan Image、Stable Diffusion、またはNova Canvas。自己ホスト制御が可能なオープンウェイトモデル → Llama、Mistral、またはCustom Model Import。
理由: コスト、レイテンシー、能力、ライセンス条件の全てにおいて最適な単一モデルはありません。モデルの種類をボトルネックに合わせてください。
リファレンス↗
KBのソースが短く、自己完結型のFAQや製品紹介文(それぞれ約100~500語)である。
→デフォルトのトークンサイズ (300) とオーバーラップ (20%) で固定サイズチャンキング。
理由: 自己完結型のユニットは、境界を意識したチャンキングの恩恵を受けません。固定サイズは最もシンプルで安価です。
リファレンス↗
ドキュメントには段落内に自然なトピックの転換があり、固定サイズ分割では文が途中で途切れてしまう。
→セマンティックチャンキング。Bedrock Knowledge Basesは埋め込みが近い連続した文をグループ化し、意味の境界で分割します。
理由: チャンク内の整合性のあるアイデアを保持する → よりクリーンな検索、より高い回答品質。
リファレンス↗
セクション間に相互参照がある長い技術マニュアル。ドキュメント全体からの統合が必要な質問。
→階層型チャンキング。Bedrockは親(大)+子(小)チャンクを作成し、子チャンクの埋め込みで検索し、親コンテキストを返します。
理由: 小さいチャンクは正確な検索を提供し、親コンテキストは相互参照と周囲の詳細を保持します。
リファレンス↗
ソースファイルが事前にチャンク化されているか、各ファイルが意図的に1つの論理ユニットである。
→チャンキング戦略なし。各ファイルがKBの1つのチャンクになります。
リファレンス↗
PDFソースにテキストと図が含まれており、ユーザーは図の理解を必要とする質問をする。
→基盤モデル (Claude/Nova) をパーサーとして使用して、Bedrock KBの高度な解析を有効にします。図と表はビジョンによって記述され、その後埋め込まれます。
理由: デフォルトの解析はテキストのみです。マルチモーダル解析は、視覚コンテンツを埋め込み前に記述テキストに変換します。
リファレンス↗
Titan Embeddings G1とV2のどちらを選択するか。
→V2は設定可能な次元 (256/512/1024) をサポートし、多言語ベンチマークでG1を上回ります。G1は1536に固定されています。ストレージ制約のあるユースケースや非英語のユースケースにはV2を選択し、レガシー互換性のみG1を選択します。
リファレンス↗
50万点の製品カタログ:短いタイトル(50語)+長い仕様(500語)。検索品質とコストを最適化したい。
→各アイテムを一度埋め込み(結合または別々のフィールド)。コストのために次元を減らした (256または512) Titan Embeddings V2を使用し、クエリとドキュメントを同じモデルで埋め込みます。
理由: 埋め込みモデルを混ぜたり正規化をスキップしたりすると、類似性検索が壊れます。低次元化は、わずかな品質の損失でストレージとクエリのコストを削減します。
リファレンス↗
Bedrock Knowledge Bases用のベクターストアを選択します。
→デフォルト/最速のセットアップ → Amazon OpenSearch Serverless (自動管理)。サブミリ秒で頻繁なスキーマ更新 + リレーショナル結合 → pgvectorを備えたAurora PostgreSQL。既存のPinecone / MongoDB Atlas / Redis顧客 → それらを維持。小規模KB (<1万ドキュメント) コスト最適化 → Aurora pgvectorまたはNeptune Analytics。
理由: OpenSearch Serverlessは最も簡単なデフォルトの選択肢です。Aurora pgvectorは、メタデータに対するトランザクションや結合が必要な場合に優れています。
リファレンス↗
KBが意味的に関連するドキュメントを返しますが、それらが古い/間違ったリージョンのバージョンである。
→ソースファイルにメタデータ (`version`, `region`, `effective_date`) を追加し、クエリ時に`retrievalConfiguration.vectorSearchConfiguration.filter`を介してメタデータフィルターを適用します。
理由: 純粋なベクトル類似性は新しさや権威を無視します。メタデータフィルタリングは、ランキング前に候補プールを絞り込みます。
リファレンス↗
RAGが、正確な識別子(SKU、エラーコード、規制番号)を含むクエリを見逃すことがあります。セマンティック検索が類似の意味のテキストを過度に重視するためです。
→KBでハイブリッド検索 (セマンティック + キーワード/BM25) を有効にします。ベクトル類似性と、ID、コード、固有名詞の語彙マッチを組み合わせます。
リファレンス↗
Top-k=5で5つのチャンクが検索されるが、最も関連性の高いものが3番目または4番目にランクされることが多い。
→`numberOfResults`を20に増やし、その後、元のクエリとの関連性に基づいて並べ替えるためにrerankingモデル (Cohere RerankまたはAmazon Rerank) を有効にします。
理由: 埋め込みの類似性 ≠ タスクの関連性。クロスエンコーダーのrerankerはクエリとチャンクを一緒に見て、正確にスコアを付けます。
リファレンス↗
ユーザーの質問が会話形式、複数パート、または代名詞/追跡を含んでおり、KB検索の品質が低下する。
→Bedrock KBのクエリ再定式化を有効にします。モデルは複雑なクエリを、検索前に複数の焦点を絞ったサブクエリに書き換えます。
リファレンス↗
S3ソースドキュメントが頻繁に更新され、KBは手動同期なしで常に最新バージョンを反映する必要がある。
→S3イベント通知 → EventBridge → StartIngestionJob を介した自動同期、またはKBのスケジュールされた同期のためにKBデータソースを設定します。手動コンソールの「Sync」ボタンに頼るのは避けてください。
リファレンス↗
長文QAモデルが、文書の中央にある質問の答えについて幻覚を起こす。
→プロンプトに完全なドキュメントを渡さないでください。RAGを介してチャンク化+検索し、関連するチャンクのみがモデルに到達するようにします。もし完全なドキュメントが必須の場合、強力な長文コンテキスト想起能力を持つモデル (Claude Sonnet 200K) を使用し、ドキュメントの後に質問を配置します。
理由: ほとんどのLLMは「途中で失われる」想起能力の低下を示します。RAGはそれを回避します。RAGが利用できない場合、配置が役立ちます。
品質基準を満たす最も安価なカスタマイズを選択します。
→順に試してください: (1) プロンプトエンジニアリング、(2) KBとRAG、(3) ファインチューニング、(4) 継続的な事前学習、(5) Custom Model Import。基準を満たした時点で停止します。
理由: 各ステップで労力と継続的なコストが増加します。ファインチューニングとProvisioned ThroughputはRAGよりもはるかに高価です。
リファレンス↗
ラベル付けされたタスクの例を使用してBedrockモデルをファインチューニングする。
→S3にJSONLファイルを用意し、1行につき1つの例を記述します:`{"prompt": "...", "completion": "..."}`(またはモデルファミリーのチャット形式の同等物)。
理由: 各モデルファミリー (Titan, Claude, Llama) には特定のスキーマがあります。フォーマットする前にモデルのファインチューニングドキュメントを確認してください。
リファレンス↗
大量のラベルなしドメインテキストを使用して、基盤モデルを専門用語(法律、医療、科学)に適応させる。
→ラベルなしドメインコーパスに対する継続的な事前学習。命令ファインチューニング(プロンプトと完了のペアが必要)とは異なります。
理由: 継続的な事前学習は言語理解を更新し、命令ファインチューニングはタスクの振る舞いを教えます。データ形状と目標が異なります。
リファレンス↗
ファインチューニング用の顧客インタラクションデータに、氏名、メールアドレス、電話番号が含まれている。
→トレーニングデータセットをS3にアップロードする前に、PIIをスクラブまたはトークン化します。一度ウェイトがPIIを吸収すると、出力フィルタリングでは確実にマスクできません。
理由: ファインチューニングされたモデルがトレーニングデータの断片を再現する可能性があります。データ層でのスクラブが唯一の持続的な緩和策です。
リファレンス↗
自己ファインチューニングしたLlamaまたはMistralモデルを持ち込み、Bedrockの統合APIを通じて提供する。
→Custom Model Import。ウェイトをS3にアップロードし、Bedrockに登録し、統合されたIAMとロギングを備えたBedrockランタイムを介して呼び出します。
理由: SageMakerエンドポイントを立てることなく、持ち込みウェイトでBedrock Guardrails、KB、Agentsを再利用できます。
リファレンス↗
ファインチューニングされたBedrockモデルを本番環境で提供する。
→Provisioned Throughputを購入します。カスタムモデル(ファインチューニングされたモデル、継続的に事前学習されたモデル、インポートされたモデル)はオンデマンドで呼び出すことはできません。
リファレンス↗
高トラフィックのClaudeアプリケーションがピーク時にリージョンごとのクォータに達し、Provisioned Throughputを購入せずにスループットを上げる必要がある。
→クロスリージョン推論プロファイル。Bedrockは複数のリージョン間で透過的に呼び出しをルーティングし、実効的なTPM/RPMクォータを向上させます。
理由: 単一リージョンのオンデマンドクォータはスパイク時に上限に達します。クロスリージョンプロファイルは、推論プロファイルのARNを使用する以外のアプリケーションコードの変更なしに、クォータをほぼ倍増させます。
リファレンス↗
us-east-1にデプロイされたBedrockアプリで、APACユーザーがUS/EUユーザーよりも著しく高いレイテンシーを経験している。
→ap-northeast-1 / ap-southeast-1 / ap-south-1 (モデルがGAであるリージョン) にリージョン別Bedrockエンドポイントをデプロイします。Route 53のレイテンシーまたは地理位置情報ポリシーを介してユーザーをルーティングします。
理由: 長文コンテキストではLLMの往復時間が支配的であり、太平洋横断のRTTだけでも150~250msかかります。
リファレンス↗
HIPAA規制下のアプリがBedrockでPHIを要約する必要がある。
→HIPAA対象サービスリストに記載されているHIPAA対象基盤モデルのみを使用します。AWSとBAAを締結します。プロンプト/応答を顧客管理KMSキーで暗号化します。モデル呼び出しロギングを無効にするか、アクセス制限されたプライベートS3バケットにスコープします。
リファレンス↗
機密性(公開/機密/制限)に基づいて、Bedrockに流すことができるデータを決定する。
→公開 → 制限なし。機密 → VPCエンドポイント + CMK + プライベートバケットでの呼び出しロギングのみを介して。制限付き(企業秘密、規制対象PHI/PCI)→ Bedrockから完全にブロックするか、Bedrock対象のコンプライアンス体制を使用し、呼び出し前に編集します。
マルチアカウント組織で、アカウントAがウェイトをコピーすることなく、カスタムBedrockモデルをアカウントBと共有したい。
→AWS RAMを介したカスタムモデル共有。所有者がカスタムモデルARNを共有し、消費アカウントはリソースポリシー上のクロスアカウントIAMプリンシパルで標準のBedrockランタイムを通じてそれを呼び出します。
理由: 冗長なファインチューニングコストを回避し、モデルライフサイクルを一元化します。RAMは、共有リソースを誰が利用できるかを制御します。
リファレンス↗
標準のBedrockカタログにないニッチなサードパーティモデル(例:ヘルスケアに特化したLLM)が必要である。
→Amazon Bedrock Marketplace。Marketplaceカタログからモデルをサブスクライブし、Bedrockエンドポイントにデプロイし、標準のランタイムAPIを介して呼び出します。
理由: サードパーティの請求、IAM、KMS、オブザーバビリティをファーストパーティのBedrockモデルと統一します。
リファレンス↗
高ボリューム検索アプリが、クエリを更新するたびに同じドキュメントを再埋め込みしており、埋め込みコストが支配的である。
→ドキュメント取り込み時に埋め込みを事前に計算し、ドキュメントID + コンテンツハッシュをキーとしてDynamoDBまたはOpenSearchにベクトルを保存します。コンテンツハッシュが変更された場合にのみ再埋め込みします。
理由: 同じテキストを繰り返し埋め込むことは、最も一般的で回避可能なコストです。ハッシュをキーとするキャッシュはO(1)のスキップです。
ファインチューニングされたモデルに対するGDPRの忘れられる権利:ユーザーがトレーニングデータからのPIIの削除を要求する。
→トレーニングコーパスからレコードを削除し、その後、新しいベースモデルをゼロからファインチューニングします。既存のウェイトからデータを確実にスクラブすることはできません。出力フィルタリングでは不十分です。
理由: 一度ウェイトがトレーニングデータを吸収すると、推論時のマスキングは信頼できません。防御可能な方法は、影響を受けるレコードなしでの完全な再トレーニングです。
共有KBが複数のチームにサービスを提供しており、各チームは自社のドキュメントのみを参照できる必要がある。
→取り込み時にすべてのチャンクに`tenant_id` / `team_id` / `clearance`メタデータをタグ付けします。クエリ時に`retrievalConfiguration.vectorSearchConfiguration.filter`を呼び出し元のIAMセッションまたはアプリコンテキストからの許可された値に設定します。
理由: ベクトル類似性はアクセス制御を無視します。メタデータフィルタリングは、共有KBにおけるテナントごとの唯一の耐久性のある分離手段です。
リファレンス↗
EUの顧客は、プロンプトとKBの埋め込みがeu-west-1から決して離れないことを要求している。
→Bedrock + KB + S3ソースバケットをeu-west-1にデプロイします。eu-west-1にスコープされた推論プロファイルARNを介して呼び出しを固定し、`bedrock:*`に対して他のリージョンでのSCP `aws:RequestedRegion` denyを適用します。
リファレンス↗