LLMオーケストレーションとは

テーブルに座って勉強している男性。

共同執筆者

Vanna Winland

AI Advocate & Technology Writer

Joshua Noble

Data Scientist

LLMオーケストレーションは、大規模言語モデル(LLM)のプロンプト、チェーン、管理、監視に役立ちます。LLMオーケストレーションはオーケストレーション・フレームワークによって駆動されます。これらのフレームワークは、LLM駆動型アプリケーションの構築と管理を効率化する包括的なツールです。

LLMOpsは、自然言語生成、機械翻訳、意思決定、チャットボットなど、幅広いアプリケーションでオーケストレーションを使用します。組織が人工知能を採用してこのような種類の生成AIアプリケーションを構築する際には、効率的なLLMオーケストレーションが重要になります。

LLMの基盤モデルは強力ですが、LLMだけで達成できることには限界があります。例えば、LLMにはリアルタイムで新しい情報を保持または学習する能力がなく、コンテキストから保持できる内容が限られているため、複数ステップの問題を完了するのに苦労します。1 さらに、さまざまなLLMプロバイダーのアプリケーション・プログラミング・インターフェース(API)を扱う中で、多数のLLMを調整することはすぐに複雑になる可能性があります。

LLMオーケストレーション・フレームワークは、プロンプト・エンジニアリング、API対話、データ取得、言語モデルとの対話全体の状態管理を統合する複雑なプロセスを簡素化することで、これらの限界を補います。2

新しいLLMオーケストレーション・フレームワークが日々開発され、人気が高まっています。一部のLLMオーケストレーションは構成またはデータベース・フレームワークとして特化していますが、他のオーケストレーションはAIエージェントを使用して共同作業を行い、タスクや目標を達成します。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

LLMオーケストレーション・フレームワークの仕組み

LLMオーケストレーション・フレームワークがどのように機能するかを理解するには、LLM駆動型アプリケーションのアーキテクチャー内でオーケストレーションがどこに位置しているかを理解することが役立ちます。

オーケストレーション層

オーケストレーション層は、LLMアプリケーション・スタックのバックボーンです。オーケストレーターは、アプリケーション・アーキテクチャーの他の層間の相互作用を管理することで、一貫したワークフローを作成します。3音楽オーケストレーターと同様に、LLMオーケストレーターは、アプリケーションの構成に基づいて各技術コンポーネントのワークフローを委任および管理します。

これらのコンポーネントには、LLM、プロンプト・テンプレート、ベクター・データベース、エージェント間の相互作用が含まれます。オーケストレーションは、さまざまなアプリケーションや環境内でLLMのライフサイクルを効果的に管理するためのツールとメカニズムを提供することで、生成AIアプリケーションの各コンポーネントが連携して動作することを保証します。

オーケストレーション・タスク

オーケストレーション・フレームワークは、プロンプトの連鎖、外部APIとのインターフェース、ベクター・データベースからのコンテキストの取得、複数のLLMインタラクションにわたるメモリーの管理などの複雑なタスクを簡素化します。LLMオーケストレーションで一般的に使用される運用タスクの概要は次のとおりです。

プロンプト・チェーン管理

プロンプト・エンジニアリング とは、生成AIツールが最適化された出力を生成するようにLLM入力(プロンプト)を構造化する手法です。オーケストレーション・フレームワークは、指示、いくつかの例、特定のコンテキスト、およびタスクに適した質問を含むプロンプト・テンプレートを提供します。5

チェーニングとは、複数のLLMを接続してその出力を組み合わせ、より微妙な結果を得るための呼び出しシーケンス(プロンプト・チェーニングとも呼ばれます)、ツール、またはデータの前処理を指します。6

オーケストレーション層は、プロンプト・データを簡単に検索および取得できるナレッジ・ベースまたはライブラリー内にプロンプトを保存することで、これらのプロンプト・タスクを管理します。オーケストレーターは、リアルタイムの入力、コンテキスト、またはユーザーの設定に基づいて、ライブラリーからプロンプトを動的に選択できます。さらに、プロンプトを論理的な順序で並べることで、対話のフローを管理できます。

LLMには、継続的に学習する本来の能力が欠けており、コンテキストの理解には限界があります。プロンプトを管理することで、オーケストレーターは応答を評価して出力を調整できます。

LLMは自分自身で事実確認を行うこともできず、管理が不十分だとハルシネーションを引き起こします。オーケストレーターは、応答を事実確認し、カスタム・ガイドラインに準拠していることを確認できます。応答が不十分な場合、オーケストレーターは人間によるレビューのためにフラグを立てたり、代替案を提案したりして、LLMが効果的に学習して改善できるようにします。7

