コンテンツにスキップ

インメモリ演算とは

インメモリ演算とは、メモリの中で計算まで済ませてしまう仕組みです。 数をしまう場所(メモリ)と計算する場所(演算回路)の距離を縮め、データを運ぶのに使う電力を削ります。そのかわり、メモリの製造ばらつきがそのまま計算の誤差になります。ルネサスの読み出し回路やばらつきの小さいブロックの選別も、NEDOらの±2マイクロアンペアの書き込み制御も、この誤差を抑えるための工夫です。

データを運ぶ距離が、性能と電力を左右する

Section titled “データを運ぶ距離が、性能と電力を左右する”
演算回路とメモリの距離
ファーメモリ演算回路バス(配線)メモリニアメモリ(IMCとも)演算回路メモリメモリアクセスの詰まりを解消PIMメモリ読み出し中に積和データを運ばずにその場で計算
ファーメモリでは演算回路とメモリを長いバスがつなぎ、ニアメモリではすぐ隣に置き、PIMではメモリの読み出し回路そのもので積和演算まで済ませます。

計算機は、数をしまう場所と計算する場所を別々に持っています。この2つをどれだけ離すかで、性能も消費電力も上下します。NEDOは、演算回路から離れた場所にプログラムとデータを収めたメモリを置く構造を「ファーメモリ・コンピューティング構造」と呼んでいます。大容量メモリを載せられる、種類の異なるメモリを並べられる、1つのメモリを複数のモジュールで使い回せるといった利点がある一方で、メモリと演算器を結ぶバス(配線)が要になり、そこが高性能化と低消費電力化を阻むボトルネックになるとしています。

NEDOは、演算回路とメモリを極限まで近くに置く「ニアメモリ・コンピューティング構造」なら、メモリアクセスがシステム性能のボトルネックになる問題を解消できるとし1、これをイン・メモリ・コンピューティング(In Memory Computing、IMC)構造とも言うとしています。

AIアクセラレータの電力も、距離の問題に行き着きます。ルネサス エレクトロニクスはAIアクセラレータの電力を、巨大な行列演算に使う分と、アクセラレータの内側および外部メモリとのあいだでデータを動かすのに使う分とに分け、後者の成分が大きくなってきているとしています2。Samsungも、インメモリ演算はメモリのネットワークの中に置いたまま大量のデータを処理でき、その処理が高い並列度で進むため、消費電力が大きく下がるとしています3。運ぶこと自体が電力を使うので、運ぶ距離を縮めた分が消費電力に返ってきます。

PIMは、読み出しの途中で積和演算まで済ませる

Section titled “PIMは、読み出しの途中で積和演算まで済ませる”

ルネサスは、メモリ回路内でメモリデータの読み出し中に積和演算まで行う4構成をProcessing-in-Memory(PIM)と呼び、AI技術の一つとして近年注目されているとしています。積和演算は、ニューラルネットワークの中心にある計算です。電子情報通信学会の公開知識ベースは、ニューラルネットワークLSIを、ニューロンの働きを単純な積和演算とそれに続く非線形の変換との組み合わせで作る方式だとしています。

PIMの読み出し回路
SRAMセルビット線電流レプリカセル電流を調整コンパレータ1ビットの判定A/Dコンバータ(使わない)電力と面積が増える
ビット線を流れる電流を、コンパレータと電流を調整できるレプリカセルの組で1ビットとして読み出すので、電力と面積の大きいA/Dコンバータを使わずに済みます。

PIMを適用したメモリでは、記憶している値を、SRAMのビット線に流れる電流の大きさから読み取ります。この電流を正確に測るにはA/Dコンバータ(アナログデジタル変換器)が有効ですが、消費電力が上がり、チップの面積も膨らみます。そこで同社は、A/Dコンバータを使わず、コンパレータ(1ビットセンスアンプ)と、流す電流を自由に制御できるレプリカセルとを組にした読み出し回路を作りました。

電力の省き方は、働くノードの偏りを使います。同社は、ニューラルネットワークが動いている最中に活性化しているノード(ニューロン)が全体の1%程度にとどまるとして、非活性のノードでは読み出し回路そのものを止め、消費電力をさらに下げました。新しく開発した3値(-1、0、1)SRAM構造は、3値メモリと簡単なデジタル演算ブロックを組み合わせ、ハードウェアと演算誤差の増加を抑えながら、必要な精度に応じて演算ビット数を1.5ビット(3値)や4ビットに切り替えられるとしています。

