展會(huì)信息港展會(huì)大全

從CPU到NPU,英特爾芯片到底快了多少?開(kāi)發(fā)者實(shí)測(cè):AI性能飛躍15倍!
來(lái)源:互聯(lián)網(wǎng)   發(fā)布日期:2025-02-07 07:32:15   瀏覽:208次  

導(dǎo)讀:【CSDN 編者按】在 AI 技術(shù)快速發(fā)展的今天,計(jì)算硬件的進(jìn)步正成為推動(dòng) AI 應(yīng)用落地的關(guān)鍵力量之一。英特爾最新芯片搭載的神經(jīng)處理單元(NPU),以其高效的 AI 任務(wù)處理能力,為開(kāi)發(fā)者帶來(lái)了全新的性能體驗(yàn)。相較于傳統(tǒng)CPU,NPU 可以顯著提升AI 模型的運(yùn)行速度,但具體能提升到什么程度呢?為了解答這個(gè)問(wèn)題,本文作者通過(guò)實(shí)際測(cè)試和深入解析,最終確認(rèn):NPU 大概能帶來(lái) 15 倍的 ......

【CSDN 編者按】在 AI 技術(shù)快速發(fā)展的今天,計(jì)算硬件的進(jìn)步正成為推動(dòng) AI 應(yīng)用落地的關(guān)鍵力量之一。英特爾最新芯片搭載的神經(jīng)處理單元(NPU),以其高效的 AI 任務(wù)處理能力,為開(kāi)發(fā)者帶來(lái)了全新的性能體驗(yàn)。相較于傳統(tǒng)CPU,NPU 可以顯著提升AI 模型的運(yùn)行速度,但具體能提升到什么程度呢?為了解答這個(gè)問(wèn)題,本文作者通過(guò)實(shí)際測(cè)試和深入解析,最終確認(rèn):NPU 大概能帶來(lái) 15 倍的性能提升。

作者 | Sebastian Montabone   翻譯| 鄭麗媛出品 | CSDN(ID:CSDNnews)目前,英特爾最新的芯片配備了一個(gè)神經(jīng)處理單元(NPU),其設(shè)計(jì)目標(biāo)是比普通 CPU 更高效地處理 AI 和機(jī)器學(xué)習(xí)任務(wù)。理論上來(lái)說(shuō),NPU 可以更快地運(yùn)行 AI 工作負(fù)載,并且功耗更低這非常好,因?yàn)槟憧梢詫?CPU 釋放出來(lái)執(zhí)行其他通用任務(wù)。

但我想知道,與 CPU 相比,NPU 在運(yùn)行模型時(shí)到底能快多少。根據(jù)我的測(cè)試結(jié)果:NPU 大概能帶來(lái) 15 倍的性能提升,這實(shí)在是令人驚訝。

從CPU到NPU,英特爾芯片到底快了多少?開(kāi)發(fā)者實(shí)測(cè):AI性能飛躍15倍!

如果你正在考慮購(gòu)買(mǎi)一款帶有 NPU 的邊緣設(shè)備,我可以推薦 Khadas Mind 2 迷你 PC。它非常小巧,但性能強(qiáng)大,還配備了一個(gè)小型電池作為 UPS(不間斷電源),你可以隨意更換 USB 電源而不會(huì)斷電。好的,現(xiàn)在讓我們看看我是如何得出標(biāo)題中提到的那個(gè)數(shù)字的。

在實(shí)時(shí)計(jì)算機(jī)視覺(jué)中,吞吐量和延遲是影響系統(tǒng)效率和響應(yīng)速度的兩個(gè)基本性能指標(biāo)。吞吐量指的是每秒處理的幀數(shù)(FPS),決定了系統(tǒng)在一段時(shí)間內(nèi)能處理多少數(shù)據(jù),這基本上就是你問(wèn)“處理這段視頻需要多長(zhǎng)時(shí)間”時(shí)所指的內(nèi)容。另一方面,延遲是指從輸入到輸出處理單幀所需的時(shí)間,它會(huì)影響系統(tǒng)對(duì)新數(shù)據(jù)的響應(yīng)速度。在增強(qiáng)現(xiàn)實(shí)和自動(dòng)駕駛等實(shí)時(shí)應(yīng)用中,低延遲至關(guān)重要。當(dāng)你操作一個(gè)系統(tǒng)時(shí),如果感覺(jué)它“卡頓”,那就是因?yàn)樗难舆t很高。通常來(lái)說(shuō),一般人都希望保持低延遲和高吞吐量。

接下來(lái),假設(shè)你已經(jīng)在系統(tǒng)上安裝了 OpenVINO,且設(shè)備中有一個(gè)帶有 NPU 的英特爾芯片。如果你自己也不太確定,可以通過(guò)運(yùn)行以下命令快速檢查這兩點(diǎn)是否屬實(shí):

import openvino as ovcore = ov.Core()core.available_devices你應(yīng)該會(huì)看到類(lèi)似 ['CPU', 'GPU', 'NPU'] 的回復(fù),這些是 OpenVINO 中可用的設(shè)備。如果你沒(méi)有看到你的設(shè)備,請(qǐng)確保你正確安裝了驅(qū)動(dòng)程序,并在繼續(xù)之前進(jìn)行故障排除。

