ユレカ:大規模な言語モデルをコーディングすることによる人間レベルの報酬設計

『ユレカ:人間レベルの報酬設計を可能にする大規模言語モデルのコーディング』

近年の大規模言語モデルの進歩により、これらのLLMフレームワークは、シーケンシャルな高レベルの意思決定タスクのための意味論的プランナーとして優れた性能を発揮しているため、これに対する関心は高まってきています。ただし、開発者はまだLLMフレームワークのフルポテンシャルを活用することに苦労しており、複雑な低レベルの操作タスクの学習にはまだ課題が残っています。現在の大規模言語モデルは効率的でありながらも、単純なスキルの学習やテキストのプロンプトの作成にもかなりのドメイン知識と主題における専門知識が必要であり、そのために人間の器用さとの間に重要なギャップが生じています。

このギャップを埋めるために、Nvidia、CalTech、UPennなどの開発者たちは、LLMを活用した人間レベルのデザインアルゴリズムであるEUREKAを導入しました。EUREKAは、コードの記述、文脈に即した改善、ゼロショットのコンテンツ生成など、LLMフレームワークのさまざまな機能を利用して、報酬コードの未曾有の最適化を実現することを目指しています。これらの報酬コードは、強化学習と組み合わせることで、フレームワークが複雑なスキルを学習したり操作タスクを実行したりすることを可能にします。

本記事では、開発者の視点からEUREKAフレームワークを詳しく見ていき、その枠組み、機能、報酬関数の生成における達成結果を探求します。開発者によると、これらの関数は人間が生成するものよりも優れた性能を発揮します。また、EUREKAフレームワークが、勾配フリーな文脈における学習を可能にすることで、RLHF(人間フィードバックを使用した強化学習)への新しいアプローチへの道を切り拓いた方法にも触れます。それでは、始めましょう。

EUREKA:概要

現在、GPT-3やGPT-4などの最先端のLLMフレームワークは、シーケンシャルな高レベルの意思決定タスクにおいて優れた結果を提供する一方で、開発者はペン回しの器用さなどの低レベルの操作タスクの学習においてパフォーマンスを向上させる方法を模索しています。さらに、強化学習が熟練した状態で持続的な結果を達成することができることが開発者によって確認されており、人間の設計者が慎重に構築した報酬関数が好ましい振る舞いの学習信号を提供できることがわかっています。また、現実世界の強化学習タスクではスパースな報酬を受け入れるため、モデルがパターンを学習するのが困難になりますが、これらの報酬を整形することで必要な学習信号を提供することができます。さらに、報酬関数は重要ですが、その設計は非常に困難であり、未最適な設計は意図しない振る舞いを引き起こすことが多いです。

これらの課題に取り組み、報酬トークンの効率を最大化するために、EUREKAまたは進化駆動型ユニバーサルリワードキットは次の貢献をすることを目指しています。1.報酬関数の設計で人間のレベルのパフォーマンスを達成すること。2.手動の報酬エンジニアリングを使用せずに操作タスクを効果的に解決すること。3.従来のRLHF(人間フィードバックによる強化学習)の代わりに、新しい勾配フリーな文脈学習アプローチを導入することで、より人間に適合し、パフォーマンスの高い報酬関数を生成すること。

EUREKAの汎用性を向上させるために、開発者が選んだ3つの主要なアルゴリズム設計の選択肢があります。進化的探索、環境の文脈化、報酬の反映です。まず、EUREKAフレームワークは、実行可能な報酬関数をゼロショット設定で生成するために環境のソースコードを文脈として利用します。これに続いて、フレームワークは進化的探索を行い、報酬の品質を大幅に向上させます。イテレーションまたはエポックごとに報酬の候補のバッチを提案し、最も有望なものを磨きます。3番目の最終段階では、フレームワークは報酬の反映アプローチを使用して、報酬の文脈における改善をより効果的に行います。このプロセスにより、訓練統計のポリシーに基づいたこれらの報酬の品質のテキスト要約を使用して、フレームワークはターゲット指向の自動報酬編集を可能にします。以下の図は、EUREKAフレームワークの動作の概要を示しています。次のセクションでは、アーキテクチャと詳細な動作について詳しく説明します。

