HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

ロボットのトレーニング方法

How to Train Your Robot (construction-physics.com)

124 pointsby crescit_eundo40 コメント

要約

近年、AIの進歩は大規模なトレーニングデータに支えられてきました。特にロボティクス分野では、言語モデルのような既存のテキストコーパスとは異なり、質の高い公開データが不足しています。ロボットのトレーニングデータは、テレオペレーション、自律的な試行錯誤、シミュレーションなどの方法で生成されますが、それぞれにコスト、スケーラビリティ、データ品質の課題があります。将来は、実世界で稼働するロボットから得られるデータが重要になると予想されています。

全文翻訳

ロボットのトレーニング方法

過去数年間におけるAI能力の飛躍的な進歩は、大部分において膨大な量のトレーニングデータの利用可能性によって推進されてきました。GPT-3のリリース後に書かれたGwernによる影響力のある2020年のエッセイ「スケーリング仮説」は、AIの最近の進歩がスケール、すなわちより大きなモデル、より大きなデータセット、そしてそれらをトレーニングするために費やされたより多くの計算リソースの結果であると論じています。Gwernは次のように書いています。

スケーリング仮説は、AGIの秘密としてスケールの恩恵を考えています。知能とは、単に単純なニューラルユニットと学習アルゴリズムを、現在では到達不可能なスケールで多様な経験に適用したものです。計算リソースが増加するにつれて、これらのアルゴリズムは必要なスケールで実行できるようになり、ニューラルネットワークはますます知能的になるでしょう。

同様に、匿名のAI研究者Nostalgebraistは2024年に「MLモデルは、より多くのデータでトレーニングするにつれて、着実に予測可能に改善するという認識に、現在の状況全体が遡ります。そして、それ以降のすべては、ハードウェアの急速な改善によって可能になった、より大きなデータセットでより大きなモデルをトレーニングすることから成り立っています。」と書いています。Epoch AIは、2010年代初頭からAI言語モデルのトレーニングデータセットのサイズは約6ヶ月ごとに倍増していると発見しました。今日の最大のAIモデルは、数十兆トークンでトレーニングされています。

[画像: AIモデルのトレーニングデータセットサイズのトレンドを示すグラフ]

より多くの努力が現代AIのロボット工学への応用に向けて捧げられるにつれて、「トレーニングデータはどこから来るのか?」という重要な問いが生じます。言語モデルは、既存の膨大なテキストコーパスでトレーニングできます。例えば、GPT-3はインターネットからスクレイピングされた約3000億トークン相当のデータでトレーニングされました。2024年にEpoch AIは、品質が高くアクセス可能なテキストデータの総ストックは約300兆トークンであると推定しました。しかし、優れた公開ロボットトレーニングデータに相当するストックはありません。ロボット工学のためのデータがどこから来るのか、そしてどれだけ必要になるのかを特定することが、この分野の主要な問題となっています。

ロボットのトレーニングデータとは何か?

AIモデルのトレーニングは、LLMであれ、ロボット制御に使用されるモデルであれ、基本的に何かを正しく行うことの多くの例を必要とします(あるいは、正しい行動がどのようなものかについての十分な知識があり、試行を評価できる必要があります)。モデルに一連の入力を与え、モデルの出力を実際の正しい出力と比較し、その差を使用して勾配降下法の一種を通じてこの差を減らすようにモデルのパラメータを変更します。(このプロセスについては、今月初めに詳しく説明しました)。

テキストの場合、トレーニング例は単に既存のテキストの断片で済みます。その断片を取り、モデルにその一部を与え、モデルにシーケンスの次の部分を予測させます。このように、1つのテキスト断片は、モデルにテキストの異なる部分を与えることで、多くのトレーニング例を生成できます。

[画像: テキストデータからトレーニング例を生成する様子を示す図]

ロボットをトレーニングする場合、例は通常、タスクが達成された、または試みられた何らかの記録です。これらの記録を作成し、トレーニングデータに変換するために使用される方法はいくつかあります。

