深層学習フレームワークで世界に伍して闘った、その先見性とは? ──SOCIAL TECH PLAYER賞は「Chainer」開発チーム

インタビュー
2019年12月、Preferred Networksは、開発の基盤技術である深層学習フレームワークを自社開発した「Chainer」から、Facebookが開発した「PyTorch」に移行することを発表した。TECH PLAYER AWARD 2020審査員は、Chainerが深層学習技術にもたらした功績と、基盤技術を移行する決断を高く評価。「SOCIAL TECH PLAYER 賞」に選出した。
深層学習フレームワークで世界に伍して闘った、その先見性とは? ──SOCIAL TECH PLAYER賞は「Chainer」開発チーム

▲Chainerが日経優秀製品・サービス賞2018で日本経済新聞賞を受賞した当時のChainer開発チーム

深層学習をもっと使いやすくするフレームワーク「Chainer」

Preferred Networks(プリファードネットワークス、以下PFN)が開発・提供するPythonベースの深層学習フレームワーク「Chainer(チェイナー)」は、2015年6月にオープンソース公開されて以来、PFNの研究開発を支える基盤技術として事業の成長に大きく貢献してきた。

さらに、Chainerが世界に先駆けて採用したDefine-by-Runによるモデル記述手法は、複雑なニューラルネットワークを直感的かつ柔軟に構築できることから、研究者・開発者コミュニティの支持を集め、主要な深層学習フレームワークのスタンダードな方式として広く取り入れられてきた。Chainerが深層学習技術の発展を加速させる一翼を担ってきたことは、深層学習に関わる研究者・開発者であれば誰もが認めるところである。

「ITエンジニアがディープラーニングに慣れ親しみ、実際に活用するにあたって、その車輪の発明に真正面から取り組んだ姿勢に敬意を表したい」と、TECH PLAYER AWARD 審査員の一人である田中邦裕氏(さくらインターネット 代表取締役社長)も授賞理由の中で最大級の賛辞を送っている。

PFNでChainer開発の中心にあったのが、リサーチャーの得居誠也氏だ。東大大学院で数理情報学を専攻した後、2012年にPFNの前身である「プリファードインフラストラクチャー(PFI)」に入社。当初はオンライン機械学習向けの分散処理フレームワーク「Jubatus(ユバタス)」を開発していたが、並行して深層学習にも関心を持っていた。

2012年といえば、Googleが大規模ニューラルネットワークを用いて猫の画像認識に成功したというニュースが話題になっていた頃。深層学習の威力がコンピュータサイエンス研究者の間で認識され出した時期にあたる。

得居氏は、機械学習のJubatusの開発のかたわら、深層学習をもっと使いやすくするためのフレームワークを考え始めていた。

「Chainerをリリースしたのは2015年のことですが、当時は深層学習のフレームワークでは、海外の大学の研究室が作ったものがいくつかあるだけで、日本ではまだ生まれていませんでした。さらに、当時のフレームワークは、入り組んだループ構造のあるネットワークを書くのに必ずしも最適ではない。これは、自然言語処理をやっていたメンバーとのディスカッションのなかでよく課題になっていたことです」

Alt text
▲株式会社Preferred Networks(PFN)リサーチャー 得居 誠也氏
2012年に株式会社Preferred Infrastructure入社。2014年にPFNに入社し、2015年からChainerの開発を開始。現在は、深層学習用チップのためのソフトウェア基盤を開発している。

複雑なネットワークをもっと簡単に書けるフレームワークはないか。そこで、今でいうDefine-by-Run方式を思いつき、それをプロトタイプ的に実装したのがChainerだった。

「作ってみたらどんなネットワークでも書きやすいということがわかり、自然言語処理だけでなく、深層学習全体で使っていけるんじゃないかと思うようになりました」

当初からOSS化して普及させることは前提で、ドキュメント類も英語版を用意し世界で使ってもらうことは意識していた。2015年6月のChainer公開時には、Googleの「TensorFlow(テンサーフロー)」も、Facebookの「PyTorch(パイトーチ)」もまだ公開されていなかったので、「後にGAFAと真っ向勝負することになるとは全く想像していなかった」というのだ。