EUREKA:モデルのアーキテクチャと問題設定

報酬整形の主な目的は、最適化が困難なスパースな報酬の基になる報酬関数に対して、整形された報酬関数を返すことです。さらに、設計者はクエリを使用してのみこれらの基になる報酬関数にアクセスできるため、EUREKAフレームワークは報酬の生成に着目し、RDP(Reward Design Problem)に基づいたプログラム合成の設定を選択しています。

報酬設計問題またはRDPは、状態空間、報酬関数のスペース、遷移関数、およびアクションスペースを含むワールドモデルを含むタプルです。その後、学習アルゴリズムはポリシーを生成して報酬を最適化し、MDPまたはマルコフデザインプロセスを生成し、ポリシーのスカラ進化を生成することができますが、ポリシークエリを使用してのみアクセスできます。 RDPの主な目標は、ポリシーが最大のフィットネススコアを達成できるような方法で報酬関数を出力することです。 EUREKAの問題設定では、開発者がコードを使用して報酬設計問題のすべてのコンポーネントを指定しました。さらに、タスクの詳細を指定する文字列が与えられた場合、報酬生成問題の主な目的は、フィットネススコアを最大化するための報酬関数コードを生成することです。

次に、EUREKAフレームワークには、3つの基本的なアルゴリズム要素があります。進化的な検索(提案と反映候補の反復的な改良)、環境をコンテキストとして(ゼロショット設定で実行可能な報酬を生成)、および報酬の反射(報酬の微細な改善を可能にする)。アルゴリズムの疑似コードは、次の画像で示されています。

環境としてのコンテキスト

現在、LLMフレームワークでは、報酬の設計のために環境の仕様が入力として必要ですが、EUREKAフレームワークでは報酬コードなしで環境の生のコードを直接コンテキストとして提供することを提案しています。これにより、LLMフレームワークはワールドモデルをコンテキストとして取り込むことができます。EUREKAが採用しているアプローチには2つの主な利点があります。まず、コーディングの目的でのLLMフレームワークは、C、C ++、Python、Javaなどの既存のプログラミング言語で書かれたネイティブのコードセットでトレーニングされているため、元々トレーニングされた構文とスタイルでコードを構成する場合には出力が優れています。また、環境ソースコードを使用することで、意味論的に関連する環境と、指定されたタスクに従って報酬関数を出力するために適合または理想的な変数を明らかにすることができます。これらの洞察に基づいて、EUREKAフレームワークはLLMに対して、フォーマットのヒントと汎用的な報酬設計のみを使用してより実行可能なPythonコードを直接返すよう指示します。

EUREKAフレームワークにおける進化的検索の組み込みは、前述のサブオプティマリティの課題とエラーに対する自然な解決策を提供することを目指しています。各反復またはエポックごとに、フレームワークは大規模な言語モデルから異なる独立した出力を生成し、世代がすべてi.i.dであれば、反復ごとに報酬関数のバグの確率を指数的に減らすことができます。

次のステップでは、EUREKAフレームワークは前回の反復からの実行可能な報酬関数を使用してコンテキスト内で報酬を変異させ、テキストフィードバックに基づいて新しい改良された報酬関数を提案します。 EUREKAフレームワークは、in-contextの改善と指示に従うLarge Language Modelsの能力を組み合わせることで、変異演算子をテキストプロンプトとして指定し、ポリシートレーニングのテキストの要約を使用して既存の報酬コードを修正する方法を提案します。

報酬の反射