歴史的に、これらの記録を作成するための最も一般的な方法の1つは「テレオペレーション」と呼ばれます。テレオペレーションでは、人がロボットに直接接続されたコントロールを操作し、それを使用して特定のタスク(シャツをたたむ、物を拾って移動するなど)を実行するためにロボットを動かします。例えば、下の画像は、人がロボットアームのペアをテレオペレーションし、ピッチャーからグラスに水を注ぐタスクを実行している様子を示しています。

[画像: テレオペレーションでロボットアームを操作する様子]

人がタスクを実行するにつれて、ロボットの状態データが記録され、タスクを記録しているカメラからの画像(多くの場合、ロボット自体に取り付けられている)とともに、トレーニング例を作成するために結合されます。例は、特定の時点でのロボットの状態とカメラが見ているものに関するデータをモデルに与えることで構成される場合があります。モデルは、次のロボットの行動(関節角度のようなもの)を予測しようとし、それを実際の行動と比較します。専門家(人間)によって生成された例を使用して、モデルにそれを模倣させるようにトレーニングするこの種のトレーニング戦略は、行動クローニングとして知られており、「模倣学習」のより広いカテゴリの一部です。

[画像: テレオペレーション中のロボットアームとオペレーターの様子]

この方法の主な利点は、生成されるデータが、トレーニングしたい実際のロボットから生成されるため、ロボットの実際の移動能力に非常に近いことです。そして、それは今日でも広く使用されています。時折、人々がロボットをテレオペレーションすることだけを目的として、様々なタスクを完了させるために、データ収集工場にいる人々のビデオや写真を見かけます。また、オペレーターがロボットを操作していることを忘れて、ロボットが処理できない方法で突然動かしてしまうテレオペレーション事故を目にすることもあります。

しかし、テレオペレーションには欠点があります。おそらく最大の欠点は費用です。データを取得するには、実際のロボットと、それを操作するために座っている人が必要であり、この方法を非常に大量のデータを生成するためにスケールさせるのが困難になります。もう1つの欠点は、人がこの方法でロボットを制御するのはやや不器用であることです。操作対象のオブジェクトから触覚フィードバックを得ることができないため、器用な操作に関する本当に良いデータが必ずしも生成されるわけではありません。この不器用さは、良いテレオペレーションデータを収集することを困難にする可能性もあり、私の理解では、収集されたテレオペレーションデータ全体のほんの一部しかトレーニングに役立たないとのことです。

既存のロボットを使用して、ロボットが自律的に移動し、その行動を記録し、ある種のシステムを使用してこれらの行動シーケンスを成功または失敗として分類することによって、トレーニングデータを生成することも可能です。ロボットが自律的に移動し、その行動を何らかの方法でスコアリングするこの種の戦略は、「強化学習」として知られています。Googleは2016年頃、「アームファーム」でこれに似たことを行っていました。これは、ロボットアームが自律的に移動する一連の装置で、アームがオブジェクトを拾い上げたか掴んだかどうかに基づいて成功がスコアリングされました。

この種のアームファームは今日広く使われているようには見えませんが、実際に展開されているロボットを使用することが、最終的にはロボットトレーニングデータの最大の供給源となるでしょう。ロボット工学関係者は、「データフライホイール」の必要性についてよく話します。これは、現実世界に展開されたロボットがあり、それからのデータを使用してさらに優れたモデルをトレーニングし、より多くのロボット展開につながり、さらに優れたモデルにつながるというものです。

例えば、ロボットAI企業Physical Intelligenceは、オフィスの近くのチョコレート工場で、「ロボットを実際に仕事に投入し、モデルを改善するためのデータを収集するために使用する」というこの種の「デプロイ・アンド・ゴー」プロトフライホイールを実験しています。しかし、これは最終的には機能するかもしれませんが、現在、実際の仕事に類似したことを行っているAI制御ロボットは非常に少数です。また、実世界のデータは非常に反復的になる傾向があります。ロボットが非常に似た条件で同じタスクを何度も繰り返すため、トレーニングにはあまり役立ちません。そのため、現時点ではほとんどのデータは他のソースから来る必要があります。

