VoyagerはGPT-4を使って、Minecraftの学習エージェントをピクセル化された世界に導く。強化学習の代わりに、Voyagerはコード生成に依存している。
Nvidia、Caltech、UT Austin、Stanford、ASUの研究者は、マインクラフトをプレイする初の継続学習エージェントであるVoyagerを発表した。古典的な強化学習技術を使用する他のマインクラフトエージェントとは異なり、VoyagerはGPT-4を使って自身を継続的に改善する。これは、スキルの外部ライブラリに保存されたコードを書き、改良し、転送することによって行われる。
その結果、ナビゲーション、ドアの開閉、資源の採掘、ツルハシの作成、ゾンビとの戦闘などに役立つ小さなプログラムが生まれる。「GPT-4は新しいパラダイムを解き放ちます」と、このプロジェクトを指導したNvidiaの研究者、ジム・ファンは言う。このパラダイムでは、”トレーニング “はコードの実行であり、”訓練されたモデル “はボイジャーが反復的に組み立てるスキルのコードベースである。
ボイジャーは3つの主要コンポーネントで構成されている:
- ゲームのフィードバック、実行エラー、自己チェックを組み込んでプログラムを改良する反復命令エンジン。
- 複雑な動作を保存・検索するコードを備えたスキルライブラリ。
- 探索を最大化する自動カリキュラム
MinecraftのVoyagerエージェントは文脈の中で学習する
MinecraftのVoyagerエージェントは反復的に学習します。目標を達成するためにGPT-4でプログラムを書き、ゲーム環境からのフィードバックと可能性のあるJavascriptのエラーを使用して、GPT-4でプログラムを改良します。このようにして、ボイジャーは徐々にスキルのライブラリを構築し、成功したプログラムをベクターデータベースに保存します。複雑なスキルは単純なものから構築されます。
マインクラフトの多様な世界を探索するために、チームはエージェントの現在のスキルと世界の現状に基づいて適切な探索タスクを提案する自動カリキュラムを使用している。例えば、エージェントは鉄を掘る前に、砂漠で砂やサボテンを集めることを学習する。
![como ele funciona](https://andrelug.com/wp-content/uploads/2023/05/estrutura.png)
これらを組み合わせることで、常に学習し、さまざまなタスクを実行できるエージェントが出来上がる。チームはすべての実験をMineDojo環境で行っている。
現時点では、ボイジャーは人間のフィードバックによってのみ家を建てることができる。チームは、VoyagerをMinecraftのReAct、Reflection、Auto-GPTといった他の言語モデルベースのエージェントと比較している。ボイジャーは、160回のプロンプト反復で63の異なるオブジェクトを発見した。
現在のところ、ボイジャーは人間のフィードバックがなければ家を建てることができない。
研究チームは、VoyagerをMinecraftのReAct、Reflection、Auto-GPTなど、言語モデルに基づく他のエージェントと比較している。Voyagerは、160回のプロンプト反復で63の異なるオブジェクトを発見した。
![trajetória do bot](https://andrelug.com/wp-content/uploads/2023/05/Voyager_exploration_performance-770x475-1.png)
未知のオブジェクトの自動探索により、Voyager は広範囲を移動します。全体として、Minecraft エージェントは 2 倍以上の距離を移動し、より多くのバイオームを訪れます。一方、Auto-GPTや他の方法では、ローカルエリアで立ち往生することが多い。
![area navegada](https://andrelug.com/wp-content/uploads/2023/05/araa.png)
Voyager が構築したスキルライブラリは Auto-GPT とも互換性があります。Minecraft の AI エージェントはこのスキルでかなり良い結果を達成していますが、それでも Voyager に遅れをとっています。
現在のところ、ボイジャーはテキストベースであり、ブロックの世界で何が起こっているかを見ることはできない。したがって、家を建てることはできない。しかし、初期の実験では、人間がエージェントに視覚的なフィードバックを提供することで、ボイジャーは家やネザーポータルの建設などを学習できるようになった。
より詳細な情報とサンプルは、Voyagerプロジェクトのページで入手できる。コードはGitHubで公開されている。