CPU、GPUに続いてPCに搭載されるNPU(Neural network Processing Unit)とは

1
4008
Ryzen AI搭載ASUS Vivobook 15 Oled

2023年頃からPCへのNPUの搭載が本格化しそうだ。スマートフォンでは画像処理用などの目的で先行して搭載されていたが、ノートパソコンやデスクトップパソコンにも搭載されようとしている。
NPUはNeural network Processing Unit(ニューラル・ネットワーク・プロセッシング・ユニット)の略で、AI Acceleratorなどとも呼ばれる。AppleはNeutral Engineと呼んでいるなど、各社名称が異なるが、NPUという呼び名が一般化しつつあるのかも知れない。スマートフォンやパソコンなどのNPUは機械学習の学習(learning)と推論(inference)のうち、推論の用途で利用するケースが多い。
2022年時点でもスマートフォンではNPUを使って、カメラで撮影した画像、音声を推論を使った高画質、高音質化処理でよく活用されている。NPU自体も画像処理やDSPなどから発展したものが多く、パソコンでも画像処理、セキュリティなどの用途でNPUが活用されようとしている。

NPU搭載の流れ

Appleは2017年に提供したiPhone 8シリーズやX用のA11にNeutral Engineを初めて搭載。2020年に発表したMac用のApple M1にも搭載している。
GoogleのAndroidスマートフォンPixelにもNPUは搭載され、Google開発のSoC TensorにはedgeTPUを搭載している。PixelシリーズでのNPUは2017年に提供されたPixel 2からPixel Visual Coreとして搭載され、2019年のPixel 4でPixel Neural Coreになり、TensorにNPUが搭載されている。
QualcommのSnapdragonも2016年に登場したSnapdragon 820からNPUをサポートし、PC用のMobile Compute Platformsにも搭載している。
この流れがPC用のx86にも来ている。実際には数年前からNVIDIAのGPUにTensor Coreとして実質搭載はされているが、ほとんど活用はされていなかった。NVIDIAのTensor Coreは2017年リリースのVoltaから搭載し、その後の世代で演算のサポート精度を増やすなどしている。
2023年くらいから、AIの活用含め、PCでのNPUが活用される流れが来ている。

PCにもNPU搭載へ

2022年に発売されたLenovoのThinkPad X1 Carbon Gen 10にはLatticeのNPU(CrosslinkNX-17)を搭載し、画像処理に活用出来るようになっている。
2022年に提供されたWindows 11 22H2ではWindows Studio Effectsという設定が加わり、NPUを利用した画像処理、音声処理をOS標準で対応した。MicrosoftはSnapdragonを搭載するSurfaceを以前から提供しており、NPUを搭載するハードウェアは以前から提供していたが、2022年からソフトウェアでも本格的に活用し始めている。

2023年になると、AMDがRyzen 7040シリーズを発表。Ryzen AI Engineと呼ぶNPUを搭載している事を発表。
Intelは一部の第13世代インテルCore(Raptor Lake)でNPU(インテルはIntel Movidius vision processing unitとしてVPUと呼んでいる)に対応、次世代のMeteor Lakeではチップレット構造になるが、その中にNPUも搭載する予定になっている。

AMDのRyzen AI

AMDは2022年に350億ドルでXilinxを買収した。
XilinxはFPGA最大手で、そのXilinxのFPGAがRyzen 7040シリーズに組み込まれ、Ryzen AIはそのFPGA上に搭載される。Ryzen AI自体も将来強化される可能性があるが、少なくともRyzen 7040ではFPGAで提供されるため、アップデートで機能拡張される可能性がある。

Intelのインテリジェント・プロセッサー

Intelは以前からAI関連の機能をCPUに搭載している。
直近の製品では、ベクトル演算が出来るIntel AVX2、AVX-512をインテルDLブースト。オーディオのノイズ除去用にインテル Gaussian & Neural Accelerator (インテル GNA)として搭載されている。

インテルDLブーストのAVX(Advanced Vector Extensions)は、1999年のPentium IIIのSIMD拡張命令、SSEが元になっている。2011年のSandy BridgeでAVXになり、2013年のHaswellでAVX2に拡張。AVX-512は2012年のXeon Phiで対応。2019年からはXeon以外のCore系の第10世代製品に搭載している。
インテルGNAはCannon Lake(2018年登場の一部の第8世代)から対応。ほかにも融合積和演算用のFMA(Fused Multiply-Add)機能などもある。

SSE自体AMDのK6-2で採用されたSSEの対抗機能。SSEはSIMD(single instruction, multiple data)の一種でStreaming SIMD Extensionsの略。当然ながらRyzen AIを搭載しないAMD製品にも、Intelが拡張したのと同等のAI関連機能は搭載されている。

さらに、2023年にリリースされた第4世代Xeon(Sapphire Rapids)からは、Intel Advanced Matrix Extension(AMX)という機能も搭載している。

2023年9月に開催されたインテルの開発者会議Intel Innovationの発表では、同年末にリリースする次世代のCore UltraにNPUを搭載するとしている。

IntelのMovidius VPU

Movidiusは画像処理関連の独立した企業だったが、2014年にMyrad 2というVision Processorを発表。その後の2016年にIntelが同社を買収した。
その後、Movidius Neural Compute Stickとしてディープラーニング用製品がインテルから登場。
早ければ2023年末に登場のMetor LakeでMovidius VPUが搭載される予定。従来からのAI関連機能がどうなっていくのか、Movidiusとの関係などは不明。

各NPUの機能詳細は

Intelのようにデベロッパー向けのマニュアルを公開しているところ、NVIDIAのTensor Cores、他にも情報を公開しているところはある。AppleのNural EngineのようにCore MLから利用は出来るが、具体的に内部でどうなっているのかよくわからないものも多い。

https://youtu.be/x5XwyUAXySM

1コメント

コメントは締め切りました。