MLPerf Inference v6.0 EdgeスイートがYOLO11にアップグレード

はじめに

MLPerf Inferenceベンチマークは、公平なベンチマークプラットフォームと視覚、音声、自然言語処理などの多様なワークロードを通じて、人工知能(AI)インフラストラクチャのパフォーマンスを測定する業界標準へと発展しました。MLCommonsは最新のAIワークロードに追従することに注力しており、生成AI新モデルの導入だけでなく、従来のワークロードのアップグレードも行っています。YOLOタスクグループは、EdgeスイートのRetinaNetベンチマークを、より現代的な最先端検出モデルであるUltralytics YOLO11にアップグレードすることを目的として設立されました。

RetinaNetは長年にわたり単一ステージ検出の信頼できる学術的ベンチマークでしたが、より現代的なYOLO(You Only Look Once)バリアントへのアップグレードには十分な理由があります。YOLOは、加速的なイノベーション、頻繁なリリース、強力なコミュニティサポートにより、研究と実用アプリケーションの両方で急速に発展し、現代の物体検出ワークロードにおいて最も効果的で注目されるモデルの一つとなりました。Ultralyticsが2024年9月にリリースしたYOLO11は、重要なアーキテクチャと訓練の改善を導入し、より少ないパラメータで高い精度を実現し、YOLO11n(nano)からYOLO11x(extra large)までのバリアントを提供して、多様な計算-精度のトレードオフをサポートしています。これに対し、RetinaNetは近年更新が少なく、開発の勢いが弱まり、コミュニティの採用率も低下しています。YOLOファミリーの継続的で急速な進化は、AI業界の物体検出分野における最先端の進歩と主流トレンドを体現しています。

モデル選択

YOLO以前は、最先端の検出器の多くが「two-stage」システムで、まず関心領域を提案してから分類していました。YOLOモデルは2015年にワシントン大学のJoseph Redmonらによって初めて提案され、物体検出を単一の回帰問題として扱い、単一パスでバウンディングボックスとクラス確率を同時に予測します。これは、R-CNNのような従来の手法が画像あたり数千回の独立したパスを必要としたのとは対照的です。この「single-shot」アプローチは、わずかな精度を犠牲にして大幅な高速化を実現し、45 FPSのリアルタイム検出を可能にしました。その後、Ultralyticsなどコミュニティ主導の改善により、さらにバージョンが向上しました。

初期の課題は、成熟したバージョンの安定性と最新リリースの最先端精度のバランスを取ることでした。Ultralytics YOLOv8などの旧バージョンは、アンカーフリー設計と広範なコミュニティサポートにより業界標準となっていますが、我々は最終的にYOLO11に焦点を当て、新興のUltralytics YOLO26のプレビューも行い、ベンチマークの将来性を確保しました。

技術分析により、YOLO11はパラメータ効率と生の精度において大きな飛躍を遂げたことが示されました。ベンチマークには、COCOデータセットでmAP 53.4%を達成し、YOLOv8lの52.9%を上回るYOLO11l(large)バリアントを選択しました。mAP(Mean Average Precision)は品質の究極的な指標として、精度(正しい検出数)と再現率(発見されたオブジェクト数)のバランスを取ります。これは2,530万個のパラメータのみで実現され、古いC2fモジュールを効率的なC3k2ブロックに置き換え、C2PSA(Cross-Stage Partial Spatial Attention)を統合することで、計算コストを比例的に増加させることなく重要な領域への注意を向上させています。

YOLOファミリー以外にも、EfficientDet(BiFPNによる精度-FLOPs比)、DETRやDeformable後継などのトランスフォーマーベースの検出器(NMSフリーの訓練とグローバルコンテキストの合理化)など、他の現代的アーキテクチャも評価しました。最終的にYOLO11 Largeを選択したのは、その比類なき生産スループットにより、ハードウェアインターコネクトとデータローディングパイプラインを厳密にテストできるためです。YOLO11の選択により、MLPerfベンチマークは実際のデプロイメントパターンを反映し、ベンダーに効率的なアテンション拡張畳み込みニューラルネットワークの最適化を促します。

