Slide 1

Slide 1 text

NPU わからん すごい広島575 with IT初心者の会 86 LTDD 2024-5 #3 @tsuda_ahr

Slide 2

Slide 2 text

お題 • NPU さっぱりわからん、って話をします。 • 知っている人だれか教えてください(汗

Slide 3

Slide 3 text

最近 AI PC が云々という話がありました https://forest.watch.impress.co.jp/docs/news/1593182.html

Slide 4

Slide 4 text

AI (=人工知能/Artificial Intelligence) PC ってなんぞ? • NPU を搭載した PC らしい?

Slide 5

Slide 5 text

NPU って? • AI処理に特化したユニット? • Neural network (神経組織ネットワーク?) Processing Unit? • そもそも AI 処理って何よ? https://atmarkit.itmedia.co.jp/ait/articles/2405/20/news015.html

Slide 6

Slide 6 text

そして TOPS って何? • CPU や GPU では TOPS という指標はない。 • てら・オペレーション毎秒、らしい。 • 40TOPS = 40×1012 (40兆回) 演算/秒 • なんて読むの?(テラ・オーピーエス? それともトップス?テラ・オップス?) • 参考 • TFLOPS … てら・ふろっぷす • MIPS … みっぷす/みぷす

Slide 7

Slide 7 text

CPU とかでは FLOPS という指標がある。 CPU コア数 TFLOPS Core i9(Alder Lake) P8/E8 1.18 Xeon Phi (Knights Landing) 72 3.917 GeForce RTX 4090 16384 単精度:82.58 倍精度: 1.29 https://ja.wikipedia.org/wiki/FLOPS • FLOPS = 浮動小数点・オペレーション毎秒 • 1秒当たりの浮動小数点演算実行回数。 • TOPS とは違う。

Slide 8

Slide 8 text

結論 • よくわからん(汗

Slide 9

Slide 9 text

ところで唐突ですが、 • コプロセッサ?(らしきもの?)の歴史を話してみます

Slide 10

Slide 10 text

FPU (FPP) • 浮動小数点演算ユニット • 登場当初は CPU とは別のチップだった • 浮動小数点演算をハードウェアで行う。 (これがないと、当時の CPU は整数演算しかできなかった) CPU FPU https://commons.wikimedia.org/wiki/File:I386DX-25_IV_SX543_%2B_i387DX_16-33.jpg

Slide 11

Slide 11 text

SIMD (Single Instruction, Multiple Data streams) • 一つの命令で複数の演算を同時に実行する拡張 • MMX Pentium (P55C) から実装 • SSE 以降、浮動小数点演算に対応 (Pentium Ⅲ) • 現在は AVX-512 命令で最大 16 の単精度実数演算が可能。 ※これはコプロじゃないんじゃ?という批判はスルーします(汗 以下同様。

Slide 12

Slide 12 text

GPGPU (General Purpose computing on Graphics Processing Units) • グラフィック用のプロセッサを汎用演算でも使用できるようにした。 • CPU に比べて圧倒的なコア数を実装。 • こいつもよくわからん(汗

Slide 13

Slide 13 text

NPU • ニューラル(ネットワーク)プロセシングユニット。 • 名前が無駄にかっこいい。 • しかしできることは、低精度(FP8やINT4)の行列演算。 • ひとつの演算だけをみると、8bit CPU 以下の演算能力しかなさそう(汗

Slide 14

Slide 14 text

その他 • 以下については時間の都合で省略(汗 • FPGA • DSP • トランスピューター

Slide 15

Slide 15 text

CPU/GPU と NPU の違い • 省電力志向。 • CPU に統合。 • CPU に比べて、並列数が膨大? • GPU は高精度浮動小数点演算に対応しているが、NPU は低精度に注力?

Slide 16

Slide 16 text

ChatGPT に違いを聞いてみた • GPU • 学習に使用 • より高い精度の演算が必要 • FP32(単精度実数/有効桁7桁弱)あたりを使用らしい。 • NPU • 推論に使用 • 学習ほど高い精度は必要ない • INT8(8bit整数/-128~127?/C言語の char 型相当?)あたりを使用らしい。

Slide 17

Slide 17 text

なのかどうかは知らないが • NPU は GPU に比べて、10倍処理能力は高くなり、消費電力は1/5で済 むらしい。 https://pc.watch.impress.co.jp/docs/news/event/1504066.html

Slide 18

Slide 18 text

ということで、誰か NPU とは何かを教えてください(汗 • こちらからは以上です。