LLMのリソースとパフォーマンスの管理

ほとんどのLLMオーケストレーション・フレームワークには、運用監視用の何らかの形式のLLMOpsが含まれています。これらの機能には、LLMベンチマーク テストに基づくパフォーマンス・メトリックの収集が含まれます。これらのメトリックはダッシュボードを介して観察でき、ユーザーはLLMパフォーマンス・メトリクスをリアルタイムで把握できます。

その他のLLMOpsリソースには、根本原因分析(RCA)用の診断ツールが含まれており、デバッグにかかる時間を短縮します。

データ管理と前処理

オーケストレーターは、適切なコネクタまたは API を使用して、識別されたソースからのデータ・アクセスと取得を容易にします。前処理とは、複数のソースからの「生の」データをLLMに適した形式に変換することを指します。データ・コレクションが大きくなるほど、それを分析するデータ・メカニズムはより高度でなければなりません。前処理により、データが各データマイニングアルゴリズムによって課される要件に適合することが保証されます。8オーケストレーターは、データを調整および改良して価値を高めることで、前処理を容易にすることができます。

LLMの統合と相互作用

オーケストレーターは、割り当てられたタスクを実行するためにLLMを起動します。処理が完了すると、オーケストレーターはモデル出力を受け取り、フィードバック・メカニズムを統合して全体的な品質を評価し、適切なデスティネーションに配信します。

オーケストレーターには、LLM出力とインタラクションを改善し、コンテキストの理解を提供する知識ベースとして機能するメモリー・ストアが含まれています。オーケストレーターは、以前のメッセージや入力を処理して保存することで、過去のやり取りに基づいてより正確な応答を提供する長期的な知識を蓄積します。9

オーケストレーターは、LLMの可観測性機能とガードレール・フレームワークの導入を促進する責任を負います。LLMOpsの観点から見ると、これらの機能なしで実行されるLLMは、誤った結果を出力したり、高度に調整されていないLLMの限られた機能に基づいてセキュリティー上のリスクを冒したりするなどのリスクがあります。

AI Academy

基盤モデルがAIのパラダイム・シフトとなる理由

新たな収入源の獲得、コスト削減、生産性の向上を実現する、柔軟で再利用可能な新しいAIモデルについて学びます。その後、ガイドブックを使ってさらに理解を深めてください。

LLMオーケストレーションのメリット

LLMオーケストレーション・フレームワークは、LLMのインタラクションとワークフローを合理化してLLMOpsを強化するために必要な管理と最適化を提供します。

  • 拡張性:需要に応じてスケールアップまたはスケールダウンできるようにすることで、リソースを最適に活用します。
  • リソース管理:フレームワークは、ワークロードに基づいてリソースを動的に割り当てることで、CPU、GPU、メモリー、ストレージなどのリソースを管理します。
  • ワークフロー自動化:データの前処理、モデルのトレーニング、推論、後処理など、LLMに伴う複雑なワークフローを自動化できます。運用を合理化することで手作業の労力が減り、開発者の負担が軽減され、全体的な効率が向上します。
  • 負荷分散:フレームワークは、複数のLLMインスタンスにリクエストを分散することで、特定のインスタンスの過負荷を防ぎ、システム全体の信頼性を向上させ、応答時間を短縮させます。
  • フォールト・トレランス:ほとんどのフレームワークには、LLMインスタンスの障害を検出し、トラフィックを正常なインスタンスに自動的にリダイレクトして、ダウンタイムを最小限に抑え、サービスの可用性を維持するメカニズムが含まれています。
  • バージョン管理と更新: さまざまなバージョンのLLMを管理し、配布せずに更新を実行します。
  • コスト効率:効果的なオーケストレーションにより、需要に応じてリソースを動的に割り当てることでコストを最適化できます。
  • セキュリティーとコンプライアンス:LLMインスタンス全体の集中制御と監視により、規制基準への準拠が保証されます。
  • 他のサービスとの統合:データ・ストレージ、ログ記録、監視、分析などの他のサービスとの統合をサポートすることで、まとまりのあるエコシステムを促進します。
  • 技術的な障壁が低い:既存のチームで導入できるため、AIの専門家は必要ありません。使いやすさを考慮して、ツールはフレームワーク上に構築されています。例えば、LangFlowはLangChainのグラフィカル UI(GUI)です。10

適切なLLMオーケストレーション・フレームワークの選択

アプリケーション開発者は、新しいソリューションを採用するか、独自のソリューションをゼロから構築するかを選択できます。適切なLLMオーケストレーション・フレームワークを選択するには、慎重な計画と戦略が必要です。

