GPipe:大規模ニューラルネットワークを効率的に訓練するオープンソースライブラリ(3/3)

  • 2019.03.09
  • AI
GPipe:大規模ニューラルネットワークを効率的に訓練するオープンソースライブラリ(3/3)

1.GPipe:大規模ニューラルネットワークを効率的に訓練するオープンソースライブラリ(3/3)まとめ

・GPipeを使って5億5,700万のパラメータのAmoebaNet-Bで84.3%のTop-1 Accuracyを達成
・Top-5 Accuracyでは97%、どちらも追加データなしに達成
・CIFAR-10の最高精度99%、そしてCIFAR-100の精度も91.3%を達成

2.GPipeにより可能になるパラメータの数

以下、ai.googleblog.comより「Introducing GPipe, an Open Source Library for Efficiently Training Large-scale Neural Network Models」のまとめです。元記事は2019年3月4日、Yanping Huangさんによる投稿です。

テスト精度
GPipeを使用して、既存のニューラルネットワークをスケールアップすることでさらに優れた品質を達成できるという仮説を検証しました。ImageNet ILSVRC-2012データセットを使い、5億5,700万のパラメータと480 x 480の入力画像サイズでAmoebaNet-Bをトレーニングしました。ニューラルネットワークを4分割し、モデルとデータの両方に並列トレーニングプロセスを適用しました。

この巨大なモデルは、追加のトレーニングデータなしで、最先端の84.3%のTop-1 Accuracy(モデルが最初に提示したラベルが正解である確率)と97%のTop-5 Accuracy(モデルが提示した5つのラベルの中に正解が含まれている確率)を達成しました。大規模ニューラルネットワークは、ImageNetのようなデータセットに適用できるだけでなく、転移学習を通じて他のデータセットにも関連します。より良いImageNetモデルは転移学習先での品質も優れている事も論文「Do Better ImageNet Models Transfer Better?」で示されました。

私達は、CIFAR10とCIFAR100のデータセットに対して転移学習の実験を行いました。私達の巨大なモデルは公表されたCIFAR-10の最高精度を99%に、そしてCIFAR-100の精度を91.3%に高めました。

まとめ
自動運転や医療用画像処理など、実用的な機械学習アプリケーションの開発と成功は、可能な限り最高の精度を達成することにかかっています。これには大規模でさらに複雑なモデルを構築する必要があることが多いので、GPipeをより広範な研究コミュニティに提供できることを嬉しく思います。GPipeが大規模DNNの効率的なトレーニングに役立つインフラストラクチャであることを願っています。

謝辞
本論文の共著者の皆さん、Youlong Cheng、Dehao Che、HyoukJoong Lee、Jiquan Ngiam、Quoc V. Le、そしてZhifeng Chenに感謝します。Esteban Real、Alok Aggarwal、Xiaodan Song、Naveen Kumar、Mark Heffernan、Rajat Monga、Megan Kacholia、Samy Bengio、そしてJeff Deanの支援と貴重なご意見に感謝します。Noam Shazeer、Patrick Nguyen、Xiaoqiang Zheng、Yonghui Wu、Barret Zoph、Ekin Cubuk、Jonathan Shen、Tianqi Chen、およびVijay Vasudevanとの有益な議論からインスピレーションを得ています。そして大きなGoogle Brainチームの皆さん。

(GPipe:大規模ニューラルネットワークを効率的に訓練するオープンソースライブラリ(2/3)からの続きです)

3.GPipe:大規模ニューラルネットワークを効率的に訓練するオープンソースライブラリ(3/3)関連リンク

1)ai.googleblog.com
Introducing GPipe, an Open Source Library for Efficiently Training Large-scale Neural Network Models

2)arxiv.org
GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism
Do Better ImageNet Models Transfer Better?

3)github.com
lingvo/lingvo/core/gpipe.py