Re Reference AI

インフラ

NPUとは

Neural Processing Unit

スマートフォンやPCなど、エッジデバイス上でニューラルネットワークの推論を効率的に処理する専用プロセッサ

ハードウェアエッジAI

ひとことで言うと

スマホやパソコンに搭載される、AI処理を効率よくこなす専用プロセッサ。

概要

NPU(Neural Processing Unit)とは、スマートフォン・PC・IoT機器等のエッジデバイスに搭載され、ニューラルネットワークの推論処理を低消費電力かつ高速に行うことへ特化した専用プロセッサ。 データセンター向けのGPUTPUが主に大規模な学習・推論を担うのに対し、NPUはバッテリー駆動のデバイス上で、カメラの画像認識・音声認識・生成AIアシスタント等、限られた電力予算の中で推論を完結させる用途に最適化されている。 Apple・Qualcomm・Google・Intel等、主要なチップメーカーが自社のSoC(System on a Chip)にNPUを組み込んでいる。 スマートフォンのカメラアプリにおけるリアルタイムの背景ぼかしや、PC上でのローカルLLM実行支援など、クラウドへ通信せずデバイス内で完結する推論(オンデバイス推論)を支える基盤技術。

背景

スマートフォンやノートPCのようなバッテリー駆動のデバイスでAI機能を動かすには、クラウドのGPUTPUと同じ消費電力・発熱を許容できない。 NPUは、推論で必要になる演算(特に低〜中精度の行列演算)へ特化した回路を搭載し、限られた電力予算の中でAI処理を実行できるよう開発された。

歴史

2017年: Appleが「Neural Engine」として、iPhoneのSoC(A11 Bionic)に機械学習推論専用の回路を搭載。 同年、HuaweiがNPUという名称でスマートフォン向けAIチップを発表。 2020年代: Qualcomm・Intel・AMD等、主要なチップメーカーがPC・スマートフォン向けSoCへNPUの搭載を標準化し、生成AIのオンデバイス実行を見据えた性能強化が進む。

アーキテクチャ

低〜中精度(INT8等)の行列演算に特化した専用回路を搭載し、CPU・GPUと比べて同じ演算をより少ない電力で実行できるよう設計される。 多くのSoCでは、CPU・GPU・NPUが1つのチップ上に統合されており、タスクの性質に応じて処理を振り分けることで全体の電力効率を高めている。

ワークフロー

アプリケーションがOSの推論APIを通じてNPUへモデル実行を要求 → モデルをNPU対応の量子化・変換形式へ変換 → NPU上で低消費電力な専用回路により推論する → 結果をアプリケーションへ返す。

コード例

ONNX RuntimeでNPU向けの実行プロバイダーを指定する

import onnxruntime as ort

# NPU(例: Qualcomm Hexagon)を利用する実行プロバイダーを指定
session = ort.InferenceSession(
    "model.onnx", providers=["QNNExecutionProvider", "CPUExecutionProvider"]
)
outputs = session.run(None, {"input": input_data})

利点

  • バッテリー駆動のデバイス上でも、低消費電力でAI推論できる
  • クラウドへ通信せずデバイス内で処理を完結できるため、レイテンシやプライバシー面で有利になる場合がある
  • CPU・GPUと役割を分担することで、SoC全体としての電力効率・発熱を抑えやすい

欠点

  • 学習向けの機能は限定的、または非対応で、主に推論用途に特化している
  • 対応するモデル形式や量子化のビット数に制約があり、全てのモデルをそのまま動作させられるとは限らない
  • メーカーやチップごとにAPIやツールチェーンが異なり、複数プラットフォームへの対応には個別対応の手間がかかる

比較

  • GPUGPUが大規模な並列計算を汎用的に行うのに対し、NPUはエッジデバイス上での低消費電力な推論に特化している
  • TPUNPUがエッジデバイス向けの小型な推論用プロセッサであるのに対し、TPUは主にデータセンター向けの学習・推論用プロセッサ
  • 量子化NPU上で効率よく推論するには、モデルを量子化しNPUが対応する精度形式へ変換することが多い
  • SLMNPUの普及は、SLMのようなオンデバイスで動く軽量モデルの実用性を高める一因になっている
  • エッジAINPUは、エッジデバイス上でAI推論を効率的に実行するために搭載される専用プロセッサ
  • インテリジェントビジョンセンサーNPUがSoC上でAI推論を担う専用プロセッサであるのに対し、インテリジェントビジョンセンサーはイメージセンサー自体にAI推論機能を統合したデバイス

関連用語

GPUTPU量子化SLMエッジAIインテリジェントビジョンセンサー

よくある質問

NPUがあればGPUは不要?

いいえ。 NPUは主に推論に特化しており、モデルの学習や大規模な並列計算にはGPUの方が適している。 用途によって使い分けられる。

NPUに対応させるにはモデルをどう準備すればいい?

多くの場合、モデルを量子化しCore ML・TensorFlow Lite・ONNX等、対象デバイスが対応する形式へ変換する作業が必要になる。

参考文献

関連Zenn記事