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

看板PC_Shopping作者 (3d)時間4月前 (2023/12/28 08:05), 編輯推噓48(480104)
留言152則, 51人參與, 4月前最新討論串2/3 (看更多)
※ 引述《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

12/28 08:23, 4月前 , 1F
推 專業見解說明
12/28 08:23, 1F

12/28 08:49, 4月前 , 2F
12/28 08:49, 2F

12/28 08:51, 4月前 , 3F
12/28 08:51, 3F

12/28 08:53, 4月前 , 4F
12/28 08:53, 4F

12/28 08:57, 4月前 , 5F
推 以免人家說我看不懂
12/28 08:57, 5F

12/28 09:13, 4月前 , 6F
推 應該沒人發現我看不懂
12/28 09:13, 6F

12/28 09:19, 4月前 , 7F
推 這篇難得沒吹intel
12/28 09:19, 7F

12/28 09:46, 4月前 , 8F
所以GPU/NPU都還是疏鬆矩陣整個吞下
12/28 09:46, 8F

12/28 09:46, 4月前 , 9F
去硬幹? 囧
12/28 09:46, 9F

12/28 09:51, 4月前 , 10F
他應該是針對LLM而已 attention本
12/28 09:51, 10F

12/28 09:51, 4月前 , 11F
來就是sparse matrix
12/28 09:51, 11F

12/28 09:52, 4月前 , 12F
不過這東西看起來就只是要做user端
12/28 09:52, 12F

12/28 09:52, 4月前 , 13F
而已吧,有要取代gpu的意思嗎
12/28 09:52, 13F

12/28 09:55, 4月前 , 14F
現在attention後期的研究幾乎就是
12/28 09:55, 14F

12/28 09:55, 4月前 , 15F
想辦法不要整個matrix吞下去
12/28 09:55, 15F

12/28 09:56, 4月前 , 16F
mtl跑ai 我bug還在解 嗚嗚嗚
12/28 09:56, 16F

12/28 09:59, 4月前 , 17F
他提到的compressed sparse matrix
12/28 09:59, 17F

12/28 09:59, 4月前 , 18F
應該就是其中一種,反正各種方式
12/28 09:59, 18F

12/28 09:59, 4月前 , 19F
想辦法不要算那個大矩陣的演算法一
12/28 09:59, 19F

12/28 09:59, 4月前 , 20F
12/28 09:59, 20F

12/28 10:06, 4月前 , 21F
大矩陣一定要算的,現在就是合併運算不要
12/28 10:06, 21F

12/28 10:07, 4月前 , 22F
來回重複讀取大矩陣。另一個方向就是改變
12/28 10:07, 22F

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

12/28 10:09, 4月前 , 24F
model pruning是未來演算法及設計的重
12/28 10:09, 24F

12/28 10:09, 4月前 , 25F
要一環,但現在不是重點
12/28 10:09, 25F

12/28 10:09, 4月前 , 26F
是看運算法有沒突破,但這比較難
12/28 10:09, 26F

12/28 10:23, 4月前 , 27F
反正後期就是想辦法不算那個大矩陣
12/28 10:23, 27F

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

12/28 10:23, 4月前 , 29F
個都在簡化attention matrix的計算
12/28 10:23, 29F

12/28 10:24, 4月前 , 30F
不過他提的npu好像跟你想像的不一
12/28 10:24, 30F

12/28 10:24, 4月前 , 31F
樣,他應該是用在user端吧
12/28 10:24, 31F

12/28 10:25, 4月前 , 32F
user端不會遇到記憶體問題啦,你要
12/28 10:25, 32F

12/28 10:25, 4月前 , 33F
幾百張gpu做真‘’L"LM才要考量記
12/28 10:25, 33F

12/28 10:25, 4月前 , 34F
憶體頻寬
12/28 10:25, 34F

12/28 10:29, 4月前 , 35F
推專業說明 感謝
12/28 10:29, 35F

12/28 10:57, 4月前 , 36F
太專業 看不太懂
12/28 10:57, 36F

12/28 11:06, 4月前 , 37F
太專業了只能看戲
12/28 11:06, 37F

12/28 11:08, 4月前 , 38F
不過突然有個想法 FPGA能拿來搞AI嗎
12/28 11:08, 38F

12/28 11:14, 4月前 , 39F
長見識
12/28 11:14, 39F
還有 73 則推文
12/28 21:02, 4月前 , 113F
無論如何都會bundle給消費者
12/28 21:02, 113F

12/28 21:03, 4月前 , 114F
未來內建NPU會變常態 跟手機SOC一樣
12/28 21:03, 114F

