この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
昨年10月、同タイトルの記事を公開して好評だった。今回は、2021年に向けた、そのアップデート記事となる。
ディープラーニング(深層学習)を実装する場合、専用のライブラリ/フレームワークを用いるのが一般的だ。ディープラーニングが流行してから直近5年ほどの間に、次々と新しいフレームワークが登場した。現在、主要なものを挙げると、
などがある(※機械学習の分野にまで広げるとscikit-learnなどもあるが、今回は深層学習に絞る)。ちなみに、いずれもオープンソースである。
2020年12月現在、主にTensorFlow/KerasとPyTorchがシェアを競っている状況である。この状況は、1年前と比べて大きな変化はないものの、去年の特色をさらに推し進めるような結果が出ているので本稿で解説したい。
本稿ではTensorFlowとPyTorchという2大フレームワークにおける幾つかの比較(検索トレンド、研究論文での活用数、Kaggleでの実用数)を紹介していく。
まず前提として、この2大フレームワークの特色を押さえておきたい。それぞれの特色は、以下のように昨年から引き続きあまり変わっていない。
検索トレンドの比較では、TensorFlowとPyTorchのトレンド推移を比較することとする。比較期間は、2018年1月1日〜2020年12月12日である。昨年は、日本/世界/アメリカ合衆国/中国に分けて説明したが、記事がよりシンプルになるよう「世界」に絞って解説する。日本独自の特色などがある場合は、文章で簡単に言及することとする。
なお、検索トレンドを比較することに関しては、「真の人気を反映しているとは一概に言えないよね」という疑心が筆者自身の中にもあるのだが、「折れ線グラフの向きで、成長傾向か衰退傾向かは、ある程度判別できる」と考えているので、本稿でも紹介することにした。あくまで「検索エンジン」という特殊なプラットフォーム上でのトレンド比較なので、「どれが一番人気か」を判断する際には、その分を割り引いて捉えてほしい。
青い線がTensorFlowで、赤い線がPyTorchである。2018年ごろは圧倒的にTensorFlowが高い検索シェアを占めていたが、2020年12月時点ではほぼ差がない拮抗(きっこう)状態となっている。
2018年〜2019年はPyTorchが圧倒的な上昇を見せたが、2020年はその伸びが弱まったようである。2020年後半でやや下降し始めている。
一方で、TensorFlowは少しずつ下降していっており、全く上昇していないようである。
2019年末の予想では、2020年中に検索シェアは逆転してもおかしくないと考えられたが、両方とも下降もしくは横ばいが見られる現状では、もちろん逆転してもおかしくないが、このままの僅差が2021年も続くのかもしれない(と筆者は考えている)。
なお、日本においては2020年に入ってから両者の差がほぼなくなり、PyTorchがTensorFlowを上回る時期も出てきており、そのままの拮抗状態の横ばいが1年間、続いている。米国においては2020年9月ごろに両者の差がなくなり、両者ともやや下降気味となっている。
この結果を受け、「いずれにしても、両者の特色に合わせた“すみ分け”が確立してきているのではないか」と筆者は考えている。その論拠として、研究分野の指標として「研究論文での活用数」、実用面での指標として「Kaggleでの実用数」のグラフを提示する。
通常、研究論文でのフレームワーク活用数を調べるのは大変だ。そこで昨年の記事でも利用したHorace He氏のWebアプリで生成したグラフをダウンロードしたものを引用しながら、研究分野でのトレンド比較を行っていく。比較期間は、主に2018年〜2020年である(※厳密な月日についてはグラフからは不明なのでご了承いただきたい)。
なお、このグラフで比較可能なのは、
という9個のトップ研究カンファレンスにおける論文リソースである(※よって、全ての研究論文を調査したわけではなく、標本に偏りが存在する可能性はあるので注意してほしい)。
今回は、全論文リソースから作ったグラフのみを見てみよう。
図2のグラフは、TensorFlowもしくはPyTorchのいずれかを使用している論文だけに絞って、PyTorchの方を利用した論文の割合を時系列で示したものである(※それ以外のフレームワークの使用については調査対象外)。なお、左端にある目盛りの最上値は100%ではなく90%であることに注意してほしい。
2019年から2020年の比較では、下記4つのカンファレンス論文のグラフ線が描かれている。
いずれもPyTorchの利用割合が10%〜17%ほど増加している。このように、2018年、2019年の急伸からはやや鈍化した印象だが、引き続き2020年中も論文でのPyTorchの採用(もしくはTensorFlowからの切り替え)が進んだ結果となった。順当にこの傾向が2021年も続くと仮定すれば、上記4つのカンファレンス論文の平均値は、2020年末は73%となるが、2021年末には80%以上にまで進む可能性があるだろう。
以上の結果から、研究分野/論文でのPyTorchの強さがあらためて確認できた。その他にも興味深いグラフがあるので、興味がある方は引用元のHorace He氏のWebアプリを確認してみてほしい。
研究分野に続いて、実用/実践面での活用数を比較してみよう。
Kaggleなどのデータサイエンス/機械学習のコンペティションは、「研究しやすいかではなく、いかに効率的に実用しやすいか」という視点でフレームワークが選択されている、と本稿では想定している。Kaggleでは2017年から毎年、Kaggle参加者にアンケートを取っており、つい先日、2020年版のアンケート結果レポート『State of Data Science and Machine Learning 2020』が公開されたので、その中から「フレームワークの利用率」のグラフを図3に引用する。ちなみに2019年版はこちらで公開されている。
これを見ると、TensorFlowが、20ポイントほどPyTorchを上回っている。なお、「TensorFlowはディープラーニング目的でKerasと組み合わせて顕著に使用されている」とレポート記事で説明されている。
Copyright© Digital Advantage Corp. All Rights Reserved.