モデル / データセット
NVlabs/Eagle avatar
NVlabs/Eagle

NVlabs/Eagle を採用判断するために読む: データ中心戦略の VLM ファミリーと LocateAnything の位置づけ

Eagle: Frontier Vision-Language Models with Data-Centric Strategies

スター 3,568フォーク 352PythonApache-2.0

ひと目でわかる

これは何?
Eagle は NVIDIA の研究チームによるビジョン言語モデルの系列で、Eagle、Eagle 2、Eagle 2.5、LocateAnything の4世代が同一リポジトリに同居する。モデル本体の重みは Hugging Face 側にあり、このリポジトリが提供するのは学習・推論のコードとレポートである。採用可否は「モデルの性能」ではなく「どの世代のコードを、どの GPU で動かすか」で決まる。
誰に向いている?
採用を検討すべきなのは、GUI グラウンディングや密な物体検出、OCR のように座標を出力させたい用途で、A100 や RTX 4090 など Hopper/Blackwell 以外の GPU しか持たないチームである。この条件では LocateAnything の batch inference と FlashAttention ランタイムが効く。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 83 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Eagle は単一モデルではなく4世代の同居したリポジトリである

このリポジトリを最初に開くと戸惑う。トップレベルの README は LocateAnything の更新履歴から始まり、その下に Eagle 2.5、Eagle 2、Eagle の説明が続く。ディレクトリも Eagle/、Eagle2_5/、Embodied/ に分かれており、それぞれ別の論文と別のモデルに対応する。表にまとめられている対応関係は、LocateAnything が汎用グラウンディングと検出、Eagle 2.5 が長文コンテキストのマルチモーダル理解、Eagle 2 が画像理解の事後学習データ戦略、Eagle が mixture-of-encoders の設計探索、という切り分けである。

つまり「Eagle を使う」という一文では意思決定にならない。座標を出したいのか、動画を要約したいのか、画像理解の学習手法を再現したいのかで、参照すべきサブディレクトリが変わる。README が示すモデル一覧の表はこの分岐をそのまま表している。研究プラットフォームとしての性格が強く、複数の NVIDIA 製品のバックボーンとして使われた経緯が更新履歴に列挙されている点も、単体のアプリケーションではなく派生元のコードベースとして読むべきことを示している。

解こうとしている問題は性能ではなくデータ戦略の比較にある

README の冒頭は「data-centric strategies」という語でこの系列を説明している。frontier な VLM を作るうえで、アーキテクチャの変更よりも学習データの構成と事後学習の設計が効く、という立場である。Eagle 2 の行には post-training data strategies と書かれ、Eagle 2.5 の行には long-context multimodal understanding のための framework と data strategy と書かれている。

この立場は、利用者にとっては「モデルの重みを借りる」だけでは済まないことを意味する。データ構成の再現が主題なので、リポジトリには学習側の手順とレポートが重みされる。逆に、推論だけしたい読者にとっては、レポートの分量に対して得られるものが少ない可能性がある。どのデータをどう混ぜたかという議論は、自前のデータで同等のモデルを作ろうとするチームにしか直接の価値を持たない。汎用の VLM を API 的に使いたいだけなら、Hugging Face のモデルカードと推論スクリプトだけを読めばよく、学習まわりの記述は読み飛ばして構わない。

LocateAnything の Parallel Box Decoding は何を変えるのか

この系列で最も具体的な技術的主張は LocateAnything の Parallel Box Decoding (PBD) である。README の動画キャプションは、PBD が Quantized Coordinate Decoding と対比される方式で、各バウンディングボックスを単一の forward pass で原子的に予測するためスループットが大きく向上すると説明している。座標を数値トークンの列として順に生成する方式では、1 つの箱を出すのに複数ステップの自己回帰が必要になる。PBD はその分解をやめ、箱を1単位として扱う。

ここで注意したいのは、この説明が README のキャプション以上の粒度を持たないことである。ボックスがどのようなトークン表現で、原子性がどう保証されるのかは、この素材からは確認できない。LocateAnything のレポート (LocateAnything Report) が参照されているので、実装の詳細はそちらに委ねられていると読むのが妥当である。採用判断の観点では、速度の主張をそのまま受け取るのではなく、自前の画像で箱の座標精度と再現性を測る必要がある。密な物体検出では、1 つの箱の誤りが後段の処理全体に波及するためである。

Eagle2_5 のオンボーディングと Embodied の推論経路

実行に必要な情報は Getting Started の3つのリンクに集約されている。LocateAnything は Embodied/README.md、Eagle 2.5 は Eagle2_5/document/0.onboarding.md、Eagle は Eagle/README.md である。トップレベルの README にはインストールコマンドも設定キーも書かれておらず、各サブディレクトリのドキュメントに降りる前提になっている。この構造自体が、単一の pip install で完結するパッケージではなく、世代ごとに環境構築が異なることを示している。

推論まわりで素材から読み取れる具体物は2つある。1つは Embodied/shell/locate-anything-lora-visual-prompt.sh で、LocateAnything に対する LoRA 微調整のスクリプトである。もう1つは Embodied/ における batch inference のサポートで、純粋な FlashAttention ランタイムにより A100、RTX 4090 など Hopper/Blackwell 以外の GPU でも効率的に推論できると更新履歴にある。GPU 世代の記述が明示されている点は実務上ありがたい。データセンター向けの最新世代を前提にしたコードは多く、手元の A100 で動かないという事故が起きやすい。

