1.データセンター内のBERTに匹敵する性能を持つPixel 6搭載の言語モデル(3/3)まとめ
・前世代の最先端モデルであるMobileDet-EdgeTPUをエネルギー効率で30%上回る
・顔検出性能の向上に加えホワイトバランスと露出の自動調整機能が大きく改善
・MobileBERT-EdgeTPUはデータセンター仕様もBERTモデルに匹敵する品質
2.Pixel 6搭載の言語モデル
以下、ai.googleblog.comより「Improved On-Device ML on Pixel 6, with Neural Architecture Search」の意訳です。元記事は2021年11月8日、Suyog GuptaさんとMarie Whiteさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Shardar Tarikul Islam on Unsplash
NASで生成されたモデルを、前世代のTPU用にカスタマイズされたモバイル検出モデルのクラスであるMobileDet-EdgeTPUと比較しまた。MobileDetsは、様々なモバイルアクセラレータで最先端の検出品質を達成することが実証されています。
MobileDetsと比較して、新しいSpaghettiNet-EdgeTPU検出モデル群は、同じ応答速度でCOCOにおいて+2.2%のmAP(絶対値)を、同様の精度を達成するためにMobileDet-EdgeTPUが使用するエネルギー消費量の70%未満で達成します。
COCOデータセットにおいて、異なる物体検出モデルの性能をmAP指標で比較(高い方が良い)。SpaghettiNet-EdgeTPUは、Feature Pyramid Network(FPN)を用いたMobileDetsやMobileNetV2などの従来のモバイルモデルと比較して、早い応答速度と低いエネルギー消費で高い検出品質を実現しています。
包含的でエネルギー効率の高い顔検出
顔検出は、フォーカス、露出、ホワイトバランスの調整や、新機能の「顔のぼかし解除(Face Unblur feature)」など、一連の追加機能を可能にする、カメラの基礎となる技術です。
このような機能は、責任を持って設計されなければなりません。Pixel 6の顔検出は、私たちのAI原則を最優先にして開発されました。
左:改良を加えていないオリジナルの写真
右:動きのある環境下での顔のぼかしなしの写真。Face Unblurと、より精度の高い顔検出器を組み合わせ、より高いフレーム/秒で動作させた結果です。
スマートフォン搭載カメラは電力を大量に消費するため、顔検出モデルを使用可能な電力枠内に収めることが重要でした。エネルギー効率を最適化するために「スパゲッティ探索空間」を用いて、与えられたエネルギー目標で精度を最大化するアーキテクチャを探索するアルゴリズムを採用しました。
徹底的に最適化されたベースラインモデルと比較して、SpaghettiNetは70%程度のエネルギーで同じ精度を達成しました。その結果、FaceSSDと呼ばれる顔検出モデルは、電力効率と精度が向上しました。
このモデルに加え、ホワイトバランスと露出の自動調整機能が改善され、Pixel 6の「Real Tone」に搭載されています。これらの改善により、あらゆる肌色の美しさをよりよく反映することができます。開発者は、Android Camera2 APIを通じて、このモデルを自分のアプリケーションで利用することができます。
モバイル機器上でデータセンター品質の言語モデルを提供する事を目指し、応答速度が短く高品質な言語モデルをモバイル機器に展開することは、言語理解、音声認識、機械翻訳などのMLタスクに有益です。BERT の派生モデルである MobileBERT は、モバイル CPU 向けに調整された自然言語処理(NLP:Natural Language Processing)モデルです。
しかし、これらのモデルをモバイルCPU上で効率的に実行するために行われた様々なアーキテクチャ最適化により、その品質は大規模なBERTモデルほど高くはありません。TPU 上の MobileBERT は、CPU 上よりも大幅に高速で動作するため、モデルのアーキテクチャをさらに改善し、 MobileBERT と BERT の間の品質の差を縮める機会となります。
私達は、MobileBERT アーキテクチャを拡張し、NAS を活用して TPU にうまくマッピングするモデルを発見しました。MobileBERT-EdgeTPUと名付けられたこれらのMobileBERTの新バージョンは、最大で2倍のハードウェア利用率を達成し、ベースラインのMobileBERTと同等の応答速度でTPU上に大規模かつ高精度のモデルを展開することができます。
MobileBERT-EdgeTPUモデルをGoogle TensorのTPU上に展開すると、データセンターに一般的に配備されている大規模なBERTモデルに匹敵するオンデバイス品質が得られます。
質問回答タスク(SQuAD v 1.1)におけるパフォーマンス
Pixel 6に搭載されたTPUは、CPUと比較して約10倍の高速化を実現していますが、TPUのモデルをさらにカスタマイズすることで、データセンターに一般的に導入されている大規模なBERTモデルと同等のオンデバイス品質を実現しています。
まとめ
今回の投稿では、ターゲットハードウェアに合わせてMLモデルを設計することで、Pixel 6のオンデバイスML機能を拡張し、PixelユーザーにMLを活用した高品質な体験を提供した手法を紹介しました。NASを使って、MLモデルの設計を様々なオンデバイスのタスクにスケールアップし、モバイルデバイスの応答速度と電力の制約の中で、オンデバイスで最先端の品質を提供するモデルを構築しました。研究者やML開発者は、TensorFlowモデルガーデンやTF Hubを通じてアクセスすることで、これらのモデルを自分で試すことができます。
謝辞
本研究は、Googleの複数のチームの協力により実現しました。Rachit Agrawal, Berkin Akin, Andrey Ayupov, Aseem Bathla, Gabriel Bender, Po-Hsein Chu, Yicheng Fan, Max Gubin, Jaeyoun Kim, Quoc Le, Dongdong Li, Jing Li, Yun Long, Hanxiao Lu, Ravi Narayanaswami, Benjamin Panning, Anton Spiridonov, Anakin Tung, Zhuo Wang, Dong Hyuk Woo, Hao Xu, Jiayu Ye, Hongkun Yu, Ping Zhou, and Yanqi Zhuo。最後に、このブログ記事のためにイラストを作成してくれたTom Smallに感謝します。
3.データセンター内のBERTに匹敵する性能を持つPixel 6搭載の言語モデル(3/3)関連リンク
1)ai.googleblog.com
Improved On-Device ML on Pixel 6, with Neural Architecture Search