ロボットトレーニングデータを生成するためのもう1つの非常に一般的な戦略はシミュレーションです。物理的なロボットを現実世界で実行する代わりに、シミュレートされた世界でデジタルロボットを実行します。これは強化学習でも一般的に行われ、ロボットがシミュレートされた空間をナビゲートしようとし、その後、どれだけうまくできたかに基づいてスコアリングされます。このバリエーションとして、「教師/生徒パラダイム」があります。ここでは、「教師」モデルがシミュレーション環境内のすべてのデータに完全にアクセスできるのに対し、「生徒」モデルは実際のロボットが見るもの(カメラからの画像と自身の内部状態)しか見ることができず、生徒に教師を模倣させようとします。

シミュレーションの利点は、現実世界にロボットをデプロイするよりもロボットをシミュレートする方がはるかに安価で高速であり、数千台のロボットの動作をシミュレートすることで非常に大量のデータを取得できることです。Figure AIは、数千台のシミュレートされたロボットで強化学習を使用して、ヒューマノイドロボットに歩行を教えました。OpenAIは、13,000年分のシミュレートされた経験に相当するもので、ロボットハンドにルービックキューブを解く方法を教えました。2019年までに、Waymoは現実世界で1000万マイルを走行しましたが、シミュレーションでは100億マイルを走行しました。

[画像: シミュレーション環境で動作するロボットの様子]

しかし、シミュレーションにも欠点があります。最大の欠点は、生成されるデータの品質がシミュレーションの精度に依存することです。移動(ロボットが物理空間を移動すること)のような一部の事柄については、その動作はデジタルで表現できるほど十分に特徴付けられているため、シミュレーションはかなり正確です。そのため、四足歩行ロボットが地形をナビゲートしたり、二足歩行ロボットがダンスしたり、ドローンがシミュレーションでパスに沿って飛行したりするようにトレーニングでき、シミュレーション環境は現実世界の合理的な近似となります。しかし、物体の操作(特に柔らかい、または変形可能な物体の場合)については、現実世界の動作を正確に捉えるシミュレーションを構築することははるかに難しく、トレーニングデータソースとして使用することははるかに困難です。これは一般的に「シム・トゥ・リアルギャップ」と呼ばれます。

シミュレーションの不正確さのため、人気のあるシミュレーション技術の1つに「ドメインランダム化」があります。現実世界での摩擦などのさまざまなパラメータがどのようになるかわからないため、シミュレーションを実行するときにパラメータをランダムに変更することを選択し、現実世界で遭遇するパラメータを包含するトレーニングエンベロープを作成しようとします。例えば、OpenAIがロボットハンドにルービックキューブを解く方法をトレーニングしたとき、テストされるパラメータの範囲を継続的に拡大し、モデルがますます困難な環境でキューブを解くことを学習するように強制しました。これは、現実世界に適用できる能力を与えることを期待してのことです。ロボット工学チームは、正確な物理モデリングが困難すぎたため、この戦略を特に使用しました。

私たちが直面した最大の課題は、現実世界の物理現象を捉えるのに十分な多様性を持つシミュレーション環境を作成することでした。摩擦、弾性、ダイナミクスなどの要因は、ルービックキューブやロボットハンドのような複雑な物体に対して測定およびモデル化することが信じられないほど困難であり、ドメインランダム化だけでは十分ではないことがわかりました。

これを克服するために、私たちは自動ドメインランダム化(ADR)と呼ばれる新しい手法を開発しました。これは、シミュレーションで徐々に難易度の高い環境を無限に生成します。これにより、現実世界の正確なモデルを持つ必要がなくなり、シミュレーションで学習したニューラルネットワークを現実世界に適用できるようになります。

