ソートリーダー

将来のアプリケーションを支える大規模言語モデル(LLM)

mm
Unite.AI を Google の優先ソースに追加

生成的なAI、特に言語のフレーバーであるChatGPTはどこにでもあります。大規模言語モデル(LLM)技術は、将来のアプリケーションの開発において重要な役割を果たすことになります。LLMは、トリリオン行のパブリックドメインテキスト、コードなどを用いた広範な事前トレーニングにより、言語を理解することが非常にうまくなっています。監督付きのファインチューニングや人間のフィードバックを用いた強化学習(RLHF)などの方法により、これらのLLMは、特定の質問に答えたり、ユーザーと会話したりすることがさらに効率的に行えるようになります。LLMを用いた次の段階のAIアプリケーションに入るにつれて、以下の主要なコンポーネントが重要になります。以下の図は、この進歩を示しており、チェーンを上に進むにつれて、アプリケーションにさらにインテリジェンスと自律性を構築することができます。以下に、これらのさまざまなレベルを詳しく見ていきましょう。

LLMコール:

これらは、Azure OpenAIやGoogle PaLM、Amazon BedrockなどのLLMプロバイダーによるコンプリーションまたはチャットモデルの直接コールです。これらのコールには、非常に基本的なプロンプトがあり、内部メモリを使用して出力を生成します。

:基本的なモデル「text-davinci」に「ジョークを話して」というコマンドを与える場合、モデルは内部の事前トレーニング済みメモリを使用して回答を生成します(以下の図の緑の部分に示されています。Azure OpenAIを使用)。

プロンプト:

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

埋め込み:

埋め込みは、プロンプトを次のレベルに進めるために、コンテキストを検索するための知識ストアを検索し、コンテキストを取得してプロンプトに追加するものです。最初のステップは、非構造化テキストのドキュメントストアを作成し、テキストをインデックス化してベクトルデータベースを構築することです。これには、OpenAIの「ada」などの埋め込みモデルを使用します。このモデルは、テキストのチャンクをn次元ベクトルに変換します。埋め込みはテキストのコンテキストを捉え、似た文章には似たベクトルが生成されます。ユーザーがクエリを入力すると、クエリも埋め込みに変換され、データベース内のベクトルと照合されます。すると、クエリに最も近いトップ5または10のテキストチャンクがコンテキストとして取得され、LLMにクエリとコンテキストが渡され、人間のような回答を生成します。

チェーン:

現在、チェーンはLLMアプリケーションを構築するために使用されている最も高度で成熟したテクノロジーです。チェーンは、決定的なもので、LLMコールのシーケンスが、1つまたは複数のLLMに流れ込むように結合されています。たとえば、LLMコールを使用してSQLデータベースを照会し、顧客のメールアドレスのリストを取得し、そのリストを別のLLMに渡して顧客にパーソナライズされたメールを生成することができます。これらのLLMチェーンは、既存のアプリケーションフローに統合して、より貴重な成果を生み出すことができます。チェーンを使用すると、LLMコールを外部入力と統合してコンテキストを提供することもできます。さらに、現在、OpenAI、AWS Bedrock、Google PaLM、MosaicMLなどの複数のLLMプロバイダーが利用可能です。したがって、チェーン要素を組み合わせてLLMコールを作成することができます。チェーン要素に制限されたインテリジェンスがある場合は、より低いLLM「gpt3.5-turbo」を使用し、より高度なタスクには「gpt4」を使用することができます。チェーンは、データ、アプリケーション、LLMコールの抽象化を提供します。

エージェント:

エージェントは、特に人工一般知能(AGI)に関して、オンライン上で議論されることが多いトピックです。エージェントは、事前に定義されたチェーンではなく、タスクを計画するために高度なLLM「gpt4」または「PaLM2」を使用します。ユーザーがリクエストを送信すると、エージェントはクエリに基づいて呼び出すタスクのセットを決定し、動的にチェーンを構築します。たとえば、エージェントを「政府規制の更新によりローン金利が変更されたときに顧客に通知する」というコマンドで構成した場合、エージェントフレームワークはLLMコールを使用して、どのステップを呼び出すか、どのチェーンを構築するかを決定します。ここでは、規制ウェブサイトをスクレイピングして最新の金利を抽出するアプリを呼び出し、LLMコールを使用してデータベースを検索して影響を受ける顧客のメールアドレスを抽出します。最後に、通知メールが生成されます。

最終的な考え

LLMは急速に進化しているテクノロジーであり、より優れたモデルやアプリケーションが毎週登場しています。LLMからエージェントへの移行は、インテリジェンスのラダーであり、上に進むにつれて、より複雑な自律アプリケーションを構築します。より優れたモデルは、より効果的なエージェントをもたらし、次世代のアプリケーションはこれらによって動かされます。次世代のアプリケーションの進歩は時間の経過とともに明らかになるでしょうし、どのようなパターンで動かされるかも時間が示してくれることでしょう。

Dattaraj Rao, Persistent Systemsのチーフデータサイエンティストは、書籍「Keras to Kubernetes: The Journey of a Machine Learning Model to Production」の著者です。Persistent Systemsでは、Dattarajは、コンピュータビジョン、自然言語理解、確率プログラミング、強化学習、説明可能なAIなど、最先端のアルゴリズムを探求するAI研究ラボを率いています。また、ヘルスケア、銀行、産業分野での適用可能性を実証しています。Dattarajは、機械学習とコンピュータビジョン分野で11件の特許を持っています。