ルネサスは、メモリアクセス時間の短縮と積和演算の消費電力の低減を両立したとし、テストチップでは手書き文字認識(MNIST)で99%以上の認識率を保ったまま、8.8 TOPS/Wの電力効率を実証したとしています。TOPS/Wは1Wの電力で毎秒可能な演算回数を表し、8.8 TOPS/Wは1Wで毎秒8.8兆回の演算ができる性能です。同社はこの成果を、2019年6月9日から14日まで京都で開かれた2019 VLSI技術/回路シンポジウムで、6月13日に発表しました。

RANDは、重みを抵抗値そのものとして保存する

Section titled “RANDは、重みを抵抗値そのものとして保存する”

もう1つの道は、メモリと演算器を別々に持つ代わりに、素子そのものへ両方の役目を負わせる方法です。従来のAI半導体は、データを保存するメモリーと積和演算器の両方を必要としてきました。NEDO、産業技術総合研究所、パナソニックセミコンダクターソリューションズ、北海道大学は2018年、アナログ抵抗変化素子(Resistive Analog Neuro Device、RAND)へデータ保存と積和演算の両方の機能をまとめた脳型情報処理回路5を発表しました。NEDOは、入力値の重要性や貢献度を数値化したものを重みと呼び、それを格納するメモリを重みメモリと呼んでいます。

RANDは、すでに製品として世に出ている不揮発性抵抗変化メモリー(ReRAM)と同じく金属/酸化物/金属を重ねた構造を持ち、電圧のパルスをかけるなどすると、酸化物を挟んだ電極どうしの抵抗が連続して変わっていく素子です。学習の結果として決まるニューラルネットワークの重み値を、回路の抵抗値として保存します。

RANDの書き込みの細かさ
±2μA目標値振れ幅 30μA素子を流れる電流
線幅180nmのRANDでは、30μAの振れ幅に対して、ほぼすべての素子を目標値から±2μAの帯に収めました。

線幅180ナノメートルで作ったRANDでは、30マイクロアンペアという振れ幅の中で、ほぼすべての素子を目標値から±2マイクロアンペアに収め、この回路による文字認識率は90%を超えました。線幅40ナノメートルのテストチップでは、セルに流す電流を絞ることで、66.5 TOPS/Wという低消費電力動作を確かめています。

素子の候補は抵抗変化メモリーに限りません。Samsungは、不揮発性メモリーのうちRRAMとPRAMがインメモリ演算の実証に盛んに使われてきたとしています。

ばらつきが、そのまま計算の誤差になる

Section titled “ばらつきが、そのまま計算の誤差になる”

ルネサスは、PIMが電力を大きく下げられる反面、製造プロセスのばらつきによる演算誤差が生じる課題があるとしています4。ばらつきによってSRAMのビット線を流れる電流の値に誤差が生じ、記憶している値の読み取りが狂うためです。同社は、SRAMの演算回路ブロックをチップの上へ多数並べ、そのうち製造ばらつきの小さいブロックを選んで演算させる方式を作りました。働いているノードがごく一部だという偏りを使い、ばらつきの小さいブロックへ活性ニューロンを集めて計算させることで、演算誤差をほとんど無視できるところまで下げられるとしています。

抵抗値で覚える方式にも、同じ性格の課題があります。NEDOの2018年のリリースは、多くの階調で学習データを保存できるかどうかが脳型情報処理回路の動作の鍵になるとし、重み値を何段階まで再現性よく書き分けられるかが深層学習の推論の出来を左右するとしています。刻みの粗さが精度に響くという点で、この課題は量子化(AI推論)と地続きです。電力効率の数字は、同時に示された認識率と、その読み出しを支える回路の工夫と組になって初めて意味を持ちます。

実証チップは、まずメモリを近づけるところから

Section titled “実証チップは、まずメモリを近づけるところから”

NEDO、東北大学、アイシンは2025年7月、磁気抵抗メモリ(MRAM)を大量に積んだ、エッジ向けの実証チップ1を発表しました。台湾積体電路製造(TSMC)のMRAM混載に対応した16nm FinFETプロセスを用い、MRAMマクロを32Mバイト載せ、アプリケーションプロセッサにArm Cortex-A53デュアルコアを組み合わせたとしています。内部メモリと重みメモリの両方をMRAMでまかなうことで、ニアメモリ・コンピューティング構造を成り立たせたとしています。

