IBM Researchによると、同社はインメモリコンピューティングの新たな手法を開発したという。この手法が、MicrosoftとGoogleの追求するハイパフォーマンスアプリケーションや機械学習アプリケーション向けハードウェアアクセラレータの解につながる可能性があるという。
IBMの研究者はこの新たな「混合精度のインメモリコンピューティング」手法を、論文審査のある専門誌「Nature Electronics」にて発表した。
IBMは今回の手法で、ソフトウェアが別々のCPUとRAMユニット間のデータ転送を必要とする従来のコンピューティングアーキテクチャとは異なる方法を採用している。
IBMによると、従来の設計はフォン・ノイマン・アーキテクチャといわれるもので、プロセッサとメモリ間で大量のデータ転送が必要となるデータ分析や機械学習アプリケーションではボトルネックが発生する。データ転送はエネルギーも大量に消費される処理だ。
この課題をIBMはアナログ相変化メモリ(PCM)チップによって一部解決しようとしている。同チップは現在、100万個のナノスケールPCMデバイスで構成される500×2000クロスバーアレイのプロトタイプに採用されている。
PCMユニットの主な利点は、CPUやGPUにデータを転送することなく大量のデータ処理にほぼ対応できることで、エネルギー消費を抑えつつ高速処理が可能となる。
IBMのPCMユニットは、CPUアクセラレータとして機能する。Microsoftが「Bing」の高速化と機械学習の向上に利用しているフィールド・プログラマブル・ゲート・アレイ(FPGA)チップと似たようなものだ。
IBMによると、同社のPCMチップは一定の条件下においてアナログ方式で演算処理が実行でき、4ビットFPGAメモリチップの80分の1のエネルギー消費量で同等の精度を実現することが同社の研究によって明らかになったという。
アナログPCMハードウェアの欠点は、高精度計算に向けたものではないという点だ。幸いデジタルCPUやデジタルGPUは高精度計算に向いていることから、IBMはハイブリッドアーキテクチャによってパフォーマンスの速度と効率性、さらには精度のバランスを保てるのではないかと考えている。
この設計では処理の大半をメモリに任せることになり、軽量の負荷をCPUにかけて精度の補正処理を行うことになる。
IBMチューリッヒ研究所の電気エンジニアで、今回の論文の主要執筆者でもあるManuel Le Gallo氏によると、この設計はクラウド上の認識コンピューティングで有望視されるもので、研究者らが現在競い合っているハイパフォーマンスコンピュータへのアクセスを自由化する可能性もあるという。
「現在の精度で、高精度GPUおよびCPUを稼働させた時と比べてエネルギー消費を6分の1に削減できた」とLe Gallo氏は米ZDNetに明かした。
「アナログコンピューティングに取り組むにあたり、精度の低さには標準プロセッサと組み合わせることで対応する。今取り組んでいるのは、大量の演算タスクをPCMデバイスに投げ込みつつ、同時に正確な最終結果を得ることだ」(Le Gallo氏)
この技術は、デジタル画像認識のようなアプリケーションに適している。一部のヘルスケアアプリケーションと同様、数ピクセルを誤認しても認識率に影響が出ないためだ。
「大量の演算処理を低い認識率で実行できる。アナログでは、PCMが非常にエネルギー効率が高い。その上で、従来のプロセッサを利用して精度を向上させる」(同氏)
IBMのプロトタイプメモリチップはまだ初期段階で、わずか1Mバイトの大きさだ。現在のデータセンター規模のアプリケーションで利用するには、数兆台のPCMデバイスでGバイト級のメモリにアクセスする必要があるだろう。
それでもIBMは、より大規模なPCMデバイスアレイを構築するか、複数のPCMデバイスをパラレル稼働させることで目標を達成できると考えている。