DRAMが計算を行う時代へ:Processing-in-Memory(PIM)技術の衝撃
Processing in Memory: DRAM Is About to Do Math
Processing in Memory: DRAM Is About to Do Math
これまでメモリは単なる「記憶の置き場所」に過ぎませんでしたが、状況は変わりつつあります。今、DRAM自体が直接計算処理を行う「Processing-in-Memory(PIM)」という技術が注目されています。データ移動のボトルネックを解消するこの革新的なアプローチにより、計算効率は劇的に向上するかもしれません。次世代のアーキテクチャがどのような変革をもたらすのか、その詳細に迫ります。
RAM上にCPU/GPU/TPUを載せるアイデアはいいと思う(あの素晴らしい帯域幅の数値を見てよ!)。でも同時に、将来的にどんな問題を引き起こすのかも気になる…。将来的にRAMにプロセッサやPIM(メモリ内演算)を実装するなら、各RAMスティックの側面に、その処理機能をオフにする外付けのDIP「セーフティ」スイッチを付けるのがいいと思う。ユーザーがこのスイッチを切り替えれば、そのスティックは単なる外付けCPU制御の「ダム(愚直な)」RAMとして動作するように戻る仕組みだ。あと、こういう未来的なRAMスティックには、デバッグポートやデバッグプロキシ、シングルステップ実行機能なんかもあったら最高だよね。
関連資料:
"SIMDRAM: A Framework for Bit-Serial SIMD Processing Using DRAM Extended Abstract" (2020):
https://arxiv.org/html/2012.11890v1 (https://arxiv.org/html/2012.11890v1)
「私たちはSIMDRAMフレームワークを活用して、機械学習、データベース、画像処理(VGG-13 [63], VGG-16 [63], LeNET [38], kNN [42], TPC-H [66], BitWeaving [45], Brightness [28])における7つのアプリケーションカーネルを高速化しました。SIMDRAMは、Ambit [58]と比較してカーネルを最大2.5倍高速化します。CPUやハイエンドGPUと比較して、SIMDRAMはそれぞれ257倍、31倍のエネルギー効率を実現しつつ、93倍、6倍高いスループットを提供します。」
最近はどこもかしこもAIばかりだな。どこか大企業、そのRAMの中に汎用コアを載せてくれないか?
今年の電子工学研究(より正確には、私が関わっている分野)の話題のほとんどが「Compute In Memory(メモリ内演算)」だったな。いくつかトレンドがあるけど、どれが市場で生き残るのか興味深いよ。今の市場はRAM設計者が引っ張りだこで、求人も多いね。
じゃあ、Samsungはロング、NVIDIAはショートってことか。
「DRAMバンクはすでに帯域幅の大部分を供給しており、外部ピンからはそれを取り出せない」……はい、タブ閉じ。
「Processor-in-Memory(PIM)」なんて古くからあるアイデアだよ。1998年の博士論文「Computational RAM: A Memory-SIMD Hybrid」ですでに検討されていたくらいだ。当時の動機は、「DRAMチップと基板上のマイクロプロセッサの間では、せいぜい数百MB/sの帯域しか確保できない。しかしメモリチップ内部には数百GB(テラビット)の帯域がある。なら、ロジックの一部をそこに移動させればいいじゃないか」というものだった。著者はそれを極限まで突き詰めて、DRAMの各列に1ビットプロセッサを並べる構成まで提案していたんだ(注:真のPIMが普及しない理由は、DRAM用と高速デジタルロジック用の半導体プロセスが根本的に異なるからだ。つまり、デジタルロジック回路は「DRAMプロセス」では性能が出ないんだよ)。
HBM5の設計者たちも同じことに気づいて、「HBM DRAMチップのスタックの底にロジックチップを配置して、超高速なメモリ帯域を確保しよう」と考えたわけだ。でもこれを見てると、15年前にIntelとMicronが打ち出した「Hybrid Memory Cube(HBMよりシンプルで低コスト、かつ柔軟な代替技術であるHBMに市場で敗北した)」とほとんど同じことをしているとすぐ気づくはずさ。
** https://en.wikipedia.org/wiki/Hybrid_Memory_Cube (https://en.wikipedia.org/wiki/Hybrid_Memory_Cube)
AIモデルを実行する上で、本当に効率的なシリコンの最終到達点は、テンソルプロセッサを統合したRAMになりそうだな。
あるいはTPUを統合したフラッシュメモリ?それなら最高だね。モデルをフラッシュメモリに書き込んで、そのままモデルプロセッサとして実行できたら面白い。