しかし、この技術とかなりの量のシミュレーション(13,000シミュレーション年)にもかかわらず、パフォーマンスはせいぜい「OK」でした。最も困難な開始配置での成功率はわずか20%でした。これは、この技術が現在、操作トレーニングに広く使用されていない理由かもしれません。ただし、環境パラメータのランダム化は、移動トレーニングではかなり標準的であるようです。例えば、移動する表面の摩擦係数をランダムに変更するなどのために使用されています。

シミュレーションを使用するもう1つの方法は、合成トレーニングデータを生成することです。これは、実際のトレーニングデータを入力として取り込み、それを使用して多くの類似したトレーニング例を作成することです。例えば、Nvidiaは、Isaac GR00Tロボットシミュレーションプラットフォームを使用して、テレオペレーションデータを入力としてロボットトレーニングデータを生成する方法を示すページを持っています。合成データ生成は、自動運転車のトレーニングにも広く使用されているようです。

人間がタスクを実行するのを記録し、記録されたタスクデータからロボットへのマッピングを作成することによっても、ロボットトレーニングデータを作成できます。これは、人にヘッドマウントカメラ(「自己中心ビデオ」として知られるもの)を装着させ、それを使用して人が様々なタスクを腕で行うのを記録するのと同様に単純かもしれません。その後、ビデオは、人の動きがロボットの動きとして解釈され、トレーニング例を作成するために使用されるように処理されます。(これが、ロボット工学におけるヒューマノイドフォームファクターの人気の一因です。人間がタスクを実行することは、トレーニングデータの合理的に良いソースになるでしょう。)例えば、Figure AIは最近、人々がヘッドマウントカメラを装着して様々なタスクを自分自身で記録することによってトレーニングデータを収集するためのプログラムであるIndexを発表しました(あるいは、Figureはこれらのカメラを装備したクルーをあなたの家やビジネスに派遣して、あなたの代わりに雑用を行うこともあります)。Shiftのような企業もこれを行っており、帽子にカメラを装着した人々を人々の家に派遣して、彼らが雑用をするのを記録しています。

[画像: Figureが自己中心ビデオデータを収集している様子]

より詳細な人間のタスクデータを収集するために、さらに多くのセンサーを追加することもできます。現在廃止されたスタートアップEidon AIは、ロボットアームのトレーニングのために関節位置のデータを収集するために人々の腕にセンサーを取り付けました。Neocambrian AIは最近、「Mitts」を発表しました。これは「ロボットのための高精度タッチデータをキャプチャする最先端の触覚グローブ」と説明されています。

[画像: Mitts触覚グローブ]

[画像: Mitts触覚グローブの別の角度]

この戦略のもう1つのバリエーションは、ユニバーサル操作インターフェース(UMI)と呼ばれるものを使用することです。UMIでは、人が特別に設計された一対のマニピュレーターを保持します。これらは通常、端にシンプルなピンサーグリップを持っています(ただし、一部には複数の指を持つものもあります)。人はマニピュレーターで様々なタスクを実行し、マニピュレーターに取り付けられたカメラが、マニピュレーターが正確に何を行っているかを記録します。このビデオは、同様のマニピュレーターを持つロボットのトレーニング例を作成するために使用されます。例えば、ロボットモデルのスタートアップであるGeneralist AIやSunday Roboticsは、トレーニングデータを収集するために主にこの戦略を使用しているようです。

人間が収集したタスクデータを使用する利点は、テレオペレーションデータよりも収集がはるかに安価であることです。必要なのはカメラ、またはカメラを搭載したマニピュレーターだけで、ロボット全体ではありません。また、ロボットを常に移動させてタスクを実行させるよりも、人が歩き回ってさまざまなことを行うだけで、さまざまなタスクの記録を幅広く取得する方がおそらくはるかに簡単です。そして、データは現実世界で人間が実際のオブジェクトを操作することによって収集されるため、シミュレーションよりも正確です。欠点は、このデータがロボットではなく人間から来るため、ロボットの能力に完全に適合しないことです。人間がロボットマニピュレーターのようなものを使用してタスクを実行することで人間とロボットの違いを最小限に抑えるUMIでさえ、必ずしも完全に適合するわけではありませんが、その差は小さく、私たちが目にした最も印象的なロボットデモの多く(Generalist AIのデモなど)はUMIデータを使用してトレーニングされています。

