ソートリーダー
将来のアプリを支える大規模言語モデル(LLM)

生成的なAI、特に言語を扱うもの – ChatGPTは至る所に存在しています。大規模言語モデル(LLM)技術は、将来のアプリケーションの開発において重要な役割を果たすことになります。LLMは、基礎モデルに対して行われた大量の前処理と、コードを含む数十億行のパブリックドメインテキストによって、言語を理解する能力が非常に高いです。教師ありのファインチューニングや人間のフィードバックを使用した強化学習(RLHF)などの方法により、これらのLLMは、特定の質問に答えたり、ユーザーと会話したりする能力がさらに高まります。LLMによって動かされる次のAIアプリの段階に入ると、以下の重要なコンポーネントが、これらの次世代アプリケーションに不可欠となるでしょう。以下の図は、この進化を示しており、チェーンを上に進むにつれて、アプリケーションに知能と自律性が増していきます。これらのさまざまなレベルを見ていきましょう。

LLMコール:
これらは、Azure OpenAIやGoogle PaLM、Amazon BedrockなどのLLMプロバイダーによる、直接のコンプリーションまたはチャットモデルのコールです。これらのコールには非常に基本的なプロンプトがあり、ほとんどがLLMの内部メモリを使用して出力を生成します。
例: 基本的なモデル「text-davinci」に「ジョークを話して」というように、非常に少ないコンテキストでモデルに頼り、内部の事前トレーニング済みメモリから答えを出します(以下の図の緑の部分 – Azure OpenAIを使用)。

プロンプト:
次のレベルの知能は、プロンプトにさらに多くのコンテキストを追加することです。LLMに適用できるプロンプトエンジニアリングのテクニックがあり、カスタマイズされたレスポンスを得ることができます。たとえば、ユーザーにメールを生成する場合、ユーザーの過去の購入や行動パターンに関するコンテキストをプロンプトとして使用して、メールをよりカスタマイズすることができます。ChatGPTに慣れたユーザーは、例を示すなどのプロンプト方法を使用して、LLMがレスポンスを構築する方法を知っているでしょう。プロンプトは、LLMの内部メモリに追加のコンテキストを付加します。以下は例です。

埋め込み:
埋め込みは、プロンプトを次のレベルに引き上げるもので、コンテキストを検索するためのノウハウストアを検索して、そのコンテキストを取得し、プロンプトに追加します。ここで、最初のステップは、テキストをインデックス化してベクトルデータベースを構築することによって、大量のドキュメントストアを、構造化されていないテキストで検索可能にすることです。これには、OpenAIの「ada」などの埋め込みモデルが使用され、テキストのチャンクをn次元ベクトルに変換します。これらの埋め込みは、テキストのコンテキストを捉え、似たような文章はベクトル空間で近い埋め込みを持つことになります。ユーザーがクエリを入力すると、そのクエリも埋め込みに変換され、データベース内のベクトルと照合されます。したがって、クエリに最も一致するトップ5または10のテキストチャンクがコンテキストとして得られ、LLMにクエリを人間のように答えるために渡されます。
チェーン:
今日、チェーンは、LLMアプリケーションを構築するために広く使用されている最も高度で成熟したテクノロジーです。チェーンは、決定論的であり、LLMコールのシーケンスが結合されており、1つのLLMの出力が1つ以上のLLMに流れ込むことができます。たとえば、SQLデータベースを照会して顧客のメールアドレスのリストを取得し、そのリストを別のLLMに渡して、顧客にパーソナライズされたメールを生成することができます。これらのLLMチェーンは、より貴重な成果を生成するために既存のアプリケーションフローに統合できます。チェーンを使用して、APIコールやノウハウグラフとの統合などの外部入力をLLMコールに追加して、コンテキストを提供することができます。また、現在、OpenAI、AWS Bedrock、Google PaLM、MosaicMLなどの複数のLLMプロバイダーが利用可能であるため、LLMコールをチェーンに組み合わせることができます。チェーン要素に制限された知能がある場合、より低いLLMである「gpt3.5-turbo」が使用される可能性がありますが、より高度なタスクの場合は「gpt4」が使用される可能性があります。チェーンは、データ、アプリケーション、LLMコールに対して抽象化を提供します。
エージェント:
エージェントは、特に人工一般知能(AGI)に関して、多くのオンラインデバイトのトピックです。エージェントは、事前に定義されたチェーンではなく、タスクを計画するために高度なLLMである「gpt4」または「PaLM2」を使用します。したがって、ユーザーのリクエストがある場合、エージェントはクエリに基づいて、呼び出すタスクのセットを決定し、動的にチェーンを構築します。たとえば、「政府規制の更新によりローンのAPRが変更されたときに顧客に通知する」というコマンドでエージェントを構成した場合、エージェントフレームワークは、ステップを決定したり、チェーンを構築したりするために、LLMコールを行います。ここでは、規制ウェブサイトをスクレイピングして最新のAPRレートを抽出するアプリを呼び出し、次にLLMコールがデータベースを検索して影響を受ける顧客のメールアドレスを抽出し、最後に通知メールを生成します。
最終的な考え
LLMは、急速に進化しているテクノロジーであり、より優れたモデルとアプリケーションが毎週発売されています。LLMからエージェントへの道は、知能の階段であり、上に進むにつれて、複雑で自律的なアプリケーションを構築します。より優れたモデルは、より効果的なエージェントを意味し、次世代のアプリケーションはこれらによって動かされることになります。時間が経つにつれて、次世代のアプリケーションがどれほど高度になるか、どのようなパターンで動かされるかが明らかになるでしょう。










