PR

 分散バージョンのChainerは、2016年に国立情報学研究所(NII)の助教からPFNに転じた秋葉拓哉氏が開発を主導。現行のChainerからはフォーク(分離)したバージョンという扱いで、「リリース形態はまだ決めていない。現行のChainerの開発は継続する」(西川社長)としている。PFNは近日中に「Chainer 2.0」をリリースする予定だが、これは分散バージョンのChainerではない。

柔軟性と性能を両立へ

 Chainerではニューラルネットの構造や学習方法を記述するプログラミング言語として「Python」を使用する。ネットワーク構造の記述形態としては「手続き型(命令型、Imperative)」を採用する。他のフレームワークの多くは、「シンボル型(宣言型、Declarative)」を採用することが多い。

 手続き型はプログラミング言語が備える構文をそのまま使えるため、利用者にとって柔軟性に富んでいる。一方、シンボル型を使うとニューラルネットのグラフ構造全体を設計するのが容易で、分散処理を実行する場合の最適化もしやすい。現行のChainerは性能よりも柔軟性を重視していた面があった。それに対して分散バージョンのChainerは、柔軟性を維持しながら拡張性の高さも実現することになる。