PTT推薦

Re: [閒聊] 現在橫空出世的NPU

看板PC_Shopping標題Re: [閒聊] 現在橫空出世的NPU作者
oopFoo
(3d)
時間推噓46 推:46 噓:0 →:104

※ 引述《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還是會是短期發展的趨勢。

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.70.128.119 (臺灣)
PTT 網址

avans 12/28 08:23推 專業見解說明

hyde1arc 12/28 08:49

sbL 12/28 08:51

tsaigi 12/28 08:53

pinghg 12/28 08:57推 以免人家說我看不懂

labiron 12/28 09:13推 應該沒人發現我看不懂

mtc5566 12/28 09:19推 這篇難得沒吹intel

smallreader 12/28 09:46所以GPU/NPU都還是疏鬆矩陣整個吞下

smallreader 12/28 09:46去硬幹? 囧

hidalgo22976 12/28 09:51他應該是針對LLM而已 attention本

hidalgo22976 12/28 09:51來就是sparse matrix

hidalgo22976 12/28 09:52不過這東西看起來就只是要做user端

hidalgo22976 12/28 09:52而已吧,有要取代gpu的意思嗎

hidalgo22976 12/28 09:55現在attention後期的研究幾乎就是

hidalgo22976 12/28 09:55想辦法不要整個matrix吞下去

lpoijk 12/28 09:56mtl跑ai 我bug還在解 嗚嗚嗚

hidalgo22976 12/28 09:59他提到的compressed sparse matrix

hidalgo22976 12/28 09:59 應該就是其中一種,反正各種方式

hidalgo22976 12/28 09:59想辦法不要算那個大矩陣的演算法一

hidalgo22976 12/28 09:59

oopFoo 12/28 10:06大矩陣一定要算的,現在就是合併運算不要

oopFoo 12/28 10:07來回重複讀取大矩陣。另一個方向就是改變

oopFoo 12/28 10:09讀取的方式,更有效利用L2/L3快取。最後就

aegis43210 12/28 10:09model pruning是未來演算法及設計的重

aegis43210 12/28 10:09要一環,但現在不是重點

oopFoo 12/28 10:09是看運算法有沒突破,但這比較難

hidalgo22976 12/28 10:23反正後期就是想辦法不算那個大矩陣

hidalgo22976 12/28 10:23,幾乎也沒什麼特別突出的想法,每

hidalgo22976 12/28 10:23個都在簡化attention matrix的計算

hidalgo22976 12/28 10:24不過他提的npu好像跟你想像的不一

hidalgo22976 12/28 10:24樣,他應該是用在user端吧

hidalgo22976 12/28 10:25user端不會遇到記憶體問題啦,你要

hidalgo22976 12/28 10:25幾百張gpu做真‘’L"LM才要考量記

hidalgo22976 12/28 10:25憶體頻寬

wahaha99 12/28 10:29推專業說明 感謝

qwe78971 12/28 10:57太專業 看不太懂

bw212 12/28 11:06太專業了只能看戲

bw212 12/28 11:08不過突然有個想法 FPGA能拿來搞AI嗎

chang1248w 12/28 11:14長見識

pmes9866 12/28 11:15

twinkleAshed 12/28 11:22會不會到最後變回加速卡的形式, 用

twinkleAshed 12/28 11:22PCIE介面去擴充?

stlinman 12/28 11:36好奇NPU算圖的做到什麼程度? 一樣吃Vram

stlinman 12/28 11:36a87?

mayolane 12/28 11:43@bw212 我不知道技術上怎樣不過XDNA是X

mayolane 12/28 11:43ilinx整合進來的結果

tomsawyer 12/28 11:44看到systolic 頭好痛 想到用verilog

tomsawyer 12/28 11:44硬幹systolic MAC的作業 有夠折騰

oppoR20 12/28 11:49

CircusWorld 12/28 12:06

canandmap 12/28 12:42

palapalanhu 12/28 12:50好專業

mikapauli 12/28 13:00FPGA當然能做類神經網路,只要模型放得

mikapauli 12/28 13:00進去

mikapauli 12/28 13:013D投影也是矩陣乘法,為什麼NPU不能增

mikapauli 12/28 13:02加性能?

mikapauli 12/28 13:02應該說矩陣乘法用到的地方這麼多,怎麼

mikapauli 12/28 13:04在遊戲上除了深度學習就沒聽過其他應用

Bencrie 12/28 13:05頂點的計算量不大啊

silomin 12/28 13:26推 其實應該還是會直接交給CPU或GPU來做

dos01 12/28 14:14原來如此 搞懂了 簡單來說遊戲玩家也用不到

dos01 12/28 14:14這東西就對了

NX9999 12/28 14:21我看得懂,推推XD

ericwu790419 12/28 14:29我一直不懂 neural rendering系列

ericwu790419 12/28 14:29這麼猛怎麼會沒人討論 遊戲應該用

ericwu790419 12/28 14:29很大啊 npu也要能加速才是

s87879961 12/28 14:40感謝說明

rickphyman42 12/28 14:55先推

oopFoo 12/28 14:57頂點運算式vector x matrix,是1d。

oopFoo 12/28 14:58nn是matrix x matrix,2d。所以tensor 沒

oopFoo 12/28 14:59有幫助在3d上。

oopFoo 12/28 15:23你說的neural rendering是Nerfs吧。Image

oopFoo 12/28 15:24Based rendering有很久的歷史,但IBR有它

oopFoo 12/28 15:24的問題,產生3d model還不錯,真要即時3d