1つのロボットモデルで複数のトレーニング戦略を使用することも可能です。例えば、Agility RoboticsのDigitは、シミュレーションで強化学習を使用してトレーニングされた小規模な100万パラメータのニューラルネットワークで歩行しますが、オブジェクト操作は行動クローニングを使用してトレーニングされたようです。Dyna Roboticsも同様に、シミュレーションでの強化学習と人間のビデオをトレーニングデータの組み合わせとして使用しているようです。

ロボットモデルをタスク完了データ以外のデータでトレーニングすることもよくあります。Vision-Language-Actionモデルは、前述のように、テキストと画像でトレーニングされたVision-Languageモデルから構築されています。そして、YouTubeやTikTokのようなプラットフォームにおける一般的なビデオデータの普及のため、一般的なウェブビデオをトレーニングデータソースとして使用する方法を見つけることに大きな関心が寄せられています。例えば、NvidiaのCosmosは、ロボットポリシーモデルのバックボーンとして使用できるビデオデータでトレーニングされた基盤モデルです。

ロボットのデータセットサイズ

これまでに、このタスク関連のトレーニングデータをどれだけ収集し、どれだけ必要としているのでしょうか?

より一般的なAIモデルと同様に、ロボットのトレーニングデータセットも大きくなっているようです。当時大きいと考えられていた初期のデータセットの1つは、Google DeepMindが2023年に既存の数十のデータセットを結合して作成したOpen X-Embodiment(OXE)データセットでした。OXEは、160,000を超える異なるタスクにまたがる100万以上のロボットアクション軌跡で構成され、合計で約4,000時間のタスクデータを含んでいました。Physical IntelligenceのPi 0モデルは、2024年10月にリリースされ、10,000時間のロボットタスクデータでトレーニングされました。今年初めに発表されたGeneralist AIのGEN 1モデルは、約500,000時間のUMIデータでトレーニングされました。Figure AIのIndexの発表では、毎秒30分のビデオデータを収集している、つまり1日あたり43,000時間を収集していると述べました。Dyna RoboticsとNature Willはどちらも、最新モデルが100万時間以上の人間の自己中心ビデオデータでトレーニングされていると主張しています。私は、ロボットデータ収集業界が月に約500,000時間のトレーニングデータを全体として生産しているという推定を1つ見ました。

これらのデータセットをLLMのトレーニングに使用されるテキストデータセットと比較することは、驚くほど簡単ではありません。まず、異なるロボットトレーニングセットは品質レベルが異なります。トレーニング目的では、テレオペレーションまたはUMIデータは純粋な人間の自己中心ビデオデータよりも高品質である可能性が高く、さまざまな種類のタスクを持つ非常に多様なデータセットは、非常に反復的なデータセットよりもはるかに役立ちます。そして、ロボットトレーニング用のビデオデータは、テキストデータとは情報的に異なります。まず、ビデオデータは相関が高い傾向があります。短い時間スケールでは、あるフレームは別のフレームと非常に似ています。したがって、ビデオ録画には大量のデータが含まれていますが、トレーニング目的ではテキストデータよりも情報密度が低い可能性があります。ロボット工学研究者のChris Paxtonが指摘するように、「機械学習は、独立かつ同一分布(iid)のデータセットに近いほど最もよく機能します。ウェブデータもロボットデータもiidではありませんが、ロボットデータはウェブデータよりもはるかにiidではありません。

しかし、それでも試みることはできます。データセットサイズを比較する非常に大まかな方法の1つは、Physical Intelligenceの研究者Kevin Blackがこのプレゼンテーションで、ロボット工学の教授Ken Goldbergがこのプレゼンテーションで使用した方法ですが、人が読むのにかかるテキストトークンのデータセットの時間を推定し、現在あるロボットトレーニングデータの時間と比較します。この指標の下では、GPT-2は約475,000時間のデータに相当する量でトレーニングされ、GPT-3は2600万時間、GPT-4は6億8500万時間でトレーニングされました。この(やや疑わしい)指標を使用すると、数年前のAIモデルでさえ、現在のロボットモデルがトレーニングされているデータの約1,000倍のデータでトレーニングされていました。Goldbergはこれを「10万年のデータギャップ」と呼んでいます。

