EN

Neural Network Libraries v1.30.0とnnabla-nas v0.13.0をリリースしました!

2022年9月5日 月曜日

リリース

Posted by Akio Hayakawa

Spotlight

CUDA 11.4のサポート開始とCUDA 10.2のサポート終了

Neural Network Libraries v1.30.0から、CUDA 11.4に対応しました。
対応するpythonパッケージは https://pypi.org/project/nnabla-ext-cuda114 をご参照ください。
加えて、OpenMPI 4.1.3とCUDA11.4に対応したnnablaを同梱したマルチGPU環境用のdockerイメージも公開しました。詳細は、https://hub.docker.com/r/nnabla/nnabla-ext-cuda-multi-gpu/tags をご参照ください。
また、本バージョンをもってCUDA 10.2のサポートを終了しました。

CUDA/cuDNNを同梱したwheelの公開 (CPU / GPU)

LinuxとWindows両方の環境向けに、CUDAとcuDNNを同梱したwheelパッケージを公開します(alllibと名前が付いたパッケージとなります)。
デフォルトでは、CUDA 11.0.3とcuDNN 8が同梱されます。

このパッケージを利用することで、コンピュータにCUDA toolkitやcuDNNをインストールせずに、GPUを利用することができます。
なお、GPU driverについては同梱ライブラリが要求するバージョンより新しいものがインストールされている必要がありますので、注意してください。

multi-GPU対応のパッケージを利用する際には、追加でOpenMPIのみご自身でインストールしていただく必要があります。NCCLはCUDA toolkitと同様に同梱されておりますのでインストールする必要はありません。

pip install -U pip
pip install https://nnabla.org/whl/nnabla_ext_cuda_alllib/nnabla_ext_cuda_alllib-1.30.0-cp39-cp39-manylinux_2_17_x86_64.whl

上記以外のwheelについては https://nnabla.org/ja/install/#all-in-one_list をご確認ください。

cuTensorを用いたTransposeのCuda実装の高速化

CudaでのTransposeにおいて、特に内側2次元の転置のケース(transpose(..., axis=(0, 1, 3, 2))など)の高速化のために、cuTensorを用いた実装を追加しました。

具体的なユースケースでは、例えば、channel lastレイアウトからchannel firstレイアウト(およびその逆)への変換時に利用されるtransposeなどが今までよりも高速に動作するようになりました。

cuDNNのエラーメッセージの改善

cuDNNのエラーが発生した際に、出力するエラーメッセージを改善しました。これまでと比較して、コード内のエラー箇所をわかりやすく表示することに加え、エラーに関連するcuDNN API guide内の該当箇所が見つけやすくなるようにしました。

Before:

RuntimeError: target_specific error in cudnn_set_tensor_nd_descriptor_force_dim
/home/gitlab-runner/builds/jmdP2aBr/1/nnabla/builders/all/nnabla-ext-cuda/src/nbla/cuda/cudnn/cudnn.cpp:40
Failed `status == CUDNN_STATUS_SUCCESS`: NOT_SUPPORTED

After:

Caught exception "target_specific error in TestBody
nnabla-ext-cuda/src/nbla/cuda/test/test_nbla_cuda_utils.cpp:26
CUDNN_STATUS_ALLOC_FAILED occured in `FakeCudnnFunc()`. Please see CUDNN API documentation for the cause.

[Fairness] Prejudice Remover Regularizer (part1 / part2)

機械学習におけるデータバイアスを低減することができる、Prejudice Remover Regularizerをexampleに追加しました。表データ版の他に画像版もあります。
Colabによるチュートリアルも公開しておりますので、是非ご活用ください。

Name Notebook Task Example
Prejudice Remover Regularizer Open In Colab Mitigate the model bias with Prejudice Removal Technique
Prejudice Remover Regularizer for Images Open In Colab Mitigate the model bias with Prejudice Removal Technique for Images

CLIPの学習コードの公開

CLIPの学習コードを追加しました。mutli-GPUに対応しており、巨大なバッチサイズが必要な対照学習を分散計算することが可能です。

nnabla

Bugfix

Build

Format Converter

Examples

Known Issues


 

NNabla-NAS

Bugfix

Build

Core

Documentation

Utility