Amazon Bedrock Knowledge Bases のマルチモーダルを整理する

記事タイトルとURLをコピーする

サーバーワークスの村上です。

AWS re:Invent 2025 (の直前)で、「Bedrock ナレッジベースのマルチモーダル検索の一般提供を開始」というアップデートがありました。

aws.amazon.com

このブログでは、ナレッジベースのマルチモーダルって今までにもなかった?という方のために、パース戦略や埋め込みモデルを整理したいと思います。

結論

まずは3行要約です。

  • 新しい埋め込みモデルであるNova Multimodal Embeddingsが登場し、画像などのデータを直接埋め込み(ベクトル化)できるようになった
  • ただし、クエリに画像などを入力して検索できるのはデフォルトのパーサーを使用している場合のみである
  • Nova Multimodal Embeddings は、3072、1024、384、256次元への埋め込みが可能であり、通常のテキスト埋め込みにも有用である

1枚絵にするとこんな感じです。

また、下記の公式ドキュメントも非常によくまとまっておりおすすめです。

docs.aws.amazon.com

公式ドキュメントの抜粋。機械翻訳のため公式ドキュメントの情報を正とします

私なりに整理した表がこちらです。

検索対象データの形式 ① デフォルトパーサー+Nova Multimodal Embeddings ② Amazon Bedrock Data Automation(BDA)+Nova Multimodal Embeddings ③ FM as parser+Nova Multimodal Embeddings
テキスト
画像 画像のまま埋め込み(テキストに変換しない) BDAがOCR/説明文を生成しテキスト化→埋め込み 基盤モデルを使ってテキストにパース→埋め込み
音声 埋め込みはされるが、音声情報を検索できないため非推奨 音声認識で文字おこし→埋め込み(推奨) 音声/動画はFM parserの対象外
動画 埋め込みはされるが、視覚情報のみ検索可能なため限定的 視覚情報のテキスト化+音声文字おこし→埋め込み(推奨) 音声/動画はFM parser対象外
総評 画像ネイティブ埋め込みが必要な場合はこれを選択 最も汎用性が高い。音声/動画の検索はこれを選択 複雑な表をもつPDFに向く。カスタムしたプロンプトを使って生成AIでパースしたい場合はこれを選択

前提(パース処理と埋め込みとは)

  • パース処理:データを“検索しやすい形”に整形すること
    • OCRや画像の説明文生成、音声の文字おこし など
  • 埋め込み処理:パース処理したデータを検索可能なベクトルに変換すること

ナレッジベースでNova Multimodal Embeddingsを使う場合の制約(2025年12月時点)

  • データソースはAmazon S3が前提
  • リージョンはus-east-1のみ
  • 検索して回答を生成するRetrieveAndGenerateはテキストコンテンツのみに制限(後述)

パース処理の整理

あらためて、ナレッジベースで選択できるパース処理について整理します

パース処理 説明 備考
デフォルトのパーサー テキストファイル内のテキストのみを解析 Nova Multimodal Embeddingsを使って、データソースの画像を埋め込みたい場合はこれを選択する※
Amazon Bedrock Data Automation(以下、BDA) 画像/音声/動画などを 検索可能なテキスト表現に変換 音声や動画を検索したい場合はこれを選択する
Foundation model as parser PDF/画像/表などの資格情報が豊富なドキュメント向けに、基盤モデルを使ってパースする プロンプトをカスタマイズしたい場合はこれを選択する

※デフォルトのパーサーの利用シーン

今回のブログで一番言いたいことですが、画像を埋め込みたい場合はデフォルトのパーサーを利用しましょう(上表の※に記載した内容です)。

もう一度、冒頭の絵を載せます。

パース処理の後に埋め込み処理が実行される

パース処理にBDAやFoundation model as parserを選択してしまうと、データソースの画像がテキストの説明文にパースされ、そのテキストが埋め込まれてしまいます。

このことは公式ドキュメントにも記載されており、見落としてしまいそうなので注意が必要です。

Bedrock のデフォルトパーサー:テキストのみの解析に推奨されます。このパーサーはマルチモーダルコンテンツを無視し、マルチモーダル埋め込みモデルでよく使用されます
Adding data sources and starting ingestion - Amazon Bedrock

では、データソースに画像があればデフォルトのパーサー + Nova Multimodal Embeddingsなのかというと、そこまで単純ではなく、画像として埋め込む / 画像の説明文を埋め込む のどちらがユースケース上、検索性能が良いか確認していただくのが良いかと考えます。

検索して回答を生成するRetrieveAndGenerateはテキストコンテンツのみに制限

制約に記載した本記載について検証してみました。

データソースに以下の写真を保存し、検索+回答生成(RetrieveAndGenerate)してみます。

デフォルトのパーサー + Nova Multimodal Embeddingsの場合

Unable to generate response as the retrieved content contains non-text data.という、テキストではない画像データがあるため回答生成できない旨のエラーが出ます。

RetrieveAndGenerateするとエラーが出る

ちなみに検索だけなら正常に処理されます。

BDA + Nova Multimodal Embeddingsの場合

パーサーにBDAを選択した場合、上述のとおり画像はテキストの説明文にパースされた後、(画像ではなく)テキストとして埋め込まれるため、制約には該当せずRetrieveAndGenerateすることができます。

パーサーにBDAを選択した場合はRetrieveAndGenerateできる

ソースチャンクに画像が表示されているのは、re:Invent 2024でひっそりとアップデートされたマルチモーダル検索の機能で、「画像を説明したテキスト」が検索でヒットした場合、元の画像をLLMに入力してくれるというものです(冒頭の絵と下記ブログをご参照ください)

blog.serverworks.co.jp

ちなみに、今回は雪原の風景が2番目にヒットしていますね。BDAをパーサーに選択し、雪原の画像が以下のようなテキストに変換されたため、検索性能に影響しているのかもしれません。

この画像は雪の降る屋外風景で、数人がウィンタースポーツを楽しんでいます。手前には子供が雪の中に立ち、街灯に掴まっています。その背後にはスノーボードを携えた数人の人物がおり、スノーボードの準備中か帰路につくところと思われます。背景には黄色い外壁と黒い屋根の大きな建物が映っており、スキーロッジかリゾート施設でしょう。雪に覆われた背の高い木々も数本あり、空は曇っています。活気にあふれた様子から、人気のウィンタースポーツ施設であることが伺えます。

Nova Multimodal Embeddings のテキスト埋め込み性能はどうなのか

ここまで読んでいただいて、「制約もあるしNova Multimodal Embeddingsあまり使えない」と思った方もいるかもしれません。

このブログで2番目に言いたいことなのですが、Nova Multimodal Embeddingsはテキストの埋め込み性能も良いのです。

これまでポピュラーだった、Amazon Titan Embedding Text v2 はテキストを1024次元のベクトルに変換するものでしたが、Nova Multimodal Embeddingsは3072次元になっています。

これによりテキストを表現豊かにベクトルに変換できるようになっています。

aws.amazon.com

Nova Multimodal Embeddings は、3,072、1,024、384、256 の 4 つの出力ディメンションオプションを提供します。ディメンションが大きいほど詳細な表現が得られますが、より多くのストレージと計算が必要になります。ディメンションが小さいほど、検索パフォーマンスとリソース効率の実用的なバランスを実現できます。この柔軟性は、特定のアプリケーションとコスト要件に合わせて最適化するのに役立ちます。

これを見ると、新たにRAGを作る場合はNova Multimodal Embeddingsを選択したくなるのではないでしょうか?

以上となります。

村上博哉 (執筆記事の一覧)

2020年4月入社。機械学習が好きです。