推論速度は22.3倍に向上。北京航空航天大学とバイトダンスはバイナリキーワード認識モデルを提案した。

推論速度は22.3倍に向上。北京航空航天大学とバイトダンスはバイナリキーワード認識モデルを提案した。

近年、FSMN に代表される音声キーワードスポッティング (KWS) モデルは、さまざまなエッジ シナリオで広く使用されています。しかし、音声ウェイクアップ アプリケーションのリアルタイム応答要件とエッジ デバイスの限られたコンピューティング リソースおよびエネルギー リソースの間には常に矛盾が存在しており、これが実際のハードウェア デバイスへの KWS モデルの展開を妨げています。最近、トップクラスの人工知能カンファレンスIJCAI 2022の論文採択結果が正式に発表されました。北京航空航天大学の劉翔龍教授チームとByteDance AI Labのインテリジェント音声チームが共同で、KWSタスク向けの初のバイナリニューラルネットワークBiFSMNを提案し、ARMデバイス上で最大22.3倍と15.5倍の推論加速とストレージ節約を実現しました。

論文アドレス: https://arxiv.org/pdf/2202.06483.pdf 1.

導入

1.1 背景

ディープ ニューラル ネットワークの現在の優れたパフォーマンスは、主に計算トレーニング用のハイエンド グラフィックス プロセッシング ユニットに依存しています。トレーニングされたモデルは通常、サイズとパラメータの数が大きいため、モデル操作の効率を向上させるには、大量のストレージスペースと十分なコンピューティングユニットが必要です。このため、計算能力やストレージ容量が限られている携帯電話などのエッジデバイスにモデルを展開することが難しくなり、ニューラルネットワークの適用可能なシナリオや展開プラットフォームも制限されます。

1.2 問題

モデルの 2 値化は進歩していますが、既存の方法による KWS ネットワークの 2 値化はまだ理想にはほど遠い状態です。ほとんどの量子化方法では推論中に浮動小数点演算が使用され、直接量子化するとパフォーマンスが大幅に低下します。まず、1 ビット パラメータを使用するため、バイナリ ネットワークの表現空間は極めて制限されており、最適化が困難です。第二に、KWS の既存のアーキテクチャではモデルのサイズとトポロジが固定されており、実行時にリソース予算を適応的にバランスさせることができません。さらに、既存の展開フレームワークは、実際のハードウェアに実装された場合、バイナリ化されたネットワークの理論的な高速化限界に到達するにはほど遠い状態です。

1.3 結果

  • KWS 用の正確かつ非常に効率的なバイナリ ニューラル ネットワーク BiFSMN が提案されています。
  • HED スキームは、高頻度情報を強調してバイナリ化されたネットワークのトレーニングを最適化するように構築されています。
  • TBA は、実行時に即時かつ適応的な精度と効率のトレードオフを実現するために提案されています。

BiFSMN は、既存の 2 値化手法よりも精度が大幅に向上しており、完全精度の 2 値化手法に匹敵します。さらに、この調査では、実際の ARMv8 デバイス上で BiFSMN の 22.3 倍の高速化と 15.5 倍のストレージ節約を達成しました。

2. 方法の概要

2.1 HED——高周波強化蒸留

研究では、エッジに向かう情報の本質は、基本的なバイナリ表現が高周波成分に重点を置く傾向があることであることが判明しました。この研究では、水平エッジと垂直エッジを分離するための分離可能な変換として一般的に使用される2D Haarウェーブレット変換(WT)[Meyer、1992]を使用し、表現を低周波成分と高周波成分に分解しました。特定の層に入力される隠れ状態Hは、ウェーブレット関数の族の加重和として表すことができる。

ここで、は特定の時間パラメータを持つマザーウェーブレット関数、は解像度レベル、K は波形の変換を決定します。表現の単一のコンポーネントによって伝達される情報量を測定するために、相対ウェーブレットエネルギーを使用して情報量を定義します [Rosso et al., 2001]。レイヤーのウェーブレット エネルギーは、まず次のように計算されます。

低周波係数と高周波係数が単一の分解によって得られる場合、それらの相対ウェーブレット エネルギーは次のように表すことができます。

相対的なウェーブレット エネルギーが大きいほど、このコンポーネントに情報が集中していることを示します。図に示すように、2 値化表現の高周波成分の相対ウェーブレット エネルギーは、フル精度表現と比較して大幅に増加しており、これは 2 値化表現が高周波成分に傾いていることを意味します。

上記の分析に基づいて、本研究では二値知覚訓練のための高周波強化蒸留法を提案した。この方式では、事前にトレーニングされた完全精度の D-FSMN を教師として利用し、蒸留プロセス中にその隠れ層機能の高周波成分を強化します。具体的には、本研究では、元の特徴にウェーブレット変換を適用し、低周波成分を除去し、次に高周波成分に逆ウェーブレット変換(IWT)関数を適用して、選択した特徴を復元します。このプロセスは次のように説明できます。

強調された高周波表現は、元の表現に追加されます。