LLMオーケストレーション・フレームワークを選択する前に考慮すべき事項:

ユーザビリティー

フレームワークのAPIドキュメントを確認し、それが役に立ち、開発者が簡単に開始できるものであることを確認します。また、フレームワークのコミュニティー・リソースをチェックして、提供されるトラブルシューティング・サポートの種類を決定してください。

コストに関する考慮事項

さまざまなフレームワークを採用した場合のコストの影響を評価します。多くのLLMオーケストレーション・フレームワークは、有料のエンタープライズ・オプションを備えたオープンソースです。価格モデルが初期投資だけでなく、ライセンス、アップデート、サポートなどの継続的な費用にも対応していることを確認します。コスト効率の高いフレームワークは、価格と提供される機能のバランスを実現します。

セキュリティーに関する考慮事項

適切なLLMを選択するときは、データ・セキュリティーを提供し、データを保護し、関連するプライバシー規制に準拠するのに役立つ暗号化、アクセス制御、監査ログなどのセキュリティー機能を確認してください。

パフォーマンス監視および管理ツール

監視および管理ツールについてお問い合わせください。これらのツールには、応答時間、精度、リソース使用率などのメトリクスを追跡する機能が含まれます。

LLMオーケストレーション・フレームワーク

ここでは、既知および新規のオーケストレーション・フレームワークをいくつか紹介します。

IBM watsonx Orchestrate™

IBM watsonx Orchestrateは、自然言語処理(NLP)を使用して、幅広い機械学習スキルにアクセスします。IBMのフレームワークは、AIアシスタント・ビルダーやスキル・スタジオなど、数千種類もの事前構築されたアプリケーションとスキルで構成されています。

ユースケースには、新入社員のオンボーディングとサポートに必要なツールをチームに提供して人事部門を支援したり、調達チームと販売チームを強化したりすることが含まれます。

LangChain

LLMアプリケーションを構築するためのオープンソースのPythonベースのフレームワーク。LangChainは、埋め込みモデル、LLM、ベクター・ストア、リトリーバーなどのコアLLMアプリケーション・コンポーネントとの柔軟なインターフェースを提供する複数のオープンソース・ライブラリーで構成されています。11

LangChainの一般的なエンドツーエンドのユースケースには、SQLデータベース上のQ&Aチェーンとエージェント、チャットボット、抽出、クエリー分析、要約、エージェント・シミュレーション、自律エージェントなどがあります。12

AutoGen

Microsoftのオープンソース・マルチエージェント対話フレームワークは、基盤モデルの高レベルの抽象化を提供します。AutoGenはエージェント・フレームワークで、複数のエージェントを使用して対話しながら、タスクを解決します。その主な機能には、柔軟なパターンでマルチエージェント対話を行い、幅広いLLMアプリケーションを構築するカスタマイズ可能なAI エージェントが含まれます。13

LLM駆動型アプリにおけるAutoGenの導入には、数学指導チャットボット、対話型チェス、意思決定、動的グループチャット、マルチエージェント・コーディングなどがあります。14AutoGenは、AgentOpsを通じてデバッグ用の監視および再生分析を提供します。15

LlamaIndex

LlamaIndexは、コンテキスト拡張LLMアプリケーションを構築するためのツールを提供します。これらには、160を超えるソースと形式からのデータを処理するデータ・コネクタなどのデータ統合ツールが含まれます。16LlamaIndexには、LLMアプリケーションのパフォーマンスを評価するためのモジュール・スイートも含まれています。

LlamaIndexの一般的なユースケースには、Q&Aアプリケーション(RAG:Retrieval-Augmented-Generation)、チャットボット、ドキュメント理解とデータ抽出、パフォーマンス向上のためのデータ・モデルのファイン・チューニングなどがあります。17

Haystack

Haystackは、カスタマイズされたエンドツーエンドのAIシステムを構築するための2つの主要な概念(コンポーネントとパイプライン)に基づいて構築されたオープンソースのPythonフレームワークです。Haystackは、多くのLLMプロバイダー、ベクター・データベース、AIツールと提携しており、その上に構築するツールは包括的かつ柔軟になっています。18

haystackが提供する一般的なユースケースには、セマンティック検索システム、情報抽出、FAQスタイルの質問回答などがあります。19

crewAI

crewAIは、LangChain上に構築されたオープンソースのマルチエージェント・フレームワークです。ロールプレイング型の自律AIエージェントがクルーに編成され、LLMアプリケーション関連のワークフローとタスクを完了します。20crewAIは、crewAI+と呼ばれるエンタープライズ・バージョンを提供しています。

