コンテンツにスキップ

メモリ内演算アレイとは

メモリ内演算アレイとは、記憶した値と入力の積和演算を、記憶している素子そのものが担うアレイです。 演算そのものより、重みを読み出して運ぶ電力のほうが大きくなったことが出発点です。運ぶ経路を畳めば電力と時間は消えますが、アナログの重みを使うぶん、精度は重みを制御する細かさで決まり、素子のばらつきと書き換えの上限を抱えます。

重みを運ぶのをやめ、記憶した場所で計算する

Section titled “重みを運ぶのをやめ、記憶した場所で計算する”
データの通り道
従来の並びメモリ(重み)演算器重みを運ぶデータが往復入力メモリ内演算入力積和の結果重みは動かない記憶する場所計算する場所記憶と計算を兼ねる素子
従来はメモリと演算器の間をデータが往復し、そのたびに電力と時間を使います。メモリ内演算では入力が入り積和の結果が出るだけで、重みはアレイの中から動きません。

従来の並びでは、重みはメモリにあり、計算は演算器で行います。積和演算のたびに重みを読み出して演算器へ運ぶのでデータが往復し、そのたびに電力と時間を使います。演算器だけを速くしても、この往復の電力は残ります。

メモリ内演算は、記憶する場所と計算する場所を同じ素子にします。NEDOは、アナログ抵抗変化素子(RAND)を用いたAI半導体向けの脳型情報処理回路を開発し、世界最高水準の低消費電力動作を実証したとしています1。RANDは不揮発性抵抗変化メモリー(ReRAM)を発展させ、実用化を目指す構造にした素子で、データ記憶と積和演算の機能を1つの構造に併せ持ちます。

格子の交点で掛け、列の配線で足す

Section titled “格子の交点で掛け、列の配線で足す”
クロスバーの動き
入力電圧抵抗値=重み電流が列へ合流電圧パルスで書く列の電流=積和の答え重みを持つ素子行と列の配線
行へ入力電圧を与えると交点ごとに素子の抵抗値で決まる電流が流れ、同じ列の電流が配線の上で足し合わされて、列の下で積和の答えになります。

行と列の配線が交わる点へ、重みを持つ素子を置きます。重みは素子の抵抗値として記憶されます。行へ入力の電圧を与えると、各交点には電圧と抵抗値で決まる電流が流れます。これが入力と重みの掛け算です。同じ列に並んだ電流は配線の上で自然に足し合わされるので、配線そのものが加算器の役目を果たし、列の下で積和の答えが電流として出てきます。

重みの書き込みも素子の上で行います。RANDは金属/酸化物/金属の積層構造を持ち、電圧パルスで抵抗が連続的に動きます。

認識の精度は、重みを制御する細かさで決まる

Section titled “認識の精度は、重みを制御する細かさで決まる”

アナログの値を使うので、書き込める重みの細かさがそのまま認識の精度に表れます。NEDOの発表では、180nmのプロセスで、±2マイクロアンペアの制御範囲によって90%を超える文字認識精度を得ています。制御の範囲が、設計の要点です。

効率の側では、NEDOは40nmのプロセスのテストチップで66.5 TOPS/Wを実証したとしています。1ワットあたり毎秒66.5兆回の演算に当たる値です。NEDOはさらに、この回路でエッジ学習・推論兼用という新しい半導体の区分を打ち立てたとしています。推論だけでなく、学習も同じ回路で行う構想です。

1つのチップに複数の方式を載せ、用途で選ぶ

Section titled “1つのチップに複数の方式を載せ、用途で選ぶ”

産総研は、実証チップAI-Oneに6種類の独自AIアクセラレータを搭載しました2。CMOS 28nmプロセスで作り、CPUを800MHzで動かし、LPDDR4メモリでフルバンド幅24.8GB/sの設計どおりのデータ転送を確かめています。

用途ごとに向く方式は異なります。メモリ内演算だけで全部をまかなうより、方式を並べて用途ごとに選ぶ構成のほうが現実的です。

運ぶ電力を消すかわりに、ばらつきと書き換え上限を抱える

Section titled “運ぶ電力を消すかわりに、ばらつきと書き換え上限を抱える”

記憶した場所で計算すれば、データを運ぶ電力と時間が消えます。その代わりアナログの値を使うため、素子のばらつきと雑音が精度に直接表れます。制御を細かくすれば精度は上がるものの、書き込みの回路と時間が増えます。不揮発の素子を使えば電源を切っても重みが保たれますが、書き換えの回数と速度に上限を抱えます。

メモリ内演算アレイを選ぶかどうかは、運ぶ電力の削減と、重みの細かさや書き換え回数の制約のどちらが用途で重いかで決まります。

メモリ内演算アレイとは何ですか?

記憶した値と入力の積和演算を、記憶している素子そのものが担うアレイです。行と列の交点に重みを持つ素子を置き、列の配線で電流を足し合わせるので、データを演算器へ運ぶ往復が消えます。

なぜ往復をやめるのですか?

演算そのものより、データを運ぶ電力と時間のほうが大きくなったからです。

どんな素子を使いますか?

NEDOの回路では、アナログ抵抗変化素子(RAND)を使います。金属/酸化物/金属の積層構造を持ち、電圧パルスで抵抗が連続的に動き、データ記憶と積和演算の機能を1つの構造に併せ持ちます。

元になった技術は何ですか?

不揮発性抵抗変化メモリー(ReRAM)です。RANDはReRAMを発展させ、実用化を目指す構造にしています。

どのくらい効率が上がりますか?

NEDOは、40nmのプロセスのテストチップで66.5 TOPS/Wを実証したとしています。

認識の精度は保てますか?

180nmのプロセスで、±2マイクロアンペアの制御範囲により90%を超える文字認識精度が得られています。重みを制御する細かさが、そのまま精度を決めます。

他の方式と組み合わせますか?

組み合わせます。産総研は、6種類の独自AIアクセラレータを28nmの実証チップAI-Oneへ載せ、用途ごとに方式を選べる構成にしています。

2件を表示
  1. 1
  2. 2