powered by TechFeed
表示モード
Deep Dive

AIの電力危機がアナログ計算を復活させた — GPUのエネルギーの大半は「演算」ではなく「数値の移動」に消えている

7月17日、Towards Data Scienceが「Analog AI Is Back, But Can It Survive Its Own Noise?」と題した記事を公開した。この記事では、AIの電力危機を背景に復活しつつあるアナログ・イン・メモリ・コンピューティングの仕組み、本質的な課題であるノイズ問題、そしてその対処法について詳しく解説されている。

7月17日、Towards Data Scienceが「Analog AI Is Back, But Can It Survive Its Own Noise?」と題した記事を公開した。この記事では、AIの電力危機を背景に復活しつつあるアナログ・イン・メモリ・コンピューティングの仕組み、本質的な課題であるノイズ問題、そしてその対処法について詳しく解説されている。


GPUが消費するエネルギーの大半は「数値の移動」に使われている

現代のGPUは、行列演算そのものより、重みをメモリから読み出してコンピュートユニットに転送し、結果を書き戻す作業に大半のエネルギーを費やしている。これを「フォン・ノイマンボトルネック」と呼ぶ。元記事によれば、この重みの移動コストは演算自体と比べて桁違いに大きく、とりわけ大規模モデルをGPUクラスタで動かす構成では、その差が数千倍のオーダーに達する場合もあるという。ただしこの倍率はモデル規模・バッチサイズ・メモリ帯域幅・ハードウェア構成によって大きく変わるため、単一の数値で語ることには注意が必要だ。

規模感を示す数字として、Gartnerはグローバルのデータセンター消費電力が2025年の104GWから2026年には132GW、2030年には約290GWに達すると予測しており、生成AIワークロードをその主因として挙げている。


グローバルデータセンター電力需要 2025〜2030年。出典: Gartner, June 2026

この状況が、「アナログ・イン・メモリ・コンピューティング(AIMC)」という古いアイデアの静かな復活を後押ししている。


アナログ・イン・メモリ・コンピューティングの仕組み

AIMCの核心は、メモリと演算を同じ場所で行うことにある。

重みを位相変化メモリ(PCM)や抵抗変化型RAM(ReRAM)などの素子の「コンダクタンス値(電気の通りやすさ)」として格納する。入力をそのグリッドに電圧として与えると、オームの法則(電流 = 電圧 × コンダクタンス)が各乗算を実行し、キルヒホッフの電流則(電流は合流する)が積算を実行する。ニューラルネットワークの中核演算である行列ベクトル積が、バスを介さず1ステップの物理現象として完結する

ただし重要な落とし穴がある。演算自体はほぼ無コストだが、入出力のアナログ・デジタル変換(ADC/DAC)に相当なエネルギーと回路面積が必要になる。演算はタダでも、「その結果を読み出す」コストが本質的に残るという皮肉だ。

IBMのHERMESプロジェクトはその実用例で、PCMベースのアナログチップで3500万セル・最大1700万パラメータをオンチップに搭載し、デジタルアクセラレータの数分の一のエネルギーで同等の精度を実証した(2023年報告)。スタートアップのEnCharge AI(プリンストン発、TSMCと製造提携)やMythicも実用化に資金を投じている。


ノイズ問題:アナログが一度滅んだ本当の理由

アナログ計算がデジタルに敗北した理由は今も変わっていない。連続した物理信号は、0か1かを区別するだけのデジタル回路と違い、熱ノイズ・素子ばらつき・経時変化のすべてに晒される。

特に厄介なのが「ドリフト」だ。アナログの重みは物理的な材料特性として格納されるため、書き込み後に材料が緩和し、同じ重みでも1週間後に異なる値として読み出される。デジタルメモリには存在しないこのオーバーヘッドのために、アナログチップは定期的な再キャリブレーションが必要になる。

記事ではこれをNumPyで再現できる最小限のシミュレーションで示している:

import numpy as np
rng = np.random.default_rng(42)
n_in, n_out = 64, 32
W = rng.uniform(-1, 1, size=(n_in, n_out))
x = rng.uniform(-1, 1, size=n_in)
digital_result = x @ W

