AIのアルゴリズムの効率性は16か月毎に2倍に上昇(1/2)

AI

1.AIのアルゴリズムの効率性は16か月毎に2倍に上昇(1/2)まとめ

・アルゴリズムの改良でImageNet分類タスクに必要な計算量が16か月ごとに2分の1に減少
・7年前のAlexNetと同等のパフォーマンスを実現するために必要な計算能力は44分の1に
・アルゴリズムの進歩がハードウェア効率の向上よりも多くの利益をもたらしている可能性

2.AIのアルゴリズムの効率

以下、openai.comより「AI and Efficiency」の意訳です。元記事の投稿は2020年5月5日、Danny HernandezさんとTom Brownさんによる投稿です。

以前、AIの開発に使われた計算量の伸びが3.5カ月毎に倍増しているとの試算をOpenAIがしたのですが、あれはハードウェアの進化/投資の話でした。今回は測定が少し難しいけれどもアルゴリズムの効率性、すなわちソフトウェアの進化/投資を計測してみようと言う試みです。参考までにコンピューターの性能進化予測の際に良く言及されるムーアの法則は1.5年(18カ月)毎に2倍です。

アイキャッチ画像のクレジットはPhoto by Bill Jelen on Unsplash

2012年以降、ImageNetを使った分類タスクで同等なパフォーマンスを出せるようにニューラルネットをトレーニングする際に必要な計算量が16か月ごとに2分の1に減少していることを示す分析結果を公開します。

2012年と比較して、ニューラルネットワークをAlexNetと同等レベルまでトレーニングするのに必要な計算は44分の1になりました。(対照的に、ムーアの法則であればこの期間に11倍のコスト改善をもたらしています)。

私達の調査結果は、最近の研究開発投資が高レベルのAIタスクを対象としている場合、アルゴリズムの進歩により、従来のハードウェア効率よりも多くの利益が得られたことを示唆しています。

アルゴリズムの改善は、AIの進歩を推進する重要な要素です。計算機能力の進歩を測定するよりも難しくとも、全体的なアルゴリズムの進歩に光を当てる指標を探すことが重要です。

7年前のAlexNetと同等のパフォーマンスを実現するために必要な計算能力は44分の1になりました。

計算(Y軸は対数)

効率(線形)

AlexNetレベルのパフォーマンスを出すためにトレーニングに使用される計算の合計量(テラフロップス/秒)。任意の時点での最も低い計算量は青い点で示され、その他の計算量が灰色で示されています。

効率の測定
アルゴリズムの効率は「特定の機能をトレーニングするために必要な計算を減らす事」として定義できます。効率は、並べ替えなどの古典的なコンピュータサイエンスの問題のアルゴリズムの進歩を測定する主な方法です。並べ替えなどの従来の問題での効率の向上は、タスクの難易度をより明確に測定できるため、MLよりも簡単に測定できます。

ただし、パフォーマンスを一定に保つことで、効率を測る尺度を機械学習にも適用できます。効率の傾向は、DNAシーケンシング(10か月毎に倍増)、太陽エネルギー(6年毎に倍増)、トランジスタ密度(2年毎に倍増)など、異なった研究領域間で比較もできます。

私達の分析では、主にオープンソースとして公開されたモデルの再実装を活用して、長期にわたるAlexNetレベルのパフォーマンスの進捗状況を測定しました。ImageNetでのResNet-50レベルのパフォーマンス(17か月毎に倍増)についても、同様のトレーニング効率の向上が見られました。機械翻訳、囲碁、およびDota 2では、もっと短い時間間隔で速い改善率が見られました。

(1)機械翻訳の分野では、TransformerがWMT’14での英語からフランス語への翻訳でseq2seqのパフォーマンスを上回り、トレーニングに必要な計算量は3年後に61分の1になりました。

(2)囲碁の分野では、AlphaZeroは、1年後にAlphaGoZeroレベルのパフォーマンスを達成するために8分の1の計算しか必要としなかったと推定しています。

(3)Dota2の分野では、OpenAI Five RerunがOpenAI Five(人間の世界チャンピオンのOGを打ち負かした)を超えるために必要とした計算量は3か月後に5分の1になりました。

ドルの価値を時間の経過とともにインフレ調整する必要があるのと同様に、2012年の計算は2019年の計算と等しくないと考えると役立つ場合があります。一定の規模の計算は、2012年よりも2019年に多くを達成する可能性があります。

これについて考える1つの方法は、半導体開発で見られる「tick tock」モデルと同様に、一部のタイプのAI研究が2段階で進行することです。新しい機能(tick)は通常、取得するためにかなりの計算費用を必要とします。その後、プロセスの改善により、これらの機能の洗練されたバージョン(tock)は展開がはるかに効率的になります。

アルゴリズムの効率が向上する事で、研究者は与えられた時間とお金でより多くの関心のある実験を行うことができます。全体的な進歩の尺度である事に加えて、アルゴリズムの効率性の向上は、より多くの計算が可能になる事を意味するので、将来のAI研究をスピードアップします。

AIの進歩に関するその他の指標
効率に加えて、他の多くの手段がAIの全体的なアルゴリズムの進歩に光を当てます。

例えばドル換算したトレーニングコストも関連しますが、これは、基盤となるハードウェア、ハードウェア使用率、クラウドインフラストラクチャの改善によっても影響を受けるため、アルゴリズムの進歩に焦点を絞った事になりません。

サンプル効率は学習データが少ない状況では重要になり、これは、多くの興味深いタスクに当てはまります。モデルをより速くトレーニングする機能は、研究をスピードアップし、学習機能の並列化可能性の尺度と考えることができます。

また、GPU時間、パラメーター、およびフロップの観点からの推論効率の向上は意味がありますが、主に将来の研究の進歩への影響ではなく、経済的影響の結果です。

Shufflenetは、5年間で18倍(15か月毎に倍増)推論効率を向上させ、AlexNetレベルのパフォーマンスを達成しました。これは、トレーニング効率と推論効率が同様の速度で向上する可能性があることを示しています。 データセット/環境/ベンチマークの作成は、特定のAI機能をより容易に測定可能にする強力な方法です。

3.AIのアルゴリズムの効率性は16か月毎に2倍に上昇(1/2)関連リンク

1)openai.com
AI and Efficiency

2)arxiv.org
Measuring the Algorithmic Efficiency of Neural Networks

3)github.com
openai / ai-and-efficiency

コメント

タイトルとURLをコピーしました