AIの片隅で(18) Chainer、開発の終わり

12月5日づけで、ちょっとショックなプレスリリースが出てました。日本を代表するAI(人口知能の方、最近投稿に頻発しておりますAugumentation Indexではありませぬ)ベンチャー企業であるPreferred Networksさんの以下のプレスリリースであります。

Preferred Networks、深層学習の研究開発基盤をPyTorchに移行

AIの片隅で 投稿順index

プレスリリースのタイトルだけみると、「移行」する先はPyTorchと書かれていますが、「移行」する元の肝心なお名前が書かれていません。

Chainer

です。Preferred Networksさんの代名詞とも言える(?)AIフレームワークです。本稿などでも、お勉強のためにちょいとChainerを使用させていただいております。どれも浅墓なもので使ったというほど使ってもいない、撫でてみた程度なのですが「Chainerネタ」で結構投稿させていただいとりました。以下のとおりであります。

プレスリリースを読むと、このリリースと同時に公開されたv7というバージョンを最後に、今後はメンテナンスフェーズだそうです。メンテナンスフェーズということは、何か不具合のFIXなどは提供されるかもしれないけれども、今後は、新機能とか性能向上とかされることはないということでしょう。可哀そうに最新版は登場と同時にこのリリースなので、出た瞬間に「お前は既に死んでいる」状態。ゾンビか。

そういう辛い決断の背景、リリースに書かれています。ちょっと長いですが引用させていただきましょう。

深層学習フレームワークそのものが開発の競争力となっていた時代は終わりを迎えつつあります。細かい差異による差別化競争を継続するよりも、深層学習技術のさらなる進化に向け、ユーザーが選ぶ深層学習フレームワークにおいてコミュニティを継続的に発展させ、健全なエコシステムを築いていくことが重要です。

そういうことで、自社開発を止め、今後はPyTorchに「合流」するという感じでしょうか。PyTorchを使って今後のAI開発を行うだけでなく、Facebook主導のPyTorchの開発に参加もしていく、そしてPyTorch側もPreferred Networksの参加Welcomeという感じのような書きぶりです。

裏でどんな葛藤があったのかは、うかがい知れませんが、Preferred Networksさんの対応、なかなか立派じゃないか、と思うところが3点ほどあります。

    1. ChainerからPyTorchへのマイグレーションツール、ライブラリを提供
    2. CuPyの開発はつづける
    3. 私らなどがちらりとお世話になったChainerのチュートリアルも直すかも

本格的にChainerで開発していたところにしてみたら、結構、愕然とする決定かもしれません。マイコン業界でもたまにある「そのCPUコア、ディスコンです」的な。どうしてくれる!と怒る人がでる筈なので、いままでChainerで開発してきた資産をPyTorchへ移植するための、ツールやライブラリを提供します、というのは当然といえば、当然ですが、必要な対応でしょう。だいたい自分らの資産も移行せんとイケないわけだから、ツールやライブラリは自分用にも必要と。

2番目のCuPy(キューピーと呼ぶのかな?)は、Python知らない人のために簡単に注釈しておきます。素のPythonはリストと辞書、集合などのデータ構造ばかりでCの配列的なものがないのです。そういう配列的なモノが必要な場合、NumPyというモジュールを用います。Pythonで数値計算やるときの定番中の定番といって良いでしょう。そのNumPyと「互換」的な書き方で、GPUを使って高速に計算できるようにしたモジュールがCuPyです。ChainerはこのCuPyの上に構築されていると。そしてChainerならずとも、PythonからGPUを使う際には、これ使うと楽勝なので多分世界中で使われている筈。そしてCuPyはPreferred Networksさんが開発元です。こちらの開発は、続けるとリリースには書かれています。ああよかった、と思う人もいるんじゃないかな。なお、最新版からはAMDのGPUにも対応しているらしいので、ますますCuPy便利。

3番目はPreferred Networksさんが提供しておられる、数少ない日本語ネーティブ向けの立派なAIチュートリアルの件(英文版もある筈ですが)。Chainerベースだったのですが、PyTorchへの移行へともない、こちらもそのうち変更されるようです。良かった。。。

それにつけても3,4年前はAI、AIというだけで持てはやされて、多分、お金も飛び交い、一種バブルの様相でしたが、最近、少し風向きが変わってきましたかね。勿論、AI応用は広がっているし、実ビジネスにもなって来ているのだけれど、反面、結果を求められるというか、コスパというか、投資対効果というか、まあ、普通に会社で事業やっていれば必ず求められるあたりに落ち着いてきたんじゃないかと想像します。

誰がどうしてChainerの開発停止のトリガを引いたのかは分からないですけれど、相当いろいろあっただろうなあ。年寄りは、何度かそういう場面に立ち会ってもいるのだけれど、辛いところ、人生の転機になる人もいるかも知れないなあ。誰か、ぶっちゃけ、内情でも書かないかね。リリース文は、ま、どうしても公式見解で、かっこよすぎるものだし。。。

AIの片隅で(17) n, c, h, w, k, p, q, u, v, r, s なんのこっちゃ? へ戻る

AIの片隅で(19) CuPy、NumPy、単精度、倍精度 へ進む