コンテンツにスキップ

アナログ重みセルとは

アナログ重みセルとは、抵抗値という連続した量でニューラルネットの重みを保つ素子です。 2つの状態に加えて、途中の値まで持てます。デジタルなら重みはビット列で正確に保てますが、読み出して掛け算するたびに電力を使います。抵抗そのものを重みにすれば、重みを置いた場所で掛け算が済み、運ぶ電力が消えます。その代わり、重みの正確さは素子のばらつきと書き込みの細かさに預けることになります。

ReRAMを発展させた積層で、電圧パルスが抵抗を連続的に動かす

Section titled “ReRAMを発展させた積層で、電圧パルスが抵抗を連続的に動かす”
素子の構造と多値の重み
電圧パルス上部の金属酸化物下部の金属重み(抵抗の状態)パルスの回数2値の記憶アナログの重み
金属/酸化物/金属の積層に電圧パルスを重ねるたびに、抵抗が少しずつ動きます。2値の記憶が上下2つの水準しか使わないのに対し、その間の値まで重みにします。

NEDOが発表した素子は金属/酸化物/金属の積層構造で1、不揮発性抵抗変化メモリー(ReRAM)を発展させ、実用化を目指す構造です。電圧パルスにより抵抗が連続的に動き、パルスを重ねるたびに抵抗が少しずつ動きます。

IBMは、アナログの情報をレコードの溝のように連続して変わる物理量2と説明しています。同社の推論チップの中心は相変化メモリ(PCM)で、IBMは電気のパルスで情報を蓄え、同時に計算にも使える、調整の幅が大きいアナログ技術2と位置づけ、PCMを1つの重みを担うシナプスセルとして使っています。学習向けの素子としては、抵抗変化メモリ(RRAM)と電気化学メモリ(ECRAM)の2種類を調べているとしています。

制御範囲の細かさが、そのまま重みの分解能になる

Section titled “制御範囲の細かさが、そのまま重みの分解能になる”

記憶素子としてのReRAMは高抵抗と低抵抗の2状態を使い、アナログ重みセルはその間の値を重みとして使います。どこまで細かく書き分けられるかがそのまま重みの分解能で、制御範囲はこの分解能を表す値です。180nmのプロセスでは、±2マイクロアンペアの制御範囲により、90%を超える文字認識精度が得られました1。

重みを運ばずに、重みを置いた場所で掛け算する

Section titled “重みを運ばずに、重みを置いた場所で掛け算する”
重みの動き方
重みを運ぶ方式重みの場所で計算メモリ(重み)演算器重みを毎回運ぶ入力結果重みはその場にアナログ重みセル
デジタルの方式では演算のたびに重みをメモリから演算器へ運びます。アナログ重みセルを並べたアレイでは重みは動かず、入力を当てた場所で掛け算が済みます。

IBMは、重みの値をメモリから演算ユニットへ繰り返し運ぶことが、ニューラルネットをハードウェアで動かすときの電力の無駄の大きな源になってきたとしています3。アナログ重みセルはこの往復をなくします。アナログ抵抗変化素子は、データ記憶と積和演算の機能を1つの構造に併せ持ちます1。重みはその場にあるまま使え、入力の電圧をかければオームの法則が掛け算を済ませます。IBMの言い方では、チップに置いた重みの中で行列とベクトルの掛け算を直接行う3アナログのインメモリ計算です。

この仕組みで、40nmのプロセスのテストチップでは66.5 TOPS/Wが実証されました。運ぶ経路を畳んだことが、この効率の源です。セルを格子に並べた構造はメモリ内演算アレイと呼びます。

IBMのチップは、セルの外にADCと書き込み回路とデジタル処理を置く

Section titled “IBMのチップは、セルの外にADCと書き込み回路とデジタル処理を置く”
IBMの64コアチップの1コア
1コア(14nm CMOS、チップに64個)256×256 のPCMアレイADC 256個デジタル処理部アフィンスケーリング・ReLU書き込み回路チップ内ネットワーク
1つのコアは256×256のPCMアレイに256個のADC、書き込み回路、アフィンスケーリングとReLUを行うデジタル処理部を組み合わせ、チップ内ネットワークで64個がつながります。

IBMは14nmのCMOSにPCMを配線層側で集積した3マルチコアのチップを試作しました。256×256のアナログインメモリ計算コアを64個載せ、チップ内の通信網でつないでいます。各コアには256個のADC、専用の書き込み回路、アフィンスケーリングとReLU活性化を行うデジタル処理部があります。

セル数で見ると、IBMのアナログAI推論チップは1,300万個を超えるPCMシナプスセル2を持ち、学習済みのデータを載せた大きなニューラルネットワークを物理的に組めるとしています。IBMは、重みを書き込んだあとにチップを調整し直さずに高い演算精度と推論精度を出すことが、ネットワークを載せやすくする点で強く望まれるとしています3。書いた重みがそのまま使えるかどうかが、アナログ方式の使いやすさを決めます。

デジタルのDRP-AIも、従来の最大10倍まで電力効率を上げた

Section titled “デジタルのDRP-AIも、従来の最大10倍まで電力効率を上げた”

AIアクセラレーターのDRP-AIは、動的再構成プロセッサーと積和演算ユニットを一体化したもので4、1W当たり10TOPSと、従来技術と比べて最大10倍の電力効率を実現しました。デジタル側も、この領域を進んでいます。アナログは1演算あたりの電力で有利ですが、精度と再現性で払います。どちらを選ぶかは用途ごとの判断になります。

抵抗を重みにすると、ばらつきと書き換え回数の上限を抱える

Section titled “抵抗を重みにすると、ばらつきと書き換え回数の上限を抱える”

抵抗そのものを重みにすれば、読み出しと掛け算の電力が消えます。その代わり、素子のばらつきと経時の変化が重みの誤差になります。制御範囲を細かく取れば分解能が上がる一方、書き込みに要する時間と回路が増えます。不揮発なら電源を切っても重みが保たれますが、書き換えの回数に上限を抱えます。別の不揮発の候補にはSTT-MRAMもあります。

アナログ重みセルとは何ですか?

抵抗値という連続した量で、ニューラルネットの重みを保つ素子です。2値に加えて、途中の値まで持てます。

どんな構造ですか?

NEDOの素子は金属/酸化物/金属の積層構造です。IBMは相変化メモリ(PCM)を重みのセルに使っています。

どうやって重みを書きますか?

電圧パルスをかけます。パルスにより抵抗が連続的に動きます。

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

不揮発性抵抗変化メモリー(ReRAM)です。それを発展させた構造です。

どのくらい細かく制御しますか?

180nmのプロセスで、±2マイクロアンペアの制御範囲です。

精度はどのくらいですか?

その制御範囲で、90%を超える文字認識精度が得られています。

デジタルの方式とどう違いますか?

デジタルでは重みをビット列で保ち、演算のたびにメモリから演算器へ運んで掛け算します。アナログでは抵抗そのものが重みであり、掛け算はオームの法則が担うので、重みを運ぶ必要がありません。

4件を表示
  1. 1
  2. 2
    IBM Research:Analog AIresearch.ibm.com abc
  3. 3
  4. 4