図1

図1. YOLO11の概略図。Backbone、Neck、Headコンポーネントを示す(A. T. KhanとS. M. JensenのLEAF-Net、2024年12月より改変)。

データセット

適切なデータセットの選択は、YOLO Inferenceベンチマーク統合における重要な決定であり、ベンチマークの有効性のグラウンドトゥルースとなります。我々はCOCO 2017(Common Objects in Context)を選択しました。これはYOLOモデルの訓練に使用され、物体検出のゴールドスタンダードであり続けているためです。80のオブジェクトクラス、150万以上のインスタンスを含み、モデルが単に形状を記憶するのではなく、実際の画像における空間関係と隠れたコンポーネントを真に理解することを保証します。モデルはタスクグループによって訓練されておらず、我々はCOCO検証セットのサブセットを使用し、元の精度が維持されていることを検証しました。

しかし、MLPerfなどのオープンベンチマークで大規模データセットを配布することには法的コンプライアンスの課題があります。COCOアノテーションはオープンですが、一部の画像は「非商用」とラベル付けされており、商用ベンチマークの要件を満たしません。このため、タスクグループはカスタムフィルタリングパイプラインを開発し、完全なCOCO 2017の安全なサブセットを作成しました。これにより、パートナーデータセットは完全に配布可能で合法となり、学術および産業用途に適用可能で、同時にベンチマークの統計的完全性を損なわないようになりました。

MLPerfサブセット

Dataset# of classes# of validation imagesSize
COCO Full805000~170 MB
COCO MLPerf801525~52 MB

表1:COCO MLPerfサブセットと完全データセットの安全な画像総数の比較。

LoadGen統合

COCOデータセットを作成した後、YOLO LoadGen統合の一貫した精度を確保することが重要です。MLCommons LoadGen(Load Generator)は、SingleStream、MultiStream、Offlineなどの標準化されたクエリトラフィックパターンを通じてML推論システムのパフォーマンスを公平に測定する再利用可能なC++ライブラリ(Pythonバインディング付き)です。LoadGen APIは、検証用にすべてのクエリとレスポンスを記録し、レイテンシ制約が満たされているかどうかを集計します。モデルに依存せず、精度評価を処理しませんが、モデル固有の精度計算に必要なファイルを生成します。

当初、YOLO11の実装は標準的なpredictions.jsonファイルを生成していましたが、一般的なCOCO検証には適していても、COCO MLPerf Accuracyスクリプトとは互換性がありませんでした。その理由は以下の通りです:

  • クラスマッピングの不一致:YOLOは従来、COCO由来の80クラスインデックス(0-79)を使用していますが、MLPerf精度評価では91クラスのマッピングが必要で、IDは非連続です。
  • 座標の正規化:標準的なYOLO出力は絶対ピクセル座標またはXYWH形式です。精度評価のためには、特定のシリアライゼーションペイロードが必要です:7要素のfloat配列[index, ymin, xmin, ymax, xmax, score, class]で、座標は元の画像サイズに対して正規化(0.0-1.0)される必要があります。
  • バッファシリアライゼーション:標準JSONとは異なり、MLPerf LoadGenはQuerySamplesComplete APIを通じたバイトバッファへのシリアライゼーションを要求します。

上記の問題を特定し解決した後、我々のYOLO LoadGen実装はUltralytics参照mAPと一致しました。戦略には以下が含まれます:

  • クラスの再インデックス:公式のCOCO 80-to-91変換配列を使用して堅牢なマッピング層を実装し、YOLOの各検出が精度スクリプトが認識するクラスID空間に即座に変換されることを保証しました。
    Target ID = COCO80_to_91[Model Class Index]
  • 座標変換:Runner.enqueロジックを書き直して画像ジオメトリを動的に処理します。Ultralyticsの結果オブジェクトから元の高さ(H)と幅(W)を抽出し、リアルタイムで正規化します。