alexzhang13/rlm

General plug-and-play inference library for Recursive Language Models (RLMs), supporting various sandboxes.

解決する課題

RLMは、言語モデルにおいてほぼ無限の長さのコンテキストを扱うという課題に対処します。このパラダイムでは、巨大なプロンプトを単一のモデル呼び出しに渡すのではなく、モデルがプログラム的にタスクを分解し、自身を再帰的に呼び出すことで、情報をより小さく管理しやすい断片として処理することが可能になります。

仕組み

RLMは標準的な補完呼び出しを、コンテキストをREPL (Read-Eval-Print Loop) 環境内の変数として扱うシステムに置き換えます。言語モデルは、コードを記述・実行することでこの環境と対話します。このコード内で、モデルはプロンプトやコンテキストをオブジェクトとして扱い、サブLM呼び出しを関数として起動できます。これにより、対話はJSONベースのツール呼び出しから、モデルが自身の実行フローと再帰的なサブ呼び出しを管理するCodeActスタイルのハーネスへと移行します。

対象ユーザー

本プロジェクトは、極めて長いコンテキストを処理する必要がある、あるいはプログラムによる制御を必要とする複雑な多段階推論を実行する高度な推論エンジンやエージェントを構築するAI研究者および開発者を対象としています。

主な特徴

  • 柔軟なREPL環境: ローカル (exec/IPython)、Docker、クラウドベースのサンドボックス (Modal, Prime Intellect, E2B, Daytona) など、多様な実行環境をサポート。
  • 再帰的推論エンジン: モデルがタスクを解決するために自身を再帰的に呼び出すことを可能にする拡張可能なエンジンを提供。
  • 統合トレーニングハーネス: RLMパラダイム専用のモデルをトレーニングするための、prime-rl および verifiers に基づくトレーニング環境を同梱。
  • 軌跡ログ: コード、サブLM、ルートLM呼び出しの完全な実行パスを検査するためのロガーと専用のビジュアライザーを搭載。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト