本文來自微信公眾號“半導體行業(yè)觀察”。
如今,人工智能的硬件和軟件應用已經(jīng)發(fā)展成為專為優(yōu)化人工智能和神經(jīng)網(wǎng)絡操作而設(shè)計的。其中包括神經(jīng)處理單元(NPU),它們在加速人工智能任務方面的能力通常與圖形處理單元(GPU)相媲美。NPU是一種越來越常見的硬件,專為以最快的速度執(zhí)行尖端人工智能/機器學習任務而設(shè)計。但它們有何不同?
讓我們簡要探索一下NPU和GPU,比較它們的差異,并檢查各自的優(yōu)點和缺點。
什么是NPU?
NPU代表神經(jīng)處理單元。NPU是一種專用硬件,旨在優(yōu)化與人工智能和神經(jīng)網(wǎng)絡相關(guān)的任務的性能。
這可能讓NPU聽起來像是屬于研究實驗室和軍事基地的東西,但盡管NPU是一項相對較新的發(fā)明,但它卻越來越普遍。很快,您就會開始在臺式機和筆記本電腦中看到NPU,大多數(shù)現(xiàn)代智能手機都將NPU集成到其主CPU中,包括過去幾年的iPhone、Google Pixel和三星Galaxy機型。
神經(jīng)處理單元有助于支持(顧名思義)神經(jīng)引擎和網(wǎng)絡算法,它們用于自動駕駛和自然語言處理(NLP)等非常先進的環(huán)境,以及手機上的面部識別、語音識別和圖像處理等常規(guī)應用。
什么是GPU?
GPU代表圖形處理單元。GPU最初是為視頻游戲和多媒體應用程序中的圖形渲染而開發(fā)的,其用途已發(fā)生了重大變化,現(xiàn)在已用于許多需要并行處理來管理復雜計算的不同應用程序中。
GPU的獨特優(yōu)勢在于它們能夠快速高效地同時執(zhí)行數(shù)千個小任務。這使得它們特別擅長處理需要同時進行許多計算的復雜任務,例如渲染圖形、模擬物理,甚至訓練神經(jīng)網(wǎng)絡。
NPU與GPU:差異
從架構(gòu)上講,NPU比GPU更適合并行處理。與GPU相比,NPU具有更多數(shù)量的小型處理單元。NPU還可以結(jié)合專門的內(nèi)存層次結(jié)構(gòu)和數(shù)據(jù)流優(yōu)化,使處理深度學習工作負載特別高效。與NPU相比,GPU擁有更多功能更強大的核心。從歷史上看,這些核心通過并行處理用于各種計算任務,但NPU專為神經(jīng)網(wǎng)絡算法而設(shè)計。
NPU特別擅長處理短小且重復的任務。NPU被整合到現(xiàn)代計算系統(tǒng)中,可以減輕GPU處理神經(jīng)網(wǎng)絡固有矩陣運算的負擔,讓GPU處理渲染任務或通用計算。
與GPU相比,NPU在依賴密集型深度學習計算的任務方面表現(xiàn)出色。NLP、語音識別和計算機視覺是NPU相對于GPU表現(xiàn)出色的幾個例子。與NPU相比,GPU具有更多的通用架構(gòu),在處理大規(guī)模語言模型或邊緣計算應用方面可能難以與NPU競爭。
NPU與GPU:性能
相比之下,NPU和GPU之間最大的性能差異在于效率和電池壽命。由于NPU是專為神經(jīng)網(wǎng)絡操作而設(shè)計的,因此它們在以相當?shù)乃俣葓?zhí)行與GPU相同的過程時所需的功率要小得多。
這種比較更多的是針對神經(jīng)網(wǎng)絡的當前復雜性和應用,而不是兩種硬件之間的架構(gòu)差異。NPU在架構(gòu)上針對AI/ML工作負載進行了優(yōu)化,并且在處理深度學習推理和訓練等最復雜的工作負載方面超越了GPU。
NPU中用于矩陣乘法和激活函數(shù)的專用硬件意味著它們在實時語言翻譯、自動駕駛汽車中的圖像識別和醫(yī)療應用中的圖像分析等任務中比GPU具有更優(yōu)異的性能和效率。
實施問題和存儲需求
在企業(yè)級,NPU可以集成到現(xiàn)有的基礎(chǔ)設(shè)施和數(shù)據(jù)處理管道中。NPU可以與數(shù)據(jù)中心內(nèi)的CPU、GPU和其他加速器一起部署,以實現(xiàn)AI任務的最大計算能力。然而,當所有AI/ML處理元素都納入企業(yè)數(shù)據(jù)中心運營時,可能會出現(xiàn)數(shù)據(jù)訪問和存儲的危險。
經(jīng)過完全優(yōu)化的NPU和GPU可以處理AI/ML工作負載,能夠以極高的速度處理數(shù)據(jù),而傳統(tǒng)存儲系統(tǒng)可能難以跟上,從而導致數(shù)據(jù)檢索和處理中出現(xiàn)潛在瓶頸。
在應用中,NPU不會規(guī)定特定的存儲空間——但是,以最高效率運行它們依賴于它們對大量數(shù)據(jù)集的極快訪問。處理AI/ML工作負載的NPU通常需要大量數(shù)據(jù)來訓練和推斷準確的模型,以及極快地對數(shù)據(jù)進行排序、訪問、更改和存儲的能力。企業(yè)級解決方案包括閃存和整體管理的存儲基礎(chǔ)設(shè)施。
總而言之,NPU是專門為執(zhí)行神經(jīng)網(wǎng)絡操作而設(shè)計和構(gòu)建的,這使得它們特別有效地處理與AI/ML操作相關(guān)的小型重復任務。
從表面上看,GPU聽起來很相似:設(shè)計用于同時執(zhí)行小操作的硬件組件。然而,由于NPU針對矩陣乘法和激活函數(shù)等任務進行了優(yōu)化,因此在神經(jīng)工作負載方面具有明顯優(yōu)勢。這使得NPU在處理深度學習計算方面優(yōu)于GPU,尤其是在效率和速度方面。