実証システムでの測定では、電源を入れてからOSが立ち上がり、最初のAI演算を終えるまでに使うエネルギーが、従来技術の4.7624Jに対して開発技術は0.0942Jで、50倍以上の改善だとしています。OSの起動時間は従来技術の2535.3msに対して65.7msで、30分の1以下だとしています。

MRAMを演算そのものに使う道もあります。Samsungは、MRAMは抵抗が低いため、標準的なインメモリ演算の構成では電力削減の利点を得にくいとしています。そのうえで同社のMRAMを使ったチップは、手書き数字の分類で98%、場面からの顔検出で93%の精度を得たとしています。研究はSamsung Advanced Institute of Technology(SAIT)が主導し、Samsung Electronicsのファウンドリ事業部と半導体研究所が協力し、論文は1月12日(GMT)にNatureのオンライン版で公開されました。

インメモリ演算の指す範囲は、資料ごとに揺れる

Section titled “インメモリ演算の指す範囲は、資料ごとに揺れる”

ルネサスは、メモリ回路内で積和演算まで行う方式をPIMと呼びます。NEDOは、ニアメモリ・コンピューティング構造をイン・メモリ・コンピューティング構造とも言うとしています。Samsungは、データの保存と計算の両方をメモリのネットワークの中で行う新しい計算の枠組みをインメモリ演算と呼んでいます。同じ言葉が、メモリ配列の中で演算する仕組みと、演算器のすぐ隣にメモリを置く仕組みの両方を指すことがあります。そのため、IMCを名乗る2つの発表が、別々の構造を指していることがあります。

インメモリ演算とは何ですか?

数をしまう場所と計算する場所を重ねる仕組みです。ルネサス エレクトロニクスは、メモリ回路の内側でデータを読み出す動作の最中に積和演算まで終わらせる構成をProcessing-in-Memory(PIM)と呼び、AI技術の一つとして近年注目されているとしています。

メモリの中で計算すると、なぜ電力が下がるのですか?

NEDOは、演算回路とメモリを離して配置する構造では、両者をつなぐバス(配線)が高性能化と低消費電力化を阻むボトルネックになるとしています。ルネサスも、AIアクセラレータの消費電力では、行列演算の電力に加えて内部および外部メモリのデータ移動による電力成分が大きくなってきているとしています。運ぶ距離を縮めた分が消費電力に返ってきます。

ニアメモリとインメモリの使い分けはどうなっていますか?

NEDOは、演算回路のすぐそばまでメモリを近づけた構造をニアメモリ・コンピューティング構造と呼び、イン・メモリ・コンピューティング(IMC)構造とも言うとしています。ルネサスは、メモリ回路の中で積和演算まで行う方式をPIMと呼んでいます。資料ごとに、同じ言葉の指す範囲が広くも狭くもなります。

どのくらいの電力効率が報告されていますか?

ルネサスは、3値SRAM構造のPIMを用いたAIアクセラレータのテストチップで8.8 TOPS/Wを実証したとしています。NEDO、産業技術総合研究所、パナソニックセミコンダクターソリューションズ、北海道大学は、アナログ抵抗変化素子を用いた線幅40ナノメートルのテストチップで66.5 TOPS/Wを確かめたとしています。

どんな代償がありますか?

製造のばらつきです。ルネサスは、PIMが電力を大きく下げられる代わりに、製造のばらつきでSRAMのビット線を流れる電流の値がずれ、記憶している値の読み取りが狂う課題を抱えているとしています。同社は、ばらつきの小さい演算回路ブロックを選んで計算させる方式で、この誤差を抑えたとしています。

積和演算とは何ですか?

掛け算と足し算を繰り返す計算です。電子情報通信学会の公開知識ベースは、ニューラルネットワークLSIが、ニューロンの働きを、単純な積和演算と、それに続く非線形の変換との組み合わせで作る方式だとしています。NEDOは、入力値の重要性や貢献度を数値化したものを重みと呼び、それを格納するメモリを重みメモリと呼んでいます。

製品にはもう入っているのですか?

実証段階です。NEDO、東北大学、アイシンは2025年7月、磁気抵抗メモリ(MRAM)を32Mバイト内蔵した実証チップを発表し、内部メモリと重みメモリの両方をMRAMでまかなってニアメモリ・コンピューティング構造を成り立たせたとしています。実証システムでの測定として、電源を入れてから最初のAI演算を終えるまでのエネルギー効率は従来比50倍以上、OSの起動時間は30分の1以下だとしています。

6件を表示
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6