彼のSubstack「It Can Think!」でPaxtonは、ロボットデータの時間をトークンに変換することによって、逆方向からの推定を行い、非常に似た推定値を出しています。彼は、毎秒10フレームで実行されるビデオの場合、各フレームには1つの有用なトレーニングトークンに相当するデータが含まれると推測しています。したがって、ビデオの1時間あたり約10 × 60 × 60 = 36,000トレーニングトークンが含まれます。次に、ビデオデータの毎秒すべてが実際に役立つとは期待できないという仮定で10で割ると、ビデオの1時間あたり約3,600トレーニングトークンになります。これにより、Dyna Roboticsの100万時間のトレーニングは、約36億トークンに相当し、最近のAIモデルのトレーニングに使用されるデータセットよりも桁違いに小さいことになります。

現実世界のロボットトレーニングデータが実際に持っているデータの約1,000倍必要だと仮定すると、つまり約10億時間のデータが必要だとすると、その生成にはいくらかかるでしょうか?Eidon AIは、ロボットデータの価格を時間あたり60ドルから100ドルと報告しています。Pantheonも同様に、UMIデータのコストを時間あたり60ドルから150ドルと報告していますが、同社のエンジニアは時間あたり10ドルでデータを生成できるパイプラインを開発しました。Shiftは、時間あたり最大20ドルを稼ぐことができると主張しています。したがって、単純な推定では、最近のAIモデルと同等の能力レベルにロボットモデルを到達させるのに十分なデータを取得するには、100億ドルから1000億ドルの範囲のコストがかかる可能性があります。

しかし、実際にどれだけのデータが必要かは、まだ開かれた質問のようです。一般化を気にせず、さまざまな特定のタスクを実行するようにロボットモデルをトレーニングすることだけを目的とする場合、データ要件は大幅に少なくなる可能性があります。あるいは、FableやAstraのような最先端の汎用AIモデルが、比較的少量のロボットトレーニングデータを与えられた後に非常に有能なロボットコントローラーになることが判明するかもしれません。すでに、特殊用途のロボットAIモデルが、より汎用的なAIモデルに置き換えられると予測している人もいます。同様に、現在のモデルよりもはるかにサンプル効率が高い(各トレーニング例からより多くを学習する)ロボットAIモデルアーキテクチャを見つけるかもしれません。

一方で、現実世界での移動や物体の操作は、コンピューター上のテキストの操作よりも根本的に難しいタスクであり、モデルがこの現実世界の動作に習熟するために、はるかに多くのトレーニングを必要とする可能性があるというケースもあり得ます。例えば、生成されたテキストの小さなエラー(スペルミスやわずかに間違った単語の選択)は、必ずしもテキスト全体を損なうわけではありませんが、物体を操作する場合、1つの小さな位置決めエラーが成功と完全な失敗の違いとなる可能性があります。同様に、Ken Goldbergは、ロボットの移動はテキスト生成よりもはるかに高次元の問題であると主張しています(ただし、彼がそのプレゼンテーションで展開している議論のバージョンは私は納得していませんが、他のロボット工学研究者からも同様の意見を聞いたことがあります)。

結論

LLMは、AIモデルのトレーニングにおけるスケールの利点を示しました。すなわち、より大きなモデル、より多くのデータ、そしてはるかに多くの計算量でトレーニングされました。現在、このスケーリングがロボット工学にどれほどうまく機能するかを見ており、ロボット工学の研究者は、AI全般で見られるような傾向をロボットの能力でも見たいという希望を抱いて、膨大な量のロボットタスクトレーニングデータを収集するために懸命に取り組んでいます。