深層学習のフレームワークが雨後の筍のように生まれた時期があった。その中でもChainerのアプローチは独特なもので、熱心なファンも生まれたが、GoogleやFacebookが入ってきてから状況がガラリと変わった。この分野でもテックジャイアンツ企業が追い上げるスピードは速かった。

「主だったフレームワークとしては、Chainerの後に、Amazon、Microsoft、Google、ちょっと間が空いてFacebookのPyTorchが続々と誕生し、フレームワークの競合の時代へと入ります」と、Chainerのコミュニティ作りに尽力した舛岡英人氏(PFIからスピンオフしたレトリバのカスタマーサクセス部長)が、この間の背景を補足する。

Alt text

▲株式会社レトリバ カスタマーサクセス部 部長 舛岡 英人氏
提案・導入・保守を担当。2016年に株式会社レトリバ創業メンバーとしてPFIから転籍し、現職。Chainerコミュニティ「chug」の運営メンバー。

世界にユーザーベースを拡大するという難しい課題

GoogleやFacebookが参入する中、フレームワーク開発で最も苦労したのは、その技術的な面もさることながら、ユーザー数の拡大だったという。

「GAFAが参入する前から作っているわけですから、私たちには先行者のアドバンテージがありました。フレームワーク自体の出来もTensorFlowやPyTorchと比較しても劣っていないどころか、それらにはない機能や使いやすさがあると自負しています。ただ、いかんせんPFNは小さな会社で開発リソースは限られているし、会社自体の世界的知名度もない。

やはりGoogleが、Facebookが作っているからこそ、そこに価値を感じるユーザーはいるのです。学会やユーザーコミュニティに行けば、Chainerへの期待を熱く語る人々には出会えるのですが、そのユーザーベースをもっと世界規模に拡大すること、特に若い人たちに使ってもらうという活動やアプローチがなかなかうまくできなかった」と、得居氏は反省の弁を述べる。

開発の面でもチームには、JubatusなどのOSS開発の経験はあったが、Chainerほど広く使われたソフトウェアの開発は初めての経験だった。コミュニティの声は時には励ましになるが、場合によってはプレッシャーになる。

「特に2018〜2019年は、TensorFlowやPyTorchにはあるのに、Chainerにはなぜこの機能がないのかとコミュニティから指摘されるようになりました。10人そこそこの開発チームで、GoogleやFacebookと闘うのは本当に大変だったと思います」(舛岡氏)

Alt text
▲Chainer開発コミュニティ

だが、開発自体は楽しかったと得居氏は語る。

「私としては世界で闘うみたいな野心はなくて、ただ思いついたからやってみたという感じ。PFNは開発者・研究者自身が楽しいと思えるところに全力で突っ込んでいける、そういう環境なんです。もちろん、スタートアップなので一つの技術に割けるリソースは限られているのですが、将来的にビジネスのコアになる技術にはしっかり投資していく姿勢がありました。

ChainerはOSSにしているので、それ自体はビジネスにならないのですが、PFNの創業者二人も技術者なので、その技術を握っていることがこれからの会社の成長につながるという確信をトップが持っていてくれたのは幸いでした」(得居氏)

GAFAと闘った経験を、次につなげる

日本のテクノロジースタートアップが深層学習の世界的な発展に深くコミットしている。その事実自体が興奮するものではあったが、PFNは2019年12月、Chainerを同月にリリースしたv7をもってメンテナンスフェーズに移行すると発表した。

今後はChainer開発を通じて得られた知見を生かし、FacebookおよびPyTorchコミュニティと密接に連携することで、Chainerの開発思想とその優れた機能をPyTorchに引き継いでいくとした。その決断の理由を得居氏はこう述べている。

「私たちがフレームワークを開発するのは、社内外の研究者がアイデアをスムーズに実装できるようにするためです。深層学習の研究開発はどんどん過熱化し、今は1日に何本もの論文が発表される時代。論文を読むだけでも膨大な時間を費やしてしまう。OSSとして公開された実装をいかに素早く検証し、取り組んでいくかが問われています。

