コンテンツにスキップ

スパース性の活用とは

スパース性の活用とは、ニューラルネットの中で寄与の小さい結合を省き、残った分だけ計算する手です。 演算器を増やせば速くなりますが、電力と面積には上限があるので、計算する量そのものを減らす道が並行して進んできました。ただし、演算を省いただけでは速くなりません。省ける演算はネットワークの中に不規則に散らばっていて、並列に動く回路がその散らばりを飛ばせて初めて、削った量が時間と電力に変わります。

枝刈りでは、絶対値の小さい重みから0に置き換えて再学習する手法が使われる

Section titled “枝刈りでは、絶対値の小さい重みから0に置き換えて再学習する手法が使われる”

代表的な手法が枝刈り(プルーニング)です。認識精度を保ちながら必要な計算量とメモリー容量を減らすために、ニューロン(特徴マップのベクトル次元)やシナプス結合(重み係数の要素)の一部を省くアルゴリズムで、係数の要素のうち絶対値の小さいものから一定の割合で0に置き換えて再学習するなどの手法が使われます1。

絶対値の小さい重みから省く
枝刈りの前枝刈りの後小さい順に0へ再学習すべての重みを計算残した重みだけ(90%削減)残す重み0に置き換える重み重み行列の要素
絶対値の小さい重みから一定の割合で0に置き換えて再学習し、1割だけを残すと演算量は90%減ります。

学習の済んだネットワークでは、多くの重みがほぼゼロに近い値を取ります。これらを省いても、出力はほぼそのままです。NEDOとルネサス エレクトロニクスは、モデルにもよるものの、枝刈りで演算量を90%削減しても認識精度の低下はわずか3%程度にとどまり、ほぼ同等の精度が得られたとしています1。省いた分の寄与が、ごく小さかったことになります。

省ける演算は不規則に散らばり、並列の回路はそのままでは飛ばせない

Section titled “省ける演算は不規則に散らばり、並列の回路はそのままでは飛ばせない”

AIモデルの中で認識精度に影響しない演算は、不規則に散らばっているのが一般的です。そのため、ハードウェア処理の並列性と枝刈りの不規則性に差が生まれ、効率よく処理できないことが大きな課題でした1。省いた重みの場所を追えない回路では、演算器は0を掛ける空振りを続け、演算量を減らしても時間は縮みません。

不規則なゼロと並列の回路
ゼロも計算する並列回路演算器1演算器2演算器3演算器4空振りを含む時間ゼロを飛ばす(DRP-AI)演算器1演算器2演算器3演算器4詰めた時間残した演算0を掛ける空振り
演算量を90%削っても、ゼロも計算する回路では空振りが残り時間は縮みません。ゼロを飛ばして残りを並列に詰めると、時間は最大10分の1まで縮みます。

NEDOとルネサスが開発したAIアクセラレータは、DRP-AIが持つ動的な回路切り替え技術などの柔軟性を使い、枝単位できめ細かく枝刈りした場合でも効率よく演算をスキップできます1。認識精度に必要な演算だけに絞りながら、高いハードウェアの並列性を保てるというのが両者の説明です。DRP-AIは、動的再構成プロセッサーと積和演算ユニットを一体にしたものです。NPUとしてのDRP-AIは、入力へゼロが来る演算を事前に検知して省くスイッチングも備えています。

NEDOとルネサスの発表では、1W当たり10TOPSで従来技術の最大10倍の電力効率

Section titled “NEDOとルネサスの発表では、1W当たり10TOPSで従来技術の最大10倍の電力効率”

両者は、演算量を最大90%削減する枝刈り率のAIモデルで、従来技術に比べ最大で10倍の高速化と、1W当たり最大で10TOPSの電力効率を達成したとしています1。10TOPSは1秒あたり10兆回の演算で、従来技術と比べて最大10倍の電力効率です。

性能は、試作したAIチップで10分の1に軽量化された畳み込み層を評価して測っています。両者は、この1W当たり10TOPSを、製品化されているエンドポイント機器向けAIプロセッサーとして世界トップレベルの実効効率だとしています。利用者が多様なAIモデルを実装しやすいよう、枝刈りモデルの最適化からハードウェアへの実装までを端から端まで自動化するAI実装ツールも開発しました。

運ぶ距離を縮める設計とは別の軸なので、重ねられる

Section titled “運ぶ距離を縮める設計とは別の軸なので、重ねられる”

NEDOの別の発表では、アナログ抵抗変化素子がデータ記憶と積和演算の機能を1つの構造に併せ持ちます2。40nmのプロセスのテストチップで66.5 TOPS/Wを実証したとしています。運ぶ距離を縮めるメモリ内演算アレイの設計と、計算の量を減らす設計は別の軸です。2つを重ねることで、効果が積み上がります。

速さと電力のかわりに、精度と回路の面積を払う

Section titled “速さと電力のかわりに、精度と回路の面積を払う”

演算量を削れば速くなり、電力も下がります。その代わり認識の精度をいくらか譲ることになります。削減率を上げるほど効果は大きいものの、精度の低下と、飛ばす場所の不規則さが増します。ハードウェアを合わせれば削減が実時間へ届きますが、その回路の面積と設計の手間を払います。

スパース性の活用とは何ですか?

ニューラルネットの中で寄与の小さい結合を省き、残った分だけ計算することで速くし、電力を下げる手です。代表が枝刈りで、絶対値の小さい重みから一定の割合で0に置き換えて再学習するなどの手法が使われます。

どのくらい省けますか?

NEDOとルネサスの発表では、演算量を最大 90% 削減する枝刈り率の AI モデルを扱っています。

どのくらい速くなりますか?

NEDOとルネサスは、その条件で従来技術に比べ最大で 10 倍の高速化を達成したとしています。

精度はどうなりますか?

NEDOとルネサスの発表では、モデルにもよるものの、演算量を90%削減しても認識精度の低下はわずか 3% 程度にとどまりました。

どんな層で試したのですか?

NEDOとルネサスは、10 分の 1 に軽量化された畳み込み層で性能を測ったとしています。

電力効率はどうなりますか?

NEDOとルネサスは、1W 当たり 10TOPS で従来技術と比べて最大 10 倍の電力効率を実現したとしています。

ハードウェア側も要りますか?

要ります。省ける演算は不規則に散らばるので、省いた場所を並列のまま飛ばせる回路があって初めて、計算の量の削減が時間の短縮になります。

2件を表示
  1. 1
  2. 2