接下來(lái),我們需要一個(gè)模型。我將使用 ResNet-50,這是最著名的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)之一,由微軟在 2015 年的論文《Deep Residual Learning for Image Recognition》中首次被提出。該模型在 ImageNet-1K 數(shù)據(jù)集上以 224×224 的分辨率進(jìn)行了訓(xùn)練,這意味著你可以輸入一張?jiān)摮叽绲膱D像,模型將預(yù)測(cè) 1000 個(gè)不同物體類(lèi)別的概率。

經(jīng)過(guò) OpenVINO 優(yōu)化的 ResNet-50,可以前往這個(gè)地址下載:https://huggingface.co/katuni4ka/resnet50_fp16/tree/main。只需下載這兩個(gè)文件:resnet50_fp16.xml 和 resnet50_fp16.bin,并將它們放在你的工作文件夾中。如果你想嘗試其他模型,也可以這樣做。請(qǐng)確保對(duì)你的模型運(yùn)行 OpenVINO 優(yōu)化器以獲得最佳性能。我還將用 OpenCV 來(lái)加載和調(diào)整圖像大小,因此我們先安裝它,并確保 numpy 也已安裝:

pip install opencv-python numpy現(xiàn)在,讓我們用這個(gè)模型對(duì)圖像進(jìn)行分類(lèi)。將以下代碼寫(xiě)入一個(gè)文件并保存為 classify.py:

import openvino as ovimport numpy as npimport cv2def classify_image():    # Step 1: Load OpenVINO model    core = ov.Core()    model = core.read_model("resnet50_fp16.xml")    compiled_model = core.compile_model(model, "CPU")  # Use "NPU" if available    # Step 2: Get input tensor details    input_layer = compiled_model.input(0)    input_shape = input_layer.shape  # Should be (1, 3, 224, 224)    # Step 3: Load and preprocess image    image = cv2.imread("input.jpg")    image = cv2.resize(image, (224, 224))  # Resize to match model input    image = image[:, :, ::-1]  # Convert BGR to RGB (OpenCV loads as BGR)    image = image.astype(np.float32) / 255.0  # Normalise to [0,1]    image = np.transpose(image, (2, 0, 1))  # HWC to CHW    image = np.expand_dims(image, axis=0)  # Add batch dimension    # Step 4: Run the inference    output = compiled_model(image)[compiled_model.output(0)]    # Step 5: Process the results    top_class = np.argmax(output)  # Get class index    # Load ImageNet labels (remember to download the file)    imagenet_labels = np.array([line.strip() for line in open("imagenet_classes.txt").readlines()])    # Display result    print(f"Predicted Class: {imagenet_labels[top_class]}")if __name__ == "__main__":    classify_image()確保在同一文件夾中有以下文件:classify.py、imagenet_classes.txt、resnet50_fp16.xml 和 resnet50_fp16.bin。然后添加任何圖像并將其重命名為 input.jpg,之后只需調(diào)用腳本:

python classify.py你應(yīng)該能得到正確的預(yù)測(cè)類(lèi)別,就像這樣:

從CPU到NPU,英特爾芯片到底快了多少?開(kāi)發(fā)者實(shí)測(cè):AI性能飛躍15倍!

現(xiàn)在我們已經(jīng)確認(rèn)模型在 OpenVINO 上可以正常工作,接下來(lái)我們可以使用一個(gè)方便的工具benchmark_app,來(lái)對(duì)不同設(shè)備上的模型性能進(jìn)行基準(zhǔn)測(cè)試。這個(gè)工具可以幫助你快速檢查不同設(shè)備在運(yùn)行不同模型時(shí)的性能表現(xiàn)。你可以通過(guò)以下命令調(diào)用它:

benchmark_app -m MODEL -d DEVICE -hint HINT為了進(jìn)行全面的性能對(duì)比,我運(yùn)行了以下四條命令:

benchmark_app -m "resnet50_fp16.xml" -d CPU -hint latencybenchmark_app -m "resnet50_fp16.xml" -d CPU -hint throughputbenchmark_app -m "resnet50_fp16.xml" -d NPU -hint latencybenchmark_app -m "resnet50_fp16.xml" -d NPU -hint throughput以下是測(cè)試結(jié)果:

從CPU到NPU,英特爾芯片到底快了多少?開(kāi)發(fā)者實(shí)測(cè):AI性能飛躍15倍!

關(guān)鍵結(jié)論:

(1)在延遲模式下,NPU 的平均延遲為 1.70ms,相比 CPU 的 24.73ms,性能提升了約 15 倍。

(2)在吞吐量模式下,NPU達(dá)到了 936.05 FPS,相比 CPU 的 62.69 FPS,性能提升了約 15 倍。

這些結(jié)果清楚地表明,在延遲和吞吐量方面,英特爾的 NPU 相比 CPU 都有顯著的性能提升,特別是在這個(gè)特定的 ResNet-50 模型中,性能提升了大約 15 倍。

從CPU到NPU,英特爾芯片到底快了多少?開(kāi)發(fā)者實(shí)測(cè):AI性能飛躍15倍!

贊助本站

相關(guān)內(nèi)容
AiLab云推薦
展開(kāi)

熱門(mén)欄目HotCates

Copyright © 2010-2025 AiLab Team. 人工智能實(shí)驗(yàn)室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動(dòng)態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會(huì) | 展會(huì)港