Knowledge Bases for Amazon Bedrock
Amazon Bedrockのナレッジベースを使用すると、基盤モデルを自分たちのデータソースに接続して検索拡張生成(Retrieval-Augmented Generation、RAG)を行うことができます。Knowledge Bases for Amazon Bedrockは、re:Invent 2023で一般提供開始となりました。
検索拡張生成(RAG)は、情報検索と自然言語生成を組み合わせた手法です。基盤モデルは世の中の大量のテキストデータを収集して学習がされ汎用的な知識を持っていますが、特定の領域や自社に閉じたプライベートな領域のナレッジは持っていません。
モデルは知らないことでもそれっぽい回答を返してくる(ハルシネーションと呼ばれます)ため、ただ使えないだけでなく誤った情報による混乱を招く可能性もあります。
検索拡張生成(RAG)によって、基盤モデルに特定の領域や自社に閉じたプライベートな領域のデータソースを収集し、それをもとに新しいテキストを生成することで、基盤モデルに新しいナレッジを与えることができます。
自社のナレッジに基づいたテキスト生成をできるようにする方法として、モデル自体を再トレーニング(Fine-Tuning)するアプローチもありますが、モデルの精度を保つために継続的にトレーニングするコスト(コンピューティングリソースや人的リソース)が必要になります。
一方で、検索拡張生成(RAG)は、実行時にモデルが該当のデータソースにアクセスできるようにするだけで、再トレーニングなしですぐに最新のデータに基づいたテキスト生成を可能にできます。
Amazon Bedrockのナレッジベースによる検索拡張生成(RAG)の仕組みは以下の通りです(出典:Preview – Connect Foundation Models to Your Company Data Sources with Agents for Amazon Bedrock)。
Amazon Bedrockはコンソールで、Amazon S3などに格納しているデータソースからナレッジベースを素早く構築することができます。
そして、前述したエージェントにナレッジベースを追加するだけで簡単に検索拡張生成(RAG)を実現することができます。
エージェントはユーザーからの入力に基づいて適切なナレッジベースを特定し、関連情報を取得して、その情報をもとにプロンプトを自動で生成します。
そして、プロンプト入力を基盤モデルに与えることでナレッジベースから取得した情報と合わせて適切な回答を生成します。
また、Amazon Bedrockでは、回答だけを単に返すだけでなく、ナレッジベースから取得したすべての情報に出典(参照したドキュメント名)を記載してくれます。これによって、透明性を向上させ、ハルシネーションを最小限に抑えることが可能になります。