AWS Certified Generative AI Developer - Professional 資格対策コース
Amazon Titan Embeddings と埋め込みソリューションの選定
このレッスンで学ぶこと 対応試験ドメイン D1 タスク 1.5.2(埋め込みソリューションの選定)。Amazon Titan Embeddings をはじめとする Amazon Bedrock の埋め込みモデルを、次元数・モダリティ・コスト・整合性の観点で選定する判断軸を身につけます。
解説
RAG の検索品質は、テキストをベクトルに変換する埋め込みモデルで大きく変わります。資格試験では、どの埋め込みモデルをどの基準で選ぶかが問われます。
Amazon Titan Embeddings
Amazon Titan Embeddings は Amazon Bedrock で提供される埋め込みモデルです。代表的に次のものがあります。
| モデル | 特徴 |
|---|---|
| Amazon Titan Text Embeddings | テキストをベクトル化。次元数を選べる構成あり |
| Amazon Titan Multimodal Embeddings | テキストと画像を同一ベクトル空間に埋め込み、画像とテキストの相互検索が可能 |
テキスト検索だけなら Text Embeddings、「画像でテキストを検索」「テキストで画像を検索」のような相互検索が要るなら Multimodal Embeddings を選びます。Cohere などサードパーティの埋め込みモデルも Bedrock 上で利用できます。
埋め込みソリューション選定の判断軸
埋め込みモデルは次の観点で選びます。
プレーンテキスト
埋め込み選定の判断軸
- モダリティ: テキストのみか、画像も同一空間に埋めるか
- 次元数: 次元が大きいほど表現力が上がるが、保存量と検索コストが増える
- 言語対応: 多言語要件を満たすか
- コスト: 埋め込み生成のトークン単価と保存量
- 整合性: 取り込み時と検索時で同じモデル・同じ次元を使うこと整合性の鉄則
最も重要な落とし穴は、取り込み時の埋め込みモデルと検索時の埋め込みモデルを必ず一致させることです。違うモデルや違う次元で埋めたベクトルを混ぜると、検索が破綻します。モデルを変更したら、既存ベクトルを作り直して再取り込みする必要があります。
Python
import boto3, json
bedrock = boto3.client("bedrock-runtime")
# Titan Text Embeddings でテキストをベクトル化(取り込みと検索で同一モデルを使う)
resp = bedrock.invoke_model(
modelId="amazon.titan-embed-text-v2:0",
body=json.dumps({"inputText": "退職金の規定について", "dimensions": 512}),
)
vec = json.loads(resp["body"].read())["embedding"]
print(len(vec)) # 512試験で問われるポイント
- 埋め込みモデル(Titan Embeddings)と生成モデル(Claude や Nova などのテキスト生成 FM)は役割が違う。テキストをベクトル化するのは埋め込みモデル、回答を生成するのは生成モデル。RAG では両方を使うが選定軸は別
- 「画像とテキストを同一空間で相互検索したい」と来たら Amazon Titan Multimodal Embeddings。テキスト専用の Text Embeddings では満たせない
- 取り込みと検索で同じ埋め込みモデル・同じ次元を使うのが鉄則。モデル変更時は再埋め込みが必要。次元数の不一致やモデル混在はひっかけ論点
- 試験で問われるのは AWS のどの埋め込みモデルをどの基準で選ぶかである
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| テキストをベクトル化 | Amazon Titan Text Embeddings | テキスト生成 FM(回答生成が役割で埋め込みではない) |
| 画像とテキストを同一空間で相互検索 | Amazon Titan Multimodal Embeddings | Titan Text Embeddings(テキスト専用) |
| 回答文を生成 | テキスト生成 FM(Claude / Nova 等) | 埋め込みモデル(ベクトル化が役割) |
まとめ
埋め込みソリューション選定は、モダリティ・次元数・言語・コストの軸で Amazon Titan Embeddings などを選び、取り込みと検索で同一モデル・同一次元を厳守することが核心です。埋め込みモデルと生成モデルの役割の違い、Multimodal の使いどころが試験で問われます。
次のステップ
次のクイズレッスンで、本番形式のシナリオ問題に挑戦して埋め込みソリューション選定の判断力を確認しましょう。
関連レッスン
- ベクトルストア設計とメタデータ・同期(pro-vector-store-design)
- チャンキング・ハイブリッド検索・リランキング(pro-retrieval-hybrid)
- Amazon Bedrock の基盤モデル選定(pro-fm-selection)