標準偏差はどこですか。 [Martinez et al., 2020]に触発されたこの研究では、教師の隠れ層特徴yと生徒から直接得られる隠れ層特徴yの間の注意蒸留損失を次のように最小化します。

ここで、は 番目のブロックを表し、は L2 ノルムです。

上記の HED 方式により、2 値化された学生ネットワークは、強調された完全精度表現内の重要な情報を活用し、精度を向上させることが容易になります。 2.2 TBA – 薄くできる二値化アーキテクチャ この研究では、実行時にレイヤーの少ないより薄いモデルを選択し、それによって計算消費を直接削減できる、KWS 用の薄くできる二値化アーキテクチャ (TBA) を提案します。この研究では、N 個のブロックで構成される基本的なバイナリ アーキテクチャのバックボーン ネットワーク全体を次のように表します。

ここで、 は二値化ネットワークと二値化 D-FSMN ブロックであり、 はネットワークの入力です。結果として得られる TBA 構造は次のように定義できます。

ここで、 は選択されたレイヤーの間隔であり、その値は N で割り切れるように制限されます。それぞれの精製可能なブロックは次のように定義できます。

薄くできるネットワーク アーキテクチャでは、各層の中間ブロックを恒等関数に置き換えることでスキップします。下の図は、この研究の薄くできる 2 値化アーキテクチャの形式化を示しています。

さらに、この研究では、図に示すように、例も提供しています。

提案されたTBAの2値化を考慮したトレーニングを最適化するために、本研究では、HEDでの表現をより適切に調整して学習するための統一されたレイヤーマッピング戦略を採用しています。

バックプロパゲーション中に異なるブランチからの勾配が蓄積され、重みが共同で更新されます。精製可能なアーキテクチャの圧縮率に応じて、加重損失は次のように計算できます。

ここで、 は のクロスエントロピー損失を表し、これは蒸留の影響を制御するハイパーパラメータです。

2.3 FBCK - 効率的なハードウェア展開のための高速ビット計算カーネル

コンピューティング リソースが限られているエッジ デバイスでの効率的な展開のために、この研究では、新しい命令とレジスタ割り当て戦略を通じて 1 ビット計算をさらに最適化し、エッジ デバイスで広く使用されている ARMv8-A アーキテクチャの推論を高速化します。この研究は、Fast Bitwise Computation Kernel (FBCK) と呼ばれています。

ARMv8 アーキテクチャ上のレジスタの数に応じて、この研究ではまずカーネル内のレジスタを 5 つのパーティションに再割り当てし、レジスタの使用率を向上させてメモリ使用量を削減しました。パーティション A には 1 つの入力 (重み/アクティベーション) 用のレジスタが 4 つ (レジスタ v0 を除く)、パーティション B には別の入力用のレジスタが 2 つ、パーティション C には EOR と CNT の中間結果用のレジスタが 8 つ、パーティション D にはループの出力用のレジスタが 8 つ、パーティション E には最終結果用のレジスタが 8 つあります。各入力は INT16 としてパックされます。 A の各レジスタは 1 つの入力を格納し、それを 8 回繰り返しますが、B の各レジスタは 8 つの異なる入力を格納します。この研究では、まず A と B の 1 つのレジスタに対して EOR と CNT を実行して、中間のパーティション C に 32 個の INT8 結果を取得し、次に ADD を実行して D に INT8 を累積し、B の別のレジスタに対しても同じことを行います。 16 サイクル後、最後に、この研究では、INT8 データを 2 倍の幅に拡張する長い命令 ADALP を使用して、D に格納されている INT8 データを INT16 レジスタ (E 内) に蓄積します。 FBCK は計算中にレジスタを完全に活用し、アイドル ビットをほとんど残しません。

3. 実験

この章では、推論精度、理論計算、展開性能の観点からBiFSMNを総合的に評価します。実験により、BiFSMN はあらゆる面で既存のバイナリ ニューラル ネットワークを大幅に上回っており、実際の展開シナリオで優れた可能性を示していることが示されました。

3.1 比較検証

この研究では、まずアブレーション研究を実施し、提案されている高周波強化蒸留 (HED) と追跡可能な二値化アーキテクチャ (TBA) が D-FSMN の音声コマンド V1-12 および音声コマンド V2-12 KWS タスクに与える影響を調査します。

表 1 の結果は、通常の 2 値化ベースライン方式では、両方のデータセットでパフォーマンスが大幅に低下することを示しています。単純な蒸留スキーム Distill は基本的な D-FSMN アーキテクチャの精度を向上させるのに役立ち、HED の適用により蒸留に基づくパフォーマンスが向上します。 HED と TBA を組み合わせて使用​​することで、バイナリ化モデルと完全精度モデル間の精度のギャップがさらに狭まり、最終的には両方のデータセットで精度が 3% 未満になります。

次に、BiFSMNを、BNN [Courbariaux et al., 2016]、DoReFa [Zhou et al., 2016]、XNOR [Rastegari et al., 2016]、Bi-Real [Liu et al., 2018]、IR-Net [Qin et al., 2020]、RAD [Ding et al., 2019]などの既存の構造に依存しない2値化手法と比較します。