oopFoo 12/28 15:25就有很多問題要克服。我個人覺得NeRF,SDF

oopFoo 12/28 15:27只適合生成式3d model,再轉meshes來使用

friedpig 12/28 15:28牙膏對AI的做法就是從小到大 NPU CPU GP

friedpig 12/28 15:28U都幹阿

friedpig 12/28 15:29然後靠血汗的工程師去One API優化 依據

friedpig 12/28 15:29硬體去調用CP值高的方案 或者全部一起

friedpig 12/28 15:30叫起來靠人海打贏

aegis43210 12/28 15:51如果未來有需要圖像辨識的遊戲,那CNN

aegis43210 12/28 15:51自然用的上

b131325 12/28 15:55所以目前NPU對一般人有什麼用?給我一個

b131325 12/28 15:55買的理由

yymeow 12/28 15:57推推

ss218 12/28 15:58你可以看上一篇 一堆人說很有用

b131325 12/28 16:11上一篇全都是幻想未來的應用,我比較想

b131325 12/28 16:12問的是現在能幹嘛、為什麼要買?

b131325 12/28 16:12未來我等應用出來再直接買更強更成熟的

b131325 12/28 16:12新CPU不就好了

tyr2004 12/28 16:22

wahaha99 12/28 16:27你現在不買 那就無法形成基礎

wahaha99 12/28 16:27沒有基礎 軟體就不會投入

wahaha99 12/28 16:27軟體不投入 你就會問你為什麼要買

wahaha99 12/28 16:27這是個雞生蛋問題

wahaha99 12/28 16:27所以不要廢話 不甘願買電腦的錢有5%成本

wahaha99 12/28 16:28是花在這 你就去買沒有NPU的機種就是

kaj1983 12/28 16:34買啥硬體,買股票啦

kaj1983 12/28 16:35投資人看到這個大餅就會很開心

kaj1983 12/28 16:35和消費者沒啥關係的事

kaj1983 12/28 16:36等可以商用的那天再來看需求選購就好

weimr 12/28 17:23

Nafusica 12/28 17:44有趣的是intel發表core ultra的時候

Nafusica 12/28 17:44故意不提14代的raptor refresh

Nafusica 12/28 17:45而且core ultra對比是P系列處理器

Nafusica 12/28 17:45所以日後準備拆開來談的可能性很高

ILike58 12/28 20:35放到遊戲深度學習?這麼自虐XD。

littlefish1 12/28 20:37簡單說現在NPU頂多修個圖,多出來的

littlefish1 12/28 20:37都是溢價,消費者現階段不該為了它

littlefish1 12/28 20:37買單,只注意傳統性能就好

littlefish1 12/28 20:38跟dlss同理

atelier 12/28 21:02無論如何都會bundle給消費者

atelier 12/28 21:03未來內建NPU會變常態 跟手機SOC一樣

atelier 12/28 21:04硬體生態系建立起來 更多軟體才會跟上

mikapauli 12/28 21:501個點投影是[4×4]×[4×1]

mikapauli 12/28 21:51那你4個點一起算不就[4×4]×[4×4]了

mikapauli 12/28 21:54我是假設NPU和tensor core類似

mikapauli 12/28 21:56那NPU對一般人的用處就是加速矩陣乘法

mikapauli 12/28 21:58你在算大型矩陣時就會很有感了

Bencrie 12/28 22:01vertex shader 只輸出 4x1 啊

ttping 12/29 02:37推專業

menchian 12/29 03:02arm陣營搞NPU已經好幾年了,x86現在才跟

menchian 12/29 03:02上,腳步是慢了點

ericinttu 12/29 04:35那你4個點一起算不就[4×4]×[4×4]了

ericinttu 12/29 04:35↑ 看來不是資工底的

ericinttu 12/29 04:36我搞錯推文意思 請忽略上面推文

b131325 12/29 23:54雞生蛋這種鳥答案都講得出口 笑爛

b131325 12/29 23:56我一台車都能買150顆14900K了

b131325 12/29 23:56不是捨不得花 就想知道有什麼現有功能

b131325 12/29 23:58你的解釋就是目前完全無用效能還倒抽

protoss 12/30 01:27聽起來像是在某類計算上加速好支援AI的演

protoss 12/30 01:28算...只是知道AI的那些演算還找不到更重

protoss 12/30 01:28量級的應用嗎?

goldie 12/30 09:10

goldie 12/30 09:24systolic array第一次聽到,其他都有聽過

goldie 12/30 09:24對未來的 Intel AMX 指令集效能有所期待

goldie 12/30 09:45NPU 是特化的MAC電路,僅能加速特定工作,

goldie 12/30 09:45且需額外的driver/lib/framework才能調用

goldie 12/30 09:45但 throughput/能耗較好。

goldie 12/30 09:45AMX 是CPU指令集,整合進通用編譯器裡,

goldie 12/30 09:45可應用的範圍更大,但throughput/能耗效

goldie 12/30 09:45率沒NPU好。

goldie 12/30 09:45Intel AMX 來的確實有點晚,Arm 早就在做

goldie 12/30 09:45 (乾… Ethos-U core driver 差點…

goldie 12/30 09:45 在 Non-Secure 點不起來/port 失敗挫賽)

sdbb 12/30 16:15感謝科普

protoss 12/31 02:57有編譯器支援讓這類計算更方便使用更有機

protoss 12/31 02:58會發現實在的應用...還是要大廠推才比較

protoss 12/31 02:59好...