12/28 21:04, 4月前 , 115F
硬體生態系建立起來 更多軟體才會跟上
12/28 21:04, 115F

12/28 21:50, 4月前 , 116F
1個點投影是[4×4]×[4×1]
12/28 21:50, 116F

12/28 21:51, 4月前 , 117F
那你4個點一起算不就[4×4]×[4×4]了
12/28 21:51, 117F

12/28 21:54, 4月前 , 118F
我是假設NPU和tensor core類似
12/28 21:54, 118F

12/28 21:56, 4月前 , 119F
那NPU對一般人的用處就是加速矩陣乘法
12/28 21:56, 119F

12/28 21:58, 4月前 , 120F
你在算大型矩陣時就會很有感了
12/28 21:58, 120F

12/28 22:01, 4月前 , 121F
vertex shader 只輸出 4x1 啊
12/28 22:01, 121F

12/29 02:37, 4月前 , 122F
推專業
12/29 02:37, 122F

12/29 03:02, 4月前 , 123F
arm陣營搞NPU已經好幾年了,x86現在才跟
12/29 03:02, 123F

12/29 03:02, 4月前 , 124F
上,腳步是慢了點
12/29 03:02, 124F

12/29 04:35, 4月前 , 125F
那你4個點一起算不就[4×4]×[4×4]了
12/29 04:35, 125F

12/29 04:35, 4月前 , 126F
↑ 看來不是資工底的
12/29 04:35, 126F

12/29 04:36, 4月前 , 127F
我搞錯推文意思 請忽略上面推文
12/29 04:36, 127F

12/29 23:54, 4月前 , 128F
雞生蛋這種鳥答案都講得出口 笑爛
12/29 23:54, 128F

12/29 23:56, 4月前 , 129F
我一台車都能買150顆14900K了
12/29 23:56, 129F

12/29 23:56, 4月前 , 130F
不是捨不得花 就想知道有什麼現有功能
12/29 23:56, 130F

12/29 23:58, 4月前 , 131F
你的解釋就是目前完全無用效能還倒抽
12/29 23:58, 131F

12/30 01:27, 4月前 , 132F
聽起來像是在某類計算上加速好支援AI的演
12/30 01:27, 132F

12/30 01:28, 4月前 , 133F
算...只是知道AI的那些演算還找不到更重
12/30 01:28, 133F

12/30 01:28, 4月前 , 134F
量級的應用嗎?
12/30 01:28, 134F

12/30 09:10, 4月前 , 135F
12/30 09:10, 135F

12/30 09:24, 4月前 , 136F
systolic array第一次聽到,其他都有聽過
12/30 09:24, 136F

12/30 09:24, 4月前 , 137F
對未來的 Intel AMX 指令集效能有所期待
12/30 09:24, 137F

12/30 09:45, 4月前 , 138F
NPU 是特化的MAC電路,僅能加速特定工作,
12/30 09:45, 138F

12/30 09:45, 4月前 , 139F
且需額外的driver/lib/framework才能調用
12/30 09:45, 139F

12/30 09:45, 4月前 , 140F
但 throughput/能耗較好。
12/30 09:45, 140F

12/30 09:45, 4月前 , 141F
AMX 是CPU指令集,整合進通用編譯器裡,
12/30 09:45, 141F

12/30 09:45, 4月前 , 142F
可應用的範圍更大,但throughput/能耗效
12/30 09:45, 142F

12/30 09:45, 4月前 , 143F
率沒NPU好。
12/30 09:45, 143F

12/30 09:45, 4月前 , 144F
Intel AMX 來的確實有點晚,Arm 早就在做
12/30 09:45, 144F

12/30 09:45, 4月前 , 145F
(乾… Ethos-U core driver 差點…
12/30 09:45, 145F

12/30 09:45, 4月前 , 146F
在 Non-Secure 點不起來/port 失敗挫賽)
12/30 09:45, 146F

12/30 16:15, 4月前 , 147F
感謝科普
12/30 16:15, 147F

12/31 02:57, 4月前 , 148F
有編譯器支援讓這類計算更方便使用更有機
12/31 02:57, 148F

12/31 02:58, 4月前 , 149F
會發現實在的應用...還是要大廠推才比較
12/31 02:58, 149F

12/31 02:59, 4月前 , 150F
好...
12/31 02:59, 150F

12/31 13:20, 4月前 , 151F
Nvidia有sparsed matrix的加速器
12/31 13:20, 151F

12/31 13:24, 4月前 , 152F
NV加速器的做法是直接不讀0的值
12/31 13:24, 152F
文章代碼(AID): #1bZBlMK6 (PC_Shopping)
文章代碼(AID): #1bZBlMK6 (PC_Shopping)