ailia SDK 1.2.16をリリース
VulkanのFP16対応やGPUメモリの削減、外部pb対応を行ったailia SDKのバージョン1.2.16のご紹介です。ailia SDKについてはこちらをご覧ください

ailia SDK 1.2.16
VulkanのFP16対応
VulkanバックエンドでFP16モードに対応しました。FP16で推論することで、モバイルGPUなどメモリ帯域が限られた環境で高速化が見込めます。
例えば、YOLOX-SをMali-G78で推論する場合、FP32だと156msですが、FP16だと117msで推論可能です。
VulkanのFP16バックエンドの使用にはVulkan 1.2以降が必要です。Android 13以降であれば、Vulkan 1.3が標準になっているため、Android 13以降の端末であれば標準で使用可能です。
メモリ使用量の削減
重みをGPUに転送した場合にCPU側のメモリを解放することで、CPUメモリの使用量を削減しました。また、cuDNN向けのメモリ再利用モードのアルゴリズムを改良し、従来よりも多くのGPUメモリがメモリ再利用できるようになりました。
2GBを超えるONNXへの対応
外部pbの読み込みに対応しました。これにより、2GBを超えるONNXを読み込むことが可能です。
音声処理向けの高速化
チャンネル数の少ないConcatや、カーネルサイズの大きいConv1Dの処理の最適化を行い、音声処理モデルのパフォーマンスが改善しました。CrepeのCPU推論が2.6倍など大幅に高速化されます。また、RVCのCPU推論が20%程度高速化されます。
opset17対応
opset17のLayerNormalizationに対応しました。少し古いRVCでエクスポートしたモデルなど、LayerNormalizationを使用する音声系のモデルの推論が可能になります。
ailia.jsの追加
ailia.jsのライブラリを正式対応しました。ailia.jsを使用することでブラウザ上での推論が可能になります。ailia.jsの詳細は下記を参照ください。
ailia SDK 1.2.16で新たに使用可能になるモデル
外部pb対応により、大規模なモデルが動作可能になっています。
SegmentAnything(Metaによる高品質なセグメンテーションモデル)

座標を指定したセグメンテーション(出典:https://github.com/facebookresearch/segment-anything/blob/main/notebooks/images/truck.jpg)
BLIP2(高精度なキャプショニングモデル)
$ python3 blip2.py

BLIP2の入力(出典:https://github.com/salesforce/LAVIS/blob/main/docs/_static/merlion.png)
### 出力 ###
singapore merlion fountain
Whisper Large V2, V3(2GBを超える音声認識モデル)
$ python3 whisper.py -m large-v3
Multilingual E5 Large (最新のテキストEmbeddingモデル)
$ python3 multilingual-e5.py -m large
アイリア株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。アイリア株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。
ailia Tech BLOG