そこで、論文の著者がどのようなフレームワークを使っているかが重要になってくる。そんな時期に、根っこの設計思想には違いがあるものの、見た目には似たようなフレームワークがいくつもある必要はないし、それで研究者の関心が分散するのは世界にとって損失だとさえ思います。

Alt text

たしかにPyTorchのほうがChainerよりもユーザーベースは大きい。だったら、今Chainerに注いでいる開発リソースを、PyTorchに注ぎ、より社内外の研究開発のスピードを上げるほうが深層学習の未来、実用化のためには良いことだと判断し、今回の決定に至りました」

PyTorchへの移行という発表を聞き、落胆したエンジニアもいたかもしれない。しかし、審査員の及川卓也氏は「世界と戦い、夢半ば破れたと思われるかもしれないが、そうではない。その先見性は世界も認め、コア技術や貢献者たちは今でも未来につながっている」と述べている。

深層学習でどんな課題を解くのか

今後、PFNの深層学習フレームワークの開発はどう進んでいくのだろうか。 Chainerチームはすでに、Chainer上で積み上げた研究成果をPyTorchにマイグレーションするためのツールを発表。Chainerユーザーが自分の研究開発をPyTorch上でスムーズに進めるための環境整備に尽力していく。

この移行部分を担当する同社のディープラーニング・フレームワークス・チームの前橋賢一氏は、「Facebookとは定期的にミーティングを持ち、PyTorchへ移行し、今後のPyTorch自体を盛り上げていくための共同作業を進めています。PyTorchを使っているエンジニアが便利に使えるように、PFN主導でライブラリの拡充も進めていく予定です」と語っている。

Alt text
▲株式会社Preferred Networks(PFN)エンジニア 前橋 賢一氏
2017年にPFNに入社し、Chainer開発に携わる。現在はPyTorchコミュニティとの連携を推進している。

さらに、3人にはこれからの深層学習の技術トレンドがどうなるかも聞いてみた。

「深層学習はますます複雑化し、学習にかける時間やスケールも大きくなっていきます。そこでは深層学習のために計算機パワーをどう使い切るか、最適化されたチップやデータセンターをどう作るべきかどうか——ということも考えないといけません。たとえばPFNは、深層学習向けプロセッサーMN-Core™を神戸大学と共同開発し、それを搭載したMN-3によってスーパーコンピュータの省電力性能を示すGreen500リストで世界一位になるなど、この分野にも精力的に取り組んでいます。

逆にもっと上位のレイヤーでは、いまはニューラルネットを人手で設計しているわけですが、今後も人間が書き続けるのかという課題があります。ネットワークの設計の一部をAutoMLのような技術を使ってどうやって自動化していくか。その意味ではフレームワーク領域の技術は今後枯れていくかもしれませんが、その上と下のレイヤーではどんどん進歩が続いていくと思います」(得居氏)

「深層学習は、Githubなどのおかげで簡単に試せるようになっています。そのため、深層学習を使えるというのは当たり前になっています。かつてのリレーショナルデータベースを生かすためにERPなどのアプリケーションを開発したようにどうやって活用するかが、焦点になっていると思います。だからこそ、どんなデータを集めてくるのか、それを使ってどんな問題をどう解くかに関心は集約していく。そこではやはりエンジニアの発想が重要になります」(舛岡氏)

「今のスマートフォンには当たり前のように深層学習専用のチップが搭載されていますが、さらに小規模な、センサーのようなデバイスにも今後は搭載されてくると思います。その部分でのソフトウェアはまだ発展途上です。ソフトウェアエンジニアにとって、やるべき仕事はまだまだ多いと思います」(前橋氏)

深層学習の地平を一段と高みに引き上げたChainerチームの5年間の実績。審査員の常盤木龍治氏(パラレルキャリアエバンジェリスト)が述べた「最高の挑戦者達に最大限の拍手」を送るとともに、これからのチャレンジにも大いに期待したい。

TECH PLAYER AWARD

『TECH PLAYER AWARD 2020』は、実現したい世界のためにテクノロジーを駆使し、新たな価値を創り出す挑戦者(テックプレイヤー)の中から、この一年で最も活躍、またはチャレンジした企業・団体や人物を表彰するアワードです。

TECH PLAYER AWARD 2020

おすすめのコラム