Re: [闲聊] 现在横空出世的NPU

楼主: oopFoo (3d)   2023-12-28 08:05:36
※ 引述《wahaha99 (我讨厌人类)》之铭言:
: 以这个评测为例, 让我有点雾里看花, 不是很能明白:
: Intel Ultra 7 155H
: CPU分数 67
: GPU分数 413
: NPU分数 282
: 嗯....这NPU看起来没比较厉害?
: 所以我的疑问就是:
: 1. NPU 表现还不如 GPU, 这也许可以理解为最佳化还没到位,
: 不过即使未来能小赢, 为什么不拿去做GPU就算了, 还可以增加3D性能。
npu/matrix/tensor其实不能增加传统的3d性能。增加的是dlss/ray tracing的性能。
但这是个好问题,现在的情况,npu(matrix)如果并入gpu或cpu其实是更好的选择。
: 2. NPU 能执行通用计算吗? 如果可以, NPU 只是神经网络运算特化
: 的 GPU?
npu是matrix(systolic array)特异化的超简易cpu。不适合通用计算
: 3. 如何调用 NPU? 是视为 OpenCL / DirectML 装置?
: 还是又整出新的方法跟API了?
: 又或只是在GPU下的子集? (调用核显运算时指示调用NPU?)
目前就是另一个黑盒子运算机,不需要opencl/directml,可以直接从程式使用,如果os有开放出来。
gpu/avx,是simd,是1d array的运算
npu/amx/tensor是systolic array,是2d array的运算。
simd也可以matrix运算,但比较没有效率,因为要一直切换资料。
gpu+tensor/cpu+amx,就是把传统的1d暂存器扩张到2d暂存器(systolic array),把切换资料的时间省下来。效率可以2x~8x或更多。
现在影像的ai运用,npu是足够的,这是当初设计npu的目的。就算是现在很红的diffusion model,NPU也是很适合的,因为不需要即时反应。
现在的问题是,LLM(Large language Model),现在ai炒作其实就是讲这个。
LLM吃内存吃内存频宽吃运算能力。只用npu来暴力运算是行不通的。
N家的inference optimization文章
https://developer.nvidia.com/blog/mastering-llm-techniques-inference-optimization/
https://reurl.cc/37Nd7V
基本上,LLM的资料其实很松散,但很庞大,所以必须要想办法做各种内存的规划跟重组。
一个压缩过,重组内存排列方法的Model,可以有10x以上的效能提升,以后可能可以有100x的 提升。
一个很有趣的例子,intel刚买下的Numenta
https://technews.tw/2023/10/16/intel-xeon-numenta/
他把Sparse的matrix重组成Compressed Sparse Row,然后运用cpu能力去解开到AMX再来运算,就达到10x~20x的提升。
这个再加各种caching跟attention的优化,100x提升是很有可能达到的。
趋势来讲,ai还在演变,cpu+amx或gpu+tensor还是会是短期发展的趋势。

Links booklink

Contact Us: admin [ a t ] ucptt.com