本文へ移動
CoMLRL

translategemma:4b による自動翻訳 英語の原文

CoMLRL のドキュメントへようこそ

Cooperative Multi-LLM Reinforcement Learning (CoMLRL) は、Multi-Agent Reinforcement Learning (MARL) を使用して複数の LLMs が連携するためのオープンソースライブラリです。これは、LLM 連携のためのさまざまな MARL アルゴリズムの実装を提供し、さまざまな環境とベンチマークをサポートしています。

Animated overview of CoMLRL: pretrained language models, cooperative MARL trainers, and multi-agent environment interactions.

概要#

“Multi-LLM 連携とは?"

Multi-LLM 連携とは、複数のエージェントがマルチエージェントシステムでタスクを解決するために協力することです。各エージェントは、指示に従って、タスクプロンプトを受け取り、同時に応答を生成します。エージェントの応答は、共同で解決策を形成します。ユーザーやシステムは、解決策を検証し、追加の要件や提案を提供できます。これらの相互作用は、環境の一部となり、エージェントの出力に基づいて状態が変化します。状態の更新は、タスクが完了するまで、またはターン制限に達するまで、次のターンで使用されるプロンプトに含まれます。

“Multi-LLM システムを MARL でファインチューニングする理由?"

多くの研究では、エージェント間の相互作用を通じてタスクを解決するために、LLM ベースのマルチエージェントシステムが使用されています。ほとんどのモデルは、最適化のために個別に事前学習されており、連携には最適化されていません。これは、パフォーマンスを制限する可能性があります。効果的なプロンプト設計も依然として課題です。協調的な MARL メソッドは、チームのエージェントを共有の目標に向かって最適化します。これらの確立された方法は、LLM ベースのマルチエージェントシステムをトレーニングするための自然な基盤を提供します。

“分散型推論の利点は?"

分散実行中に、エージェントは独自のプロンプトとポリシーを使用します。 独立した生成は、デバイス構成が許可されている場合に並行して実行でき、役割固有のモデルとモジュール化されたタスク分解をサポートします。 遅延、メモリ使用量、およびタスクの品質は、モデルのサイズ、プロンプトの長さ、通信、およびデバイスによって異なります。 分散のみで、速度向上または集中型モデルが利用できるすべての情報が保持されることを保証するわけではありません。

機能#

  • LLM を使用したマルチエージェント学習方法による協調:
    • マルチエージェント REINFORCE: Critic を使用しないポリシー勾配法、MAREINFORCE、MAGRPO、MARLOO、および MAReMax。
      • joint_mode='aligned' を使用したインデックス対応の共同応答。
      • joint_mode='cross' を使用したカルテシアン積の共同応答。
    • マルチエージェント Actor-Critic: Actor-Critic の方法、IAC および MAAC を含む。
      • 独立した actor-critic (LLM backbone 上の別個の critic または value head)。
      • 集中型の critic が、別個の actors との共同プロンプトを管理します。
    • マルチエージェント PbRL: MADPO、MARLHF、およびそれらの反復形式。
      • 直接の共同選好最適化または学習された共同報酬の最適化、それに続いて RL。
      • 分散された actors または 役割認識の共同応答を使用した 1 つの集中型 actor。
  • 実世界のタスクをシミュレートする環境における LLM 協調のトレーニングと評価:
    • 文章作成: 複数の LLM エージェントが記事の処理を共同で行う。
      • TLDR - Reddit の投稿の要約。
      • arXiv - 抽象を導入に拡張。
    • コーディング: プログラミングの問題に対する共同コード生成。
      • MBPP - 基本的な Python 問題。
      • HumanEval - 手書きによる評価問題。
      • CoopHumanEval - HumanEval の協調的なバリエーション。
      • ClassEval - 属性とドキュメント文字列に基づいてクラスレベルのコードを完成。
    • 旅行: ユーザーの制約の下での共同旅行計画。
    • ツール利用: BFCL v4 上での共同関数呼び出し。