def analog_matmul(x, W, programming_noise_std=0.0, read_noise_std=0.0, adc_bits=None):
    G = W + rng.normal(0, programming_noise_std, size=W.shape)
    out = x @ G
    out = out + rng.normal(0, read_noise_std, size=out.shape)
    if adc_bits is not None:
        lo, hi = out.min(), out.max()
        step = (hi - lo) / (2 ** adc_bits)
        out = np.round((out - lo) / step) * step + lo
    return out

プログラミングノイズ・読み出しノイズ・4ビットADCを組み合わせると、単一レイヤーで8%超の相対誤差が生じる。これが深いネットワーク全体に伝播した場合の影響は想像以上に大きい。

実際、通常学習したネットワークをノイズありのアナログ推論環境で動かすと、精度劣化は緩やかではなく「崖から落ちる」形になる。ノイズstd=0.2で83%、0.4で64%、0.8ではランダム推測に近づく


対策:ノイズを知った上で学習させる

現在の研究が向かう方向は「ハードウェアを静かにする」だけでなく、「最初からノイズ込みで学習する」だ。IBMが「ハードウェアアウェア学習」と呼ぶこの手法は、学習時のフォワードパスにノイズを注入し、勾配降下法がノイズ耐性のある重みを自然に見つけるよう強制する。

考え方としては、ドロップアウト量子化認識学習(QAT)と発想が近い。ドロップアウトがランダムなユニット消去で過学習を防ぐように、ハードウェアアウェア学習は「推論時に必ず生じるノイズ」を学習段階から織り込む。QATが整数演算の丸め誤差をシミュレートして量子化後の精度を守るように、こちらはアナログ素子の物理ノイズをシミュレートして精度を守る。既存の正則化・量子化技術の延長として理解すると見通しが立ちやすい。

def train(params, X, Y, epochs=300, lr=0.1, train_noise_std=0.0):
    for epoch in range(epochs):
        # train_noise_std > 0 のとき、ネットワークはクリーンな信号を見ない
        probs, h = forward(params, X, layer2_noise_std=train_noise_std)
        # ...以降は通常の勾配降下

結果は明確だ:

ノイズがゼロの状態では両モデルの精度は統計的に同一だが、ノイズが増えると差が開く。std=0.6の時点で、通常学習モデルは39%まで崩壊するのに対し、ノイズアウェアモデルは61%を維持する。「設計された劣化」と「想定外の崩壊」の違いだ。


現状整理:何が確かで、何が未解決か

記事は現在の状況を以下のように整理している:

  • 推論には有望、学習はまだ難しい。 バックプロパゲーションの精度要件はアナログには厳しく、「エッジでの推論実行」が当面の現実的な用途だ。
  • 商業実績はまちまち。 Mythicは元記事によれば2025年末に1億2500万ドルを調達したとされているが、デジタル低消費電力チップの進化という競合圧力の中にある。EnCharge AIはTSMCとの製造提携を進め、比較デジタルチップ比約20倍の省エネを主張するが、これはまだほぼ商業前の数字だ。IBMはLLMのMixture-of-Expertsレイヤーを3Dアナログメモリアーキテクチャにマッピングする研究を続けている。
  • フォトニクスやニューロモルフィックとは別物。 Lightmatterなどが進める光コンピューティングや、IntelのLoihi系ニューロモルフィックチップは「脳にインスパイアされたコンピューティング」として同じ文脈で語られることが多いが、解こうとしている問題が異なる。

アナログAIはAIの電力危機をそれ単独で解決するものではない。しかしデジタル効率化の「簡単な勝ち」が尽きつつある今、フォン・ノイマンボトルネックへの根本的なアプローチとして、アーキテクチャ転換の現実的な候補の一つであることは確かだ。その中心的な主張も問題点も、30行のNumPyで手元から検証できる点が、この議論を特に具体的なものにしている。


詳細はAnalog AI Is Back, But Can It Survive Its Own Noise?を参照していただきたい。