初心者とより技術的なユーザーの両方を対象としたアプリケーションには、ランディング・ページの生成、在庫分析、接続などがあります。crewAIはAgentOpsを使用してエージェントの監視とメトリクスを提供します。21

LLMオーケストレーションの未来

LLMオーケストレーション・フレームワークは、生成AIアプリケーションの進化に伴い成熟を続け、より多くの人工知能ソリューションのためにLLMOpsワークフローを合理化します。

オーケストレーション・フレームワークは、LLMアプリケーションがモデルを最大限に活用するために必要なツールと構造を提供します。将来のフレームワークでは、AIエージェントとマルチエージェント・システムを使用して、インテリジェントな自動化を促進する可能性があります。

新たなオーケストレーション・フレームワークのパターンは、機能を実行可能にするための統合が可能なマルチエージェント・システムなどのより複雑なアーキテクチャーを構築することで、エージェントに自律的なワークフローを実現するために必要なスキルが与えられることを示唆しています。

オーケストレーション・プラットフォームでは、使いやすさも優先事項になりつつあります。市場が成熟するにつれて、ユーザー・エクスペリエンスに重点を置いたツールがさらに開発されるでしょう。このアプローチにより、これらのフレームワークを使用する際の技術的な障壁も低くなります。IBM watsonx Orchestrateなどの一部のオーケストレーション・フレームワークでは、シンプルなエンゲージメントと使いやすさを実現するために自然言語インターフェースを活用しています。

LLMオーケストレーションの管理は複雑なタスクですが、オーケストレーションはLLM駆動型ワークフローの拡張と自動化の鍵となります。

関連ソリューション
基盤モデル

watsonxプラットフォームにある基盤モデルのIBMライブラリーを探索し、ビジネスに合わせて自信を持って生成AIを拡張します。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

ビジネスに合わせて生成AIを確実に拡張できるように、IBM watsonxプラットフォームにあるIBMライブラリーの基盤モデルの詳細を学びましょう。

watsonx.aiの詳細はこちら AIソリューションはこちら
脚注

1 Andrei Kucharavy、「Fundamental Limitations of Generative LLMS」、SpringerLink、1970年1月1日、 https://link.springer.com/chapter/10.1007/978-3-031-54827-7_5

2 Anna Vyshnevska、「LLM Orchestration for Competitive Business Advantage: Tools & Frameworks」、Master of Code Globa社、2024年6月26日。 https://masterofcode.com/blog/llm-orchestration

3 Matt Bornstein、Rajko Radovanovic、「Emerging Architectures for LLM Applications」、Andreessen Horowitz社、2024年5月8日。 https://a16z.com/emerging-architectures-for-llm-applications/

4 Vyshnevska、「LLM Orchestration for Competitive Business」。 

5 「Quick Reference」、LangChain、 https://python.langchain.com/v0.1/docs/modules/model_io/prompts/quick_start/

6 「Chains」、LangChain、 https://python.langchain.com/v0.1/docs/modules/chains/

7 Manish、「Compounding GenAI Success」。

8 Salvador Garciaら、「Big Data Preprocessing: Methods and Prospects - Big Data Analytics」、SpringerLink、2016年11月1日、 https://link.springer.com/article/10.1186/s41044-016-0014-0

9 Manish、「Compounding GenAI Success」。

10 「Create Your AI App!」、Langflow、 https://www.langflow.org/

11 「Conceptual Guide」、LangChain、 https://python.langchain.com/v0.2/docs/concepts/

12 「Use Cases」、LangChain、 https://js.langchain.com/v0.1/docs/use_cases/

13 「Getting Started: Autogen」、AutoGen RSS、 https://microsoft.github.io/autogen/docs/Getting-Started/

14 「Multi-Agent Conversation Framework: Autogen」、AutoGen RSS、 https://microsoft.github.io/autogen/docs/Use-Cases/agent_chat/#diverse-applications-implemented-with-autogen

15 「AgentOps」、AgentOps、 https://www.agentops.ai/?=autogen

16 「Loading Data(Ingestion)」、LlamaIndex、 https://docs.llamaindex.ai/en/stable/understanding/loading/loading/

17 「Use Cases」、LangChain、 https://js.langchain.com/v0.1/docs/use_cases/

18 「What Is Haystack?」、Haystack、 https://haystack.deepset.ai/overview/intro

19 「Use Cases」、Haystack、 https://haystack.deepset.ai/overview/use-cases

20 「Ai Agents Forreal Use Cases」、crewAI社、 https://www.crewai.com/

21 「Agent Monitoring with AgentOps」、crewAI社、 https://docs.crewai.com/introduction#agentops