NPU 【Neural Processing Unit】

概要

NPU(Neural Processing Unit)とは、マイクロプロセッサの種類の一つで、人工知能システムの一種である人工ニューラルネットワークの利用に適した演算機能を内蔵したもの。整数の数値計算を効率よく実行することができる。単体のICチップの他に、CPUなどに内蔵されて提供されるものがある。

ニューラルネットワークとは

人工ニューラルネットワークは、動物の脳の内部に見られる神経細胞の網目状の繋がりであるニューラルネットワークNNNeural Network)の仕組みを模倣したコンピュータシステムで、人工知能の有力な実装方式の一つとして広まっている。

人工ニューラルネットワークを応用した機械学習システムでは、人間が教材から言語や知識を学ぶように、元になる大量のデータシステムに投入してパターンを「学習」し、対象分野についてのデータモデルを作成する。使用時にはこのモデルに対して学習データと同種のデータ入力すると、学習結果に従って何らかの出力を返す。

NPUとは

NPUは主に学習済みのモデルを用いて実際の課題に対して推論などをう際に必要となる整数計算を効率よく実行するためのプロセッサで、パソコンスマートフォンなど人々が直に操作する端末に組み込んで使用されることが想定される。単に処理が高速なだけでなく価格やエネルギー効率、チップの実装面積、発熱量なども重視される。

単体のプロセッサとして実装されることもあるが、パソコンスマートフォンなどの端末では複数のチップを統合した「SoC」(System-on-a-Chip)が主流であるため、NPUもGPUなどと共にCPUに機能ブロックの形で内蔵されることが多い。米マイクロソフトMicrosoft)社では今後のWindowsパソコンの基準となる「Copilot+ PC」の要件として40TOPS以上のNPU内蔵を求めており、多くのCPU製品に内蔵されるようになることが予想されている。

GPUとの違い

データ学習(モデル作成)時には大量の実数演算が必要になるため、3DCGの生成などに用いられるGPUGraphics Processing Unit)を搭載した大規模サーバなどを用いて計算を進めるが、モデルの使用時には整数演算が主となることが多いため、NPUには大量の整数演算を並列に実行する回路が内蔵されている。

GPUの性能の指標としては1秒あたりの実数(浮動小数点数)の計算回数を示す「FLOPS」(FLoating-point Operations Per Second)および接頭辞を追加した「GFLOPS」(10億FLOPS)「TFLOPS」(1兆FLOPS)などがよく用いられるが、NPUではこれに類似する指標として1秒あたりの整数の計算回数を示す「OPS」(Operations Per Second)が用いられることが多い。実用上は計算回数を1兆回単位で表す「TOPS」(Tera-OPS)が用いられる。

(2024.7.3更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる