オープンソースの深層学習フレームワークChainer および 汎用配列計算ライブラリCuPy の最新版となるv5をリリース
2018.10.25
株式会社Preferred Networks(本社:東京都千代田区、代表取締役社長:西川徹、プリファードネットワークス、以下、PFN)は、オープンソースの深層学習フレームワークChainer(TM)(チェイナー)および汎用配列計算ライブラリ CuPy(TM)(クーパイ) のメジャーアップデート版となるv5 をリリースしました。
6か月ぶりのメジャーバージョンアップとなる今回、これまで追加パッケージとして提供していたChainerMN(チェイナー・エム・エヌ、分散深層学習パッケージ)を統合し、より簡単に利用できるようになりました。最新版v5では、v4までのコードをほとんど変更することなくそのまま動作させることが可能です。
Chainer v5およびCuPy v5の主な特長は次の通りです。
- 分散深層学習パッケージChainerMNを統合
・Chainerの一部として統合され、より簡単に、複数GPUによる高速な分散深層学習を実行可能
- データ拡張ライブラリNVIDIA(R) DALI に対応
・JPEG画像のデコードやリサイズなどの前処理をGPUで処理することにより高速化
- FP16をサポート
・ほとんどコードを変更することなくFP16モードに変更可能
・メモリ消費が減ることで、より大きなバッチサイズが使用可能
・NVIDIA(R) Volta GPUのTensor コアを使用することにより、さらに高速化可能
- 最新のインテル(R) アーキテクチャに対応
・v4で導入されたChainer Backend for Intel(R) Architecture (旧iDeep)の最新版(Version 2)に対応し、インテル(R) プロセッサーでの学習および推論を高速化
- 静的グラフに対する計算の高速化・省メモリ化
・学習を通して変化しない静的グラフをキャッシュすることで、その部分の計算やメモリ使用を最適化し、学習速度を20~60%高速化
- CuPyが相互連携強化Anaconda Numba、PyTorchと相互に並列データを交換
・Anaconda NumbaによりJITコンパイルされた関数にCuPyの配列をダイレクトに渡すことが可能
・DLpack:PyTorchなどの他フレームワークと相互に配列データ交換可能
- CuPyの基礎的な操作を50%高速化
・メモリ確保や、配列の初期化などの性能が向上
- Chainer Release Note: https://github.com/chainer/chainer/releases/tag/v5.0.0
- CuPy Release Note: https://github.com/cupy/cupy/releases/tag/v5.0.0
- Upgrade Guide:https://docs.chainer.org/en/v5.0.0/upgrade.html
ChainerおよびCuPyの開発は、外部コントリビュータの開発成果を数多く取り入れています。PFNは今後も、最新の深層学習研究の成果を迅速に取り入れ、サポート企業やOSSコミュニティと連携しながらChainerとCuPyの開発・普及を推進してまいります。
- オープンソースの深層学習フレームワークChainerについて
PFNが開発・提供するChainerは、Pythonベースのディープラーニング向けフレームワークとして、“Define-by-Run”の手法を通じてユーザーが簡単かつ直感的に複雑なニューラルネットワークを設計するための高い柔軟性とパフォーマンスを兼ね備えています。2015年6月にオープンソース化されたChainerは、最も普及しているディープラーニング向けフレームワークの1つとして、学術機関だけでなく、ディープラーニングがもたらすメリットを現実世界のアプリケーションや研究に活用するための柔軟なフレームワークを求める産業界の多くのユーザーに支持されています。
Chainerは、最新の深層学習研究の成果を迅速に取り入れ、ChainerRL(強化学習)/ChainerCV(コンピュータ・ビジョン)/ChainerUI(学習ログの可視化)/Chainer Chemistry(化学、生物学分野のための深層学習ライブラリ)などの追加パッケージ開発、Chainer開発パートナー企業のサポートなどを通して、各分野の研究者や実務者の最先端の研究・開発活動を支援していくことを目指しています。(http://chainer.org/)