PFN、深層学習フレームワーク「Chainer」と汎用配列計算ライブラリ「CuPy」の最新版v6をリリース

株式会社Preferred Networks(以下、PFN)が開発・提供する深層学習フレームワーク「Chainer(チェイナー)」は、2015年にオープンソースとして公開され、Pythonベースのディープラーニング向けフレームワークとして、Define-by-Runの手法を通じてユーザーが簡単かつ直感的に複雑なニューラルネットワークを設計するための柔軟性とパフォーマンスを兼ね備えている。

このほど、PFNは、「Chainer」および汎用配列計算ライブラリ「CuPy(クーパイ)」のメジャーアップデート版となるv6をリリースした。Chainer v6では、v5までのコードをほとんど変更することなくそのまま動作させることができる。

今回、Chainer v6(β版)で試験的に統合されたC++製のChainerXが、より多くのexampleに対応した。ChainerXを使用することで、Chainerのフレキシブルさや後方互換性をほとんど失うことなく、順伝播・逆伝播ともにフレームワーク側のオーバーヘッドを大幅に低減して、より高いパフォーマンスを実現した。

また、新たなハードウェアへの対応をサードパーティの開発者がプラグインとして実装することで、ChainerおよびChainerX本体のソースコードを変更することなくChainerX上で利用できる。Chainer v6およびCuPy v6の主な特長は以下の通り。

  1. ChainerXの統合
    • 高速でよりポータブルな多次元配列と自動微分のバックエンドを追加
    • ChainerXの配列をNumPyやCuPyの配列と同じように使える互換レイヤーを実装し、C++による低オーバーヘッドな自動微分を実現
    • 統合デバイスAPIを導入し、NumPy、CuPy、iDeep、ChainerX など多様なバックエンドに対し、デバイス指定やデバイス間転送を統一のインターフェイスで実現
  2. 混合精度学習のサポート強化
    • デフォルトデータ型として新たにmixed16を追加し、単精度と半精度の演算を組み合わせた訓練を透過的に実現する混合精度モードを導入
    • 混合精度学習におけるアンダーフロー回避のため、オーバーフローを検出して自動調整する動的スケーリングを実装
  3. FunctionやLinkのテストツール追加
    最小限のコードから順伝播、逆伝播、2回微分のユニットテストを生成するテストツールを追加
  4. NumPy関数へのCuPy配列対応
    NumPyの試験的な機能である__array_function__に対応し、この機能を有効にした NumPyの多くの関数に直接CuPy配列を適用

PFNは、今後もChainerの性能向上やバックエンドの拡充を進める計画だ。

無料メルマガ会員に登録しませんか?

膨大な記事を効率よくチェック!

IoTNEWSは、毎日10-20本の新着ニュースを公開しております。 また、デジタル社会に必要な視点を養う、DIGITIDEという特集コンテンツも毎日投稿しております。

そこで、週一回配信される、無料のメールマガジン会員になっていただくと、記事一覧やオリジナルコンテンツの情報が取得可能となります。

  • DXに関する最新ニュース
  • 曜日代わりのデジタル社会の潮流を知る『DIGITIDE』
  • 実践を重要視する方に聞く、インタビュー記事
  • 業務改革に必要なDX手法などDXノウハウ

など、多岐にわたるテーマが配信されております。

また、無料メルマガ会員になると、会員限定のコンテンツも読むことができます。

無料メールから、気になるテーマの記事だけをピックアップして読んでいただけます。 ぜひ、無料のメールマガジンを購読して、貴社の取り組みに役立ててください。

無料メルマガ会員登録