in-contextの報酬変異を具体化するためには、生成された報酬の品質を評価し、さらに重要なこととして、それを言葉にする必要があります。EUREKAフレームワークでは、報酬評価として数値スコアを提供するシンプルな戦略を使用して、これに対処しています。タスクの適応度関数が真の評価基準として機能する場合、クレジットの割り当てが欠けているため、報酬関数がなぜ機能するのか、またはなぜ機能しないのかに関する有益な情報を提供することはできません。したがって、よりターゲットとなる複雑な報酬診断を提供するために、フレームワークは自動フィードバックを使用してポリシートレーニングのダイナミクスをテキストで要約することを提案します。さらに、報酬プログラムでは、EUREKAフレームワークの報酬関数が個別にそのコンポーネントを公開するよう要求し、トレーニングフェーズ全体でのポリシーチェックポイントで各ユニークな報酬コンポーネントのスカラ値を追跡することができます。

EUREKAフレームワークで採用されている報酬関数の手順は構築するのが簡単ですが、報酬を最適化するアルゴリズム依存性の高い性質のために重要です。つまり、報酬関数の効果は、強化学習アルゴリズムの選択に直接影響を受け、ハイパーパラメータの変更により、同じオプティマイザの場合でも報酬のパフォーマンスが異なる場合があります。したがって、EUREKAフレームワークは、レインフォースメント学習アルゴリズムとより効果的かつ選択的に記録を編集し、より強化学習アルゴリズムとの強化されたシナジーを持つ報酬関数を合成することができます。

トレーニングとベースライン

EUREKAフレームワークには、2つの主要なトレーニングコンポーネントがあります:ポリシーラーニング報酬評価指標

ポリシーラーニング

個々のタスクの最終報酬関数は、同じ強化学習アルゴリズムと同じハイパーパラメータを使用して最適化されます。これらのハイパーパラメータは、人間によって設計された報酬がうまく機能するように微調整されます。

報酬評価指標

タスクの指標は、タスクごとにスケールや意味合いが異なるため、EUREKAフレームワークは、人間の正規化スコア(総合的な尺度)を報告します。これにより、フレームワークが専門家によって生成された正しいメトリックに対してどのようにパフォーマンスするかを比較することができます。

次に、3つの主要なベースラインがあります:L2R、Human、Sparse

L2R

L2Rは、自然言語テンプレートを使用して報酬を生成するデュアルステージの大規模言語モデルのプロンプトソリューションです。まず、LLMフレームワークが自然言語で指定された環境とタスクのためのテンプレートに自然言語を埋め込み、次にセットの手動で書かれた報酬APIプリミティブを呼び出すコードに変換します。

Human

Humanベースラインは、強化学習の研究者によって書かれたオリジナルの報酬関数であり、人間の報酬エンジニアリングの成果を先例のないレベルで表しています。

Sparse

Sparseベースラインは、フィットネス関数に似ており、フレームワークが生成する報酬の品質を評価するために使用されます。

結果と成果

EUREKAフレームワークのパフォーマンスを分析するために、人間の報酬に対するパフォーマンス、時間の経過による結果の改善、新しい報酬の生成、ターゲットの改善の可能性、および人間のフィードバックの使用に関して、さまざまなパラメータで評価します。

EUREKAは人間の報酬を上回る

次の図は、異なるベンチマークでの集計結果を示しており、明らかにEUREKAフレームワークはDexterityとIssacの両方のタスクで人間のレベルの報酬を上回るか同等のパフォーマンスを発揮していることがわかります。比較すると、L2Rベースラインは低次元のタスクでは同様のパフォーマンスを提供しますが、高次元のタスクではパフォーマンスの差がかなり大きいです。

持続的な改善

EUREKAフレームワークの主なハイライトの1つは、各イテレーションでパフォーマンスを持続的に改善し、向上させる能力です。その結果は以下の図で示されています。

明らかにフレームワークは各イテレーションでより良い報酬を生成し続け、インコンテキストの進化的な報酬探索手法のおかげで、人間の報酬のパフォーマンスを改善し、最終的に上回ることができます。

新しい報酬の生成

