PTT,  電腦硬體購買

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

※ 引述《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.cc), 來自: 219.70.128.119 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1703721942.A.506.html

avans: 推 專業見解說明 42.79.173.45 12/28 08:23
hyde1arc: 推 42.73.76.248 12/28 08:49
sbL: 推 36.224.221.45 12/28 08:51
tsaigi: 推 211.78.39.171 12/28 08:53
pinghg: 推 以免人家說我看不懂 125.229.155.20 12/28 08:57
labiron: 推 應該沒人發現我看不懂 114.137.214.99 12/28 09:13
mtc5566: 推 這篇難得沒吹intel 27.51.98.34 12/28 09:19
smallreader: 所以GPU/NPU都還是疏鬆矩陣整個吞下 114.27.25.210 12/28 09:46
smallreader: 去硬幹? 囧 114.27.25.210 12/28 09:46
hidalgo22976: 他應該是針對LLM而已 attention本 1.171.169.121 12/28 09:51
hidalgo22976: 來就是sparse matrix 1.171.169.121 12/28 09:51
hidalgo22976: 不過這東西看起來就只是要做user端 1.171.169.121 12/28 09:52
hidalgo22976: 而已吧,有要取代gpu的意思嗎 1.171.169.121 12/28 09:52
hidalgo22976: 現在attention後期的研究幾乎就是 1.171.169.121 12/28 09:55
hidalgo22976: 想辦法不要整個matrix吞下去 1.171.169.121 12/28 09:55
lpoijk: mtl跑ai 我bug還在解 嗚嗚嗚 111.196.243.14 12/28 09:56
hidalgo22976: 他提到的compressed sparse matrix 1.171.169.121 12/28 09:59
hidalgo22976: 應該就是其中一種,反正各種方式 1.171.169.121 12/28 09:59
hidalgo22976: 想辦法不要算那個大矩陣的演算法一 1.171.169.121 12/28 09:59
hidalgo22976: 堆 1.171.169.121 12/28 09:59
oopFoo: 大矩陣一定要算的,現在就是合併運算不要 36.224.253.196 12/28 10:06
oopFoo: 來回重複讀取大矩陣。另一個方向就是改變 36.224.253.196 12/28 10:07
oopFoo: 讀取的方式,更有效利用L2/L3快取。最後就 36.224.253.196 12/28 10:09
aegis43210: model pruning是未來演算法及設計的重 223.140.137.89 12/28 10:09
aegis43210: 要一環,但現在不是重點 223.140.137.89 12/28 10:09
oopFoo: 是看運算法有沒突破,但這比較難 36.224.253.196 12/28 10:09
hidalgo22976: 反正後期就是想辦法不算那個大矩陣 1.171.169.121 12/28 10:23
hidalgo22976: ,幾乎也沒什麼特別突出的想法,每 1.171.169.121 12/28 10:23
hidalgo22976: 個都在簡化attention matrix的計算 1.171.169.121 12/28 10:23
hidalgo22976: 不過他提的npu好像跟你想像的不一 1.171.169.121 12/28 10:24
hidalgo22976: 樣,他應該是用在user端吧 1.171.169.121 12/28 10:24
hidalgo22976: user端不會遇到記憶體問題啦,你要 1.171.169.121 12/28 10:25
hidalgo22976: 幾百張gpu做真‘’L"LM才要考量記 1.171.169.121 12/28 10:25
hidalgo22976: 憶體頻寬 1.171.169.121 12/28 10:25
wahaha99: 推專業說明 感謝 118.169.11.48 12/28 10:29
qwe78971: 太專業 看不太懂 27.53.137.26 12/28 10:57
bw212: 太專業了只能看戲 111.246.150.41 12/28 11:06
bw212: 不過突然有個想法 FPGA能拿來搞AI嗎 111.246.150.41 12/28 11:08
chang1248w: 長見識 223.137.131.26 12/28 11:14
pmes9866: 推 42.73.179.134 12/28 11:15
twinkleAshed: 會不會到最後變回加速卡的形式, 用223.136.225.199 12/28 11:22
twinkleAshed: PCIE介面去擴充?223.136.225.199 12/28 11:22
stlinman: 好奇NPU算圖的做到什麼程度? 一樣吃Vram150.116.129.113 12/28 11:36
stlinman: a87?150.116.129.113 12/28 11:36
mayolane: @bw212 我不知道技術上怎樣不過XDNA是X223.136.236.223 12/28 11:43
mayolane: ilinx整合進來的結果223.136.236.223 12/28 11:43
tomsawyer: 看到systolic 頭好痛 想到用verilog 1.200.97.106 12/28 11:44
tomsawyer: 硬幹systolic MAC的作業 有夠折騰 1.200.97.106 12/28 11:44
oppoR20: 推 60.198.151.4 12/28 11:49
CircusWorld: 推123.205.143.107 12/28 12:06
canandmap: 推 36.228.134.182 12/28 12:42
palapalanhu: 好專業 59.115.186.234 12/28 12:50
mikapauli: FPGA當然能做類神經網路,只要模型放得 42.72.145.191 12/28 13:00
mikapauli: 進去 42.72.145.191 12/28 13:00
mikapauli: 3D投影也是矩陣乘法,為什麼NPU不能增 42.72.145.191 12/28 13:01
mikapauli: 加性能? 42.72.145.191 12/28 13:02
mikapauli: 應該說矩陣乘法用到的地方這麼多,怎麼 42.72.145.191 12/28 13:02
mikapauli: 在遊戲上除了深度學習就沒聽過其他應用 42.72.145.191 12/28 13:04
Bencrie: 頂點的計算量不大啊 60.251.156.103 12/28 13:05
silomin: 推 其實應該還是會直接交給CPU或GPU來做 61.227.153.220 12/28 13:26
dos01: 原來如此 搞懂了 簡單來說遊戲玩家也用不到 182.155.78.98 12/28 14:14
dos01: 這東西就對了 182.155.78.98 12/28 14:14
NX9999: 我看得懂,推推XD123.241.243.107 12/28 14:21
ericwu790419: 我一直不懂 neural rendering系列 39.10.10.154 12/28 14:29
ericwu790419: 這麼猛怎麼會沒人討論 遊戲應該用 39.10.10.154 12/28 14:29
ericwu790419: 很大啊 npu也要能加速才是 39.10.10.154 12/28 14:29
s87879961: 感謝說明114.136.109.202 12/28 14:40
rickphyman42: 先推 1.200.7.105 12/28 14:55
oopFoo: 頂點運算式vector x matrix,是1d。 114.45.136.16 12/28 14:57
oopFoo: nn是matrix x matrix,2d。所以tensor 沒 114.45.136.16 12/28 14:58
oopFoo: 有幫助在3d上。 114.45.136.16 12/28 14:59
oopFoo: 你說的neural rendering是Nerfs吧。Image 114.45.136.16 12/28 15:23
oopFoo: Based rendering有很久的歷史,但IBR有它 114.45.136.16 12/28 15:24
oopFoo: 的問題,產生3d model還不錯,真要即時3d 114.45.136.16 12/28 15:24
oopFoo: 就有很多問題要克服。我個人覺得NeRF,SDF 114.45.136.16 12/28 15:25
oopFoo: 只適合生成式3d model,再轉meshes來使用 114.45.136.16 12/28 15:27
friedpig: 牙膏對AI的做法就是從小到大 NPU CPU GP118.163.149.125 12/28 15:28
friedpig: U都幹阿118.163.149.125 12/28 15:28
friedpig: 然後靠血汗的工程師去One API優化 依據118.163.149.125 12/28 15:29
friedpig: 硬體去調用CP值高的方案 或者全部一起118.163.149.125 12/28 15:29
friedpig: 叫起來靠人海打贏118.163.149.125 12/28 15:30
aegis43210: 如果未來有需要圖像辨識的遊戲,那CNN 223.140.137.89 12/28 15:51
aegis43210: 自然用的上 223.140.137.89 12/28 15:51
b131325: 所以目前NPU對一般人有什麼用?給我一個 1.175.90.195 12/28 15:55
b131325: 買的理由 1.175.90.195 12/28 15:55
yymeow: 推推 60.250.130.216 12/28 15:57
ss218: 你可以看上一篇 一堆人說很有用 60.251.219.78 12/28 15:58
b131325: 上一篇全都是幻想未來的應用,我比較想 1.175.90.195 12/28 16:11
b131325: 問的是現在能幹嘛、為什麼要買? 1.175.90.195 12/28 16:12
b131325: 未來我等應用出來再直接買更強更成熟的 1.175.90.195 12/28 16:12
b131325: 新CPU不就好了 1.175.90.195 12/28 16:12
tyr2004: 推 42.77.92.81 12/28 16:22
wahaha99: 你現在不買 那就無法形成基礎 118.169.11.48 12/28 16:27
wahaha99: 沒有基礎 軟體就不會投入 118.169.11.48 12/28 16:27
wahaha99: 軟體不投入 你就會問你為什麼要買 118.169.11.48 12/28 16:27
wahaha99: 這是個雞生蛋問題 118.169.11.48 12/28 16:27
wahaha99: 所以不要廢話 不甘願買電腦的錢有5%成本 118.169.11.48 12/28 16:27
wahaha99: 是花在這 你就去買沒有NPU的機種就是 118.169.11.48 12/28 16:28
kaj1983: 買啥硬體,買股票啦 36.238.174.159 12/28 16:34
kaj1983: 投資人看到這個大餅就會很開心 36.238.174.159 12/28 16:35
kaj1983: 和消費者沒啥關係的事 36.238.174.159 12/28 16:35
kaj1983: 等可以商用的那天再來看需求選購就好 36.238.174.159 12/28 16:36
weimr: 推 203.68.22.24 12/28 17:23
Nafusica: 有趣的是intel發表core ultra的時候220.141.194.139 12/28 17:44
Nafusica: 故意不提14代的raptor refresh220.141.194.139 12/28 17:44
Nafusica: 而且core ultra對比是P系列處理器220.141.194.139 12/28 17:45
Nafusica: 所以日後準備拆開來談的可能性很高220.141.194.139 12/28 17:45
ILike58: 放到遊戲深度學習?這麼自虐XD。 223.136.36.133 12/28 20:35
littlefish1: 簡單說現在NPU頂多修個圖,多出來的220.141.152.105 12/28 20:37
littlefish1: 都是溢價,消費者現階段不該為了它220.141.152.105 12/28 20:37
littlefish1: 買單,只注意傳統性能就好220.141.152.105 12/28 20:37
littlefish1: 跟dlss同理220.141.152.105 12/28 20:38
atelier: 無論如何都會bundle給消費者 1.162.120.89 12/28 21:02
atelier: 未來內建NPU會變常態 跟手機SOC一樣 1.162.120.89 12/28 21:03
atelier: 硬體生態系建立起來 更多軟體才會跟上 1.162.120.89 12/28 21:04
mikapauli: 1個點投影是[4×4]×[4×1] 125.228.77.12 12/28 21:50
mikapauli: 那你4個點一起算不就[4×4]×[4×4]了 125.228.77.12 12/28 21:51
mikapauli: 我是假設NPU和tensor core類似 125.228.77.12 12/28 21:54
mikapauli: 那NPU對一般人的用處就是加速矩陣乘法 125.228.77.12 12/28 21:56
mikapauli: 你在算大型矩陣時就會很有感了 125.228.77.12 12/28 21:58
Bencrie: vertex shader 只輸出 4x1 啊 114.34.235.107 12/28 22:01
ttping: 推專業 223.138.149.45 12/29 02:37
menchian: arm陣營搞NPU已經好幾年了,x86現在才跟 1.168.5.29 12/29 03:02
menchian: 上,腳步是慢了點 1.168.5.29 12/29 03:02
ericinttu: 那你4個點一起算不就[4×4]×[4×4]了 114.44.139.140 12/29 04:35
ericinttu: ↑ 看來不是資工底的 114.44.139.140 12/29 04:35
ericinttu: 我搞錯推文意思 請忽略上面推文 114.44.139.140 12/29 04:36
b131325: 雞生蛋這種鳥答案都講得出口 笑爛 111.255.67.141 12/29 23:54
b131325: 我一台車都能買150顆14900K了 111.255.67.141 12/29 23:56
b131325: 不是捨不得花 就想知道有什麼現有功能 111.255.67.141 12/29 23:56
b131325: 你的解釋就是目前完全無用效能還倒抽 111.255.67.141 12/29 23:58
protoss: 聽起來像是在某類計算上加速好支援AI的演180.176.130.101 12/30 01:27
protoss: 算...只是知道AI的那些演算還找不到更重180.176.130.101 12/30 01:28
protoss: 量級的應用嗎?180.176.130.101 12/30 01:28
goldie: 推 42.75.4.60 12/30 09:10
goldie: systolic array第一次聽到,其他都有聽過 42.75.4.60 12/30 09:24
goldie: 對未來的 Intel AMX 指令集效能有所期待 42.75.4.60 12/30 09:24
goldie: NPU 是特化的MAC電路,僅能加速特定工作, 42.75.4.60 12/30 09:45
goldie: 且需額外的driver/lib/framework才能調用 42.75.4.60 12/30 09:45
goldie: 但 throughput/能耗較好。 42.75.4.60 12/30 09:45
goldie: AMX 是CPU指令集,整合進通用編譯器裡, 42.75.4.60 12/30 09:45
goldie: 可應用的範圍更大,但throughput/能耗效 42.75.4.60 12/30 09:45
goldie: 率沒NPU好。 42.75.4.60 12/30 09:45
goldie: Intel AMX 來的確實有點晚,Arm 早就在做 42.75.4.60 12/30 09:45
goldie: (乾… Ethos-U core driver 差點… 42.75.4.60 12/30 09:45
goldie: 在 Non-Secure 點不起來/port 失敗挫賽) 42.75.4.60 12/30 09:45
sdbb: 感謝科普 112.104.66.116 12/30 16:15
protoss: 有編譯器支援讓這類計算更方便使用更有機180.176.130.101 12/31 02:57
protoss: 會發現實在的應用...還是要大廠推才比較180.176.130.101 12/31 02:58
protoss: 好...180.176.130.101 12/31 02:59
AmigoSin: Nvidia有sparsed matrix的加速器 223.136.91.96 12/31 13:20
AmigoSin: NV加速器的做法是直接不讀0的值 223.136.91.96 12/31 13:24

Leave a Reply

Your email address will not be published. Required fields are marked *