ailia SDK 1.2.16をリリース

Kazuki Kyakuno
axinc
Published in
6 min readNov 24, 2023

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

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--

Kazuki Kyakuno
axinc
Editor for

CTO — ax Inc. , Managing Director — AXELL