EUREKAフレームワークの報酬の新規性は、Issacのすべてのタスク全体で人間とEUREKAの報酬の相関を計算することで評価することができます。これらの相関は、人間の正規化スコアに対してプロットされ、プロット上の各ポイントは各個別タスクの個別のEUREKA報酬を表しています。明らかに、EUREKAフレームワークは弱い相関の報酬関数を生成し、人間の報酬関数を上回ります。

ターゲット向上の可能性を引き出す

報酬フィードバックに報酬反射を追加する重要性を評価するため、開発者は報酬反射のないEUREKAフレームワークを使用した削除実験を行いました。この実験では、フィードバックのプロンプトがスナップショットの値のみで構成されています。Issacのタスクを実行する際、報酬反射がないと、EUREKAフレームワークの平均正規化スコアが約29%減少することが観察されました。

ヒューマンフィードバックとの共同作業

ヒューマンフィードバックを取り入れた報酬関数を生成するため、EUREKAフレームワークは自動報酬設計に加えて、ヒューマンフィードバックに基づいた勾配フリーのインコンテキストラーニングアプローチを導入しました。以下には2つの重要な観察結果があります。

  1. EUREKAはヒューマン報酬関数から恩恵を受け、改善されます。
  2. 報酬反射にヒューマンフィードバックを使用すると、アラインされた行動が誘発されます。

上記の図は、EUREKAフレームワークが人間報酬初期化を使用した場合に、パフォーマンスと効率が大幅に向上することを示しています。ヒューマン報酬の品質に関係なく、フレームワークのインコンテキスト報酬改善能力においてベース報酬の品質は重要な影響を持たないことを示唆しています。

上記の図は、EUREKAフレームワークが人間と合致したポリシーを生成するだけでなく、ヒューマンフィードバックを組み込むことで報酬を変更する方法を示しています。

最終的な考え

この記事では、LLMパワードの人間レベルのデザインアルゴリズムであるEUREKAについて話しました。このアルゴリズムは、コードの記述、インコンテキスト改善能力、およびゼロショットコンテンツ生成など、LLMフレームワークの様々な機能を活用し、報酬コードの未曾有の最適化を行います。報酬コードは、これらのフレームワークによって複雑なスキルの学習や操作タスクの実行に使用されます。人間の介入やタスク固有のプロンプトエンジニアリングなしに、このフレームワークは幅広いタスクにおいて人間レベルの報酬生成能力を発揮し、その主な強みはカリキュラム学習アプローチを用いた複雑なタスクの学習にあります。

全体的に、EUREKAフレームワークのパフォーマンスと汎用性は、進化アルゴリズムを大規模言語モデルと組み合わせることによって設計された報酬のスケーラブルかつ一般的なアプローチの可能性を示しており、この洞察は他のオープンエンドの探索問題にも適用可能かもしれません。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

PyTorchモデルのパフォーマンス分析と最適化—Part2

これは、GPU上で実行されるPyTorchモデルの分析と最適化に関する一連の投稿の第二部です最初の投稿では、プロセスとその重要...

データサイエンス

IDEにAIを統合する

「AIをIDEにシームレスに統合するためには、いくつかのアイデアが探求されることがあります一部は既に実装されており、他のい...

AIニュース

なぜ便利なソフトウェアを書くのはいつも難しいのか

「歴史は、長く有益なソフトウェアを書くことがいかに困難かを教えてくれますそれはコードとはほとんど関係がありませんので...

機械学習

「ビジュアルAIがカナダ最大かつ最も賑やかな空港で飛躍する」

カナダのオンタリオ州にあるトロントピアソン国際空港は、年間約5000万人の旅客にサービスを提供する国内最大かつ最も混雑し...

AIニュース

エンタープライズAIプラットフォームは、Amazon Bedrockを利用したものです

さまざまな基礎モデルを使用したAmazon Bedrockの解説と、エンタープライズGen AIプラットフォームの構築方法についてのガイド

人工知能

「ChatGPTとCanvaを使用して1分で100のInstagram投稿を作成する方法」

「この強力なAIのテクニックを使えば、数分で何百もの投稿を作成できます」