表 2 の結果は、本研究で提案された 1 ビット BiFSMN が他の SOTA 2 値化手法よりも完全に優れていることを示しています。注目すべきは、両方のデータセットにおける BiFSMN の平均精度の低下はわずか 4% であり、他の 2 値化手法をはるかに上回っていることです。

第二に、TBAの利点をアーキテクチャの観点から検証するために、本研究では、FSMN [Zhang et al., 2015]、VGG190 [Simonyan and Zisserman, 2014]、BCResNet [Kim et al., 2021]、Audiomer [Sahu al., 2021]など、KWSで広く使用されているさまざまなネットワークと比較しました。この研究では、XNOR と IR-Net を使用してこれらのアーキテクチャをバイナリ化しました。

表 3 は、HED が FSMN のようなアーキテクチャに一般的に適用でき、2 値化モデルのパフォーマンスに影響を与えることを示しています。さらに、TBA を搭載した BiFSMN は、実行時の精度と効率のバランスをさらに高めることができます。たとえば、4 ブロックの BiFSMN0.5× と 2 ブロックの BiFSMN0.25× のより薄いバージョンでは、精度を犠牲にすることなく (わずか 0.16% と 0.13% の低下)、Speech Commands V1-12 タスクで 23.8 倍と 28.8 倍の FLOP 節約を達成します。

この研究では、モデル幅をさらに削減し、わずか 0.05M のパラメーターと 9.16M FLOP の非常に小さな BiFSMNS (バックボーン メモリ サイズ 32、隠しサイズ 64) を提供し、この研究のアプローチが小さなネットワークでもうまく機能することを実証しています。

3.2 展開効率

KWS タスクには、推論の精度と理論的な計算パフォーマンスに加えて、実際のエッジ デバイスで実行する場合のメモリ使用量の削減とリアルタイム応答の高速化が緊急に求められます。 BiFSMN の実際の展開効率を検証するために、この研究では、1.2GHz 64 ビット ARMv8 CPU Cortex-A53 を搭載した Raspberry Pi 3B+ で BiFSMN の実際の速度をテストしました。

図 5 に示すように、BiFSMN は、提案された最適化された 1 ビットの高速ビット単位計算カーネルにより、フル精度の対応物と比較して 10.9 倍の高速化を実現します。また、daBNN や Bolt などの既存のオープンソースの高性能バイナリ化フレームワークよりもはるかに高速です。さらに、BiFSMN はリファイン可能なアーキテクチャの恩恵を受け、デバイス上のリソースに応じて実行時に精度と効率のバランスを適応的に調整できるため、 に切り替えるとそれぞれ 15.5 倍と 22.3 倍の高速化が実現します。これは、BiFSMN が実際の推論においてさまざまなリソース制約を満たすことができることを示しています。

<<:  機械学習で人気のアルゴリズムトップ10

>>:  DingTalk Flutter クロス 4 端末ソリューションの設計と技術実践

ブログ    

推薦する

LangChain の実践: 大規模言語モデルのコードベースの理解

著者 | 崔昊レビュー | ChonglouまとめLLM(大規模言語モデル)の開発に伴い、ソースコー...

...

AIとロボットはどこで使われていますか?お伝えしたいユースケースはたくさんあります

人工知能とロボット工学はテクノロジー分野に大きな変化をもたらしています。 20年前に人々が夢見ていた...

モバイルアプリケーションでディープラーニングを加速するにはどうすればよいでしょうか?この記事を読めば分かるだろう

現在、ディープラーニング技術を使用するモバイルアプリケーションは、通常、すべての DNN コンピュー...

OpenAI: 著作権のあるコンテンツを使用しないと、ChatGPTのようなAIモデルを開発することはできない

IT Homeは1月10日、ChatGPTの開発元であるOpenAIが最近、ChatGPTのようなA...

人民大学高陵人工知能学院はAIに音楽を聴くことを教え、9,288本のビデオデータセットも公開した。

AIが自らコンサートを楽しめることをご存知ですか?さらに、演奏シーンでは各楽器の演奏状況もAIが把...

人工知能のボトルネックを解決し、フードデリバリー業界の発展を促進

近年、消費者向けインターネットが深化し、産業向けインターネットが徐々に向上するにつれて、さまざまな業...

AIコードツールが人気、複雑な操作が数秒で簡単になり、ネットユーザー:VS Codeを放棄

最近、AIコードエディタCursorが人気になってきました—— GPT-3.5/GPT-4 に接続す...

...

データセンターにおけるロボットの使用はどのように増加するのでしょうか?

[[407824]]調査によると、ロボットがデータセンターに導入されつつありますが、データセンター...

ブロックチェーンコアアルゴリズムのコンセンサスメカニズム

コンセンサス メカニズムは、ブロックチェーン システムで新しいブロックを生成する責任者を決定する役割...

...

世界の顔認識技術応用地域分布マップ

世界中の多くの規制当局は、公開ビデオフィード上の人物を識別するなどのアプリケーションに顔認識を使用し...