メディア

組み込みAIを加速する、ルネサスの新Processing-in-Memory低電力で高速な推論を実現する(3/4 ページ)

» 2019年06月13日 11時30分 公開
[村尾麻悠子EE Times Japan]

演算回路ブロックを入れ替えて製造ばらつきを低減

 3つ目が、製造プロセスのばらつきによる演算誤差を回避する技術の開発だ。製造プロセスがばらつくと、ビット線電流の値に誤差が生じ、それがメモリデータ読み出しの誤差につながってしまう。例えば、ばらつきが大きいメモリセル(異常に大きな電流を流してしまうメモリセル)に「−1」や「+1」といった重みデータが格納されてしまうと、積和演算の結果が大きく違ってしまう可能性がある。一方で、もしそのセルに格納されている重みデータが「0」ならば、掛け算の結果は常にゼロになるので電流は流れず、積和演算の結果に影響がない。

 新しいPIMでは、この原理を利用したという。チップに多数のSRAM演算回路ブロックを敷き詰め、ばらつきの大きいセルに「−1」や「+1」の重みデータが格納されたブロックがあった場合、すぐ隣のブロックと重み情報を入れ替えるという仕組みだ。

 前述したように、活性化しているニューロンは基本的に極めて少ない。そのため、ほとんどの3値セルには「0」が格納されている。つまり、隣のブロックの同じ番地には『0』が入っている確率が非常に高い。ブロックを入れ替えれば、ばらつきが大きいセルに『0』が入る可能性が高く、掛け算の結果をゼロにできるのだ。

 ただし、野瀬氏によると、メモリセルのばらつきを検出する方法は「検討中」だという。

図の「W1」「W2」などが演算回路ブロック。この中に、3値メモリセルが入っている。ばらつきに応じて、演算回路ブロックを隣のブロックと、そっくりそのまま入れ替えることで、演算誤差を回避できるとする 出典:ルネサス(クリックで拡大)

 「演算回路ブロックを入れ替えるだけでいいので、冗長セルなどを入れずに演算誤差を大幅に低減できる」(野瀬氏)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.