ただし、これらのシェルスクリプトやランタイムが具体的にどの引数を受け取るのか、どの設定キーでバッチサイズや精度を切り替えるのかは、この素材には現れない。Embodied/README.md とスクリプト本体を読んで確認するほかない。

Eagle 2.5 が向かない場面と、汎用 VLM という代替

Eagle 2.5 は長文コンテキストのマルチモーダル理解を掲げ、README の例では動画を区間に分割し、各区間に見出しと詳細キャプションと開始秒を与えるタスクが示されている。構造化された出力を長い入力に対して返す用途である。

ここで素直な代替は、商用の汎用 VLM API である。違いは制御の所在にある。API は前処理も重みも見えず、モデルの更新で出力の傾向が変わる。Eagle はコードと重みが手元にあり、LoRA のような微調整経路が用意されている。特定の座標体系や独自の出力形式に合わせたい場合、この差は大きい。逆に、動画キャプションの品質だけを求めてモデルを差し替えるつもりがないなら、推論環境を自前で維持する理由は薄い。GPU の確保、FlashAttention を含む依存のビルド、世代ごとに異なるドキュメントの追跡というコストを、固定した重みから得られる再現性で正当化できるかどうかが分岐点になる。

もう1つの代替は、同じリポジトリ内で目的に合う世代を選ぶことである。検出とグラウンディングが目的なら LocateAnything、画像理解の学習手法に関心があるなら Eagle 2、動画を含む長文理解なら Eagle 2.5 という具合に、リポジトリ内で完結する選択肢がある。外部のモデルと比較する前に、この内訳を確認したほうが早い。

Apache-2.0 のコードと NVIDIA モデルライセンスの境界

ライセンス表示は2種類ある。コードは Apache-2.0 で、リポジトリの LICENSE がそれにあたる。モデルの重みは NVIDIA License で、Eagle2_5/LICENSE_MODEL が該当する。この2つは別物であり、コードを改変して自社製品に組み込む場合でも、重みを配布したり hosted service として公開したりする場合はモデル側の条件が別途かかる。

ここで注意すべきは、このリポジトリのコードだけを読んで「Apache-2.0 だから自由」と結論しないことである。Eagle2_5/LICENSE_MODEL の中身はこの素材には含まれていないため、再配布や商用利用の可否は原文を読んで確認する必要がある。法的助言はできないが、コードのライセンスと重みのライセンスを混同したまま製品計画を進めるのが典型的な事故である。

維持コストの面では、この系列が4世代を1つのリポジトリに抱えている点を軽く見てはいけない。更新履歴を見る限り、2024年8月の Eagle 公開から2026年6月の LocateAnything の ECCV 採択まで、約2年で4つの系列が積み重なっている。依存関係やスクリプトの流儀が世代ごとに揃っている保証はなく、対象を1つに絞らないと追跡コストが増える。

導入前に確かめるべき3つのこと

第一に、対象を決める。Eagle/、Eagle2_5/、Embodied/ のどれを動かすのかを先に固定する。トップレベルの README は案内板であって手順書ではない。

第二に、GPU を確認する。LocateAnything の batch inference は Hopper/Blackwell 以外でも動くと更新履歴にあるが、これは LocateAnything についての記述である。Eagle 2.5 や Eagle 2 の推論が同じ条件で動くかは、それぞれのドキュメントを読むまで分からない。

第三に、重みのライセンスを確認する。Eagle2_5/LICENSE_MODEL の条件が、想定している配布形態と両立するかを読む。ここを飛ばしてコードだけを見て進めると、後工程で手戻りになる。

このリポジトリは、モデルをそのまま使いたい人向けというより、データ中心の設計を再現したい人と、座標出力を伴うグラウンディングを自前の環境で回したい人向けである。README の更新履歴が示すとおり、研究の成果物が製品のバックボーンへ流れていく経路の上流にあり、コードとレポートの両方を読む前提で作られている。

編集部の結論

採用を検討すべきなのは、GUI グラウンディングや密な物体検出、OCR のように座標を出力させたい用途で、A100 や RTX 4090 など Hopper/Blackwell 以外の GPU しか持たないチームである。この条件では LocateAnything の batch inference と FlashAttention ランタイムが効く。逆に、汎用の長文動画キャプションだけが目的なら、Eagle 2.5 のレポートと Hugging Face 上のモデルカードを先に読み、このリポジトリの学習コードを丸ごと持ち込む必要は薄い。着手前に確認すべきは3点で、Eagle2_5/LICENSE_MODEL が自社の配布形態を許すか、Embodied/ の推論スクリプトが要求する GPU 世代と自社環境が一致するか、Eagle/ と Eagle2_5/ のどちらのコードを対象にするかである。

公式情報源

  1. Issues
  2. License: Apache-2.0
  3. NVlabs/Eagle on GitHub
  4. Project website
  5. README
コミュニティノート

コミュニティノート