コンピュートインメモリは、こうした種類のアプリケーションに最適なアナログ技術だといえる。アナログは、それぞれが1ビット以上を示すことができるため、必要なメモリ素子の数を減らせるからだ。Hermesチップでは、4素子のメモリ1個で8ビット以上の重みを保存することができる。
さらに、ロジックを使用して乗算演算を実行する代わりに、メモリ回路内部で電子的に実行するという点がある。重みは、抵抗としてクロスバーアレイに格納される(図2の黄色部分)。
第1層からの信号は、電圧としてクロスバーの列に入力される(図2のオレンジ色部分の入力モジュレーター)。これらは重みによって乗算され、交差する行に沿って伝送され、そこで結合してA-Dコンバーター(ADC)で変換される。
さらに相変化材料は、局部加熱を使用してアモルファス(高抵抗)から結晶(低抵抗)モードに変更することから、このような種類の用途向けとして特に優れている。推論チップでは、重みをそれほど変化させる必要がないため、再度維持するためのエネルギーを必要としないメモリは、消費電力量を改善することができる。
しかし、このような材料にはデメリットもある。最も重要なのはデバイスの不整合で、動作がわずかにずれてしまうのだ。同様のチップでは、チップへのロード後にネットワークを再トレーニングすることによって、この点を克服している。
Hermesチップは、こうした製造後の調整を回避するために、独自構成のADCを採用している。
まず、各行に独自のコンバーターを配置することで(図2を参照)、行列ベクトル積全体を同時に実行でき、レイテンシの低減とスループットの向上を実現することが可能だ。
そして次に、ADCをシステムのキャリブレーションを行うために使用することで、一部の不整合を効果的に除去し、ローカルデジタル処理装置の他の回路で残りの大半に対応する。
Hermesに組み込まれたもう一つの要素として挙げられるのが、対角選択デコーダー(図2の上部)だ。書きたい要素を正確に分離して、プログラミング処理を向上させる。
Hermesのネットワーク実装を担当する研究者Athanasios Vasilopoulos氏によると、今後の展望として、通信ネットワークを拡張してより多くのデジタル装置を搭載することを目指すという(これにより、例えばTransformerモデルをサポートできるようになる)。
また、これを大型チップにも取り入れることで、ネットワークモデル全体を自律的に動作させたり、他のチップと連携してタイル表示できるようにしたりする予定だという。
Vasilopoulos氏は、「Hermesも量産チップにはならないだろう。まだ研究手段の一つであることに変わりはないが、この技術を真の代替技術になり得るところまで成熟させる道が開かれるかもしれない。現在のところ、まだそこには至らない」と述べている。
Hermesの研究用チップは、IBMコミュニティー以外では利用できないが、興味があれば、IBMのニューラルネットワークトレーニング/推論向け「Analog In-Memory Hardware Acceleration Kit(AIHWKit)」を使用して、アプリケーションでの実行方法についてテストシミュレーションを行うことができる。
【翻訳:田中留美、編集:EE Times Japan】
Copyright © ITmedia, Inc. All Rights Reserved.