こんにちは。Kaneyasuです。
2月に発売されたAmazon Bedrock超入門を読んでみました。
書籍を読んでみると、そもそも自分の中で用語の整理ができてないと感じたので、自分用にブログを書きながら整理してみました。
AIモデル=LLM=基盤モデル
AIの実体は機械学習のモデルです。
AIモデルは機械学習のモデルなので、本来は自前で学習をさせねばなりません。
自然言語でやりとりできるよう、膨大な自然言語のデータを学習させているAIモデルは、大規模言語モデル(Large Language Model、略してLLM)と呼ばれます。
基盤モデルとも呼ばれるようです。
一般的に、AIモデルというと事前学習済みの大規模言語モデルを指し、AIモデル=大規模言語モデル(LLM)=基盤モデルを連想するようです。
この書籍の中(というかAWSマネジメントコンソールの中)でも、厳密には使い分けることができてないようで、AIモデル=LLM=基盤モデルと思っていいのではと感じました。
AIプラットフォーム
ChatGPTのGPTの部分は、AIモデルです。
AIモデルは世の中に多数あり、AIモデルを動かす基盤がAIプラットフォームです。
AIプラットフォームは、好きなAIモデルを選択して動かせるようになっています。
3大クラウドのAWS、Azure、GCPにはそれぞれAIプラットフォームのサービスが存在します。
AWS - Amazon Bedrock
Azure - Azure AI
GGP - Google VertexAI
Amazon Bedrockで提供しているAIモデル
Amazon Bedrockで提供されてるAIモデルは以下のものがあります。
先日話題になったClaude3もAIモデルの一つです。
- Amazon Titan
- AI21 Labs/Jurassic-2
- Anthropic/Claude
- Cohere/Command
- Meta/Llama 2
- Stability AI/Stable Diffusion XL
Amazon BedrockとAmazon Kendraの違い
よくセットで語られるAmazon BedrockとAmazon Kendraですが、この2つは扱っている領域が違います。
Amazon Kendoraは機械学習 (ML) を利用した検索サービスで、自然言語で検索可能です。
ドキュメントの在処を指定すると、渡された自然言語から該当するドキュメントを検索します。
また、検索の精度を機械学習で高めることができます。
検索までで、回答そのものを作るサービスではりありません。
Amazon BedrockとAmazon Kendraを組み合わせて使用する場合、
質問の回答になり得そうなドキュメントをAmazon Kendraで探し、
Amazon BedorkがHITしたドキュメントたちから回答を作るという役割分担をします。
ハルシネーションとRAG
ハルシネーションとは、人工知能が学習したデータからは正当化できないはずの回答を堂々とする現象です。
一言で言うと、知ったかで答えてくるということです。
これを軽減する手法がRAG(Retrieval-augmented Generation)です。
RAG は、LLM の既に強力な機能を、モデルを再トレーニングすることなく、特定の分野や組織の内部ナレッジベースに拡張します。LLM のアウトプットを改善するための費用対効果の高いアプローチであるため、さまざまな状況で関連性、正確性、有用性を維持できます。
要はAIモデルを回答を作る時に、ネタ元を提供することで誤回答を防ぐ手法です。
Amazon Bedrockで言うと、「Amazon Kendraの検索結果をネタ元として回答を作成するよう指示する、これにより精度をあげる手法」という感じです。
私はRAGのことは、機能が存在するというより、設計・構築手法と捉えています。
Ragas
Ragasとは、RAG(Retrieval Augmented Generation) Assessmentの略で、RAGを用いた回答を得る仕組みを評価するフレームワーク(手法)です。
機能のことではありません。
LangChain
AIモデルにプロンプト(質問)を投入すると回答が得られます。
ただし、AIモデルではチャットのようなものは用意されていません。
また、AIモデルごとにプロンプトの投げ方、回答の返り方が異なるので開発者はAIモデルごとの差を意識して実装する必要があります。
チャットを実現できるように、やり取りを記録する、やり取りを踏まえて回答する機能。
AIモデルごとの入出力形式の差を吸収するのがLangChainです。
LangChainを通してAIモデルとやり取りすることで、チャット形式に対応したり、AIモデルを変えても対応できたりします。