展會信息港展會大全

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

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

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

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

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

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

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

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

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

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

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

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

pip install opencv-python numpy現(xiàn)在,讓我們用這個模型對圖像進行分類。將以下代碼寫入一個文件并保存為 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ù)測類別,就像這樣:

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

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

benchmark_app -m MODEL -d DEVICE -hint HINT為了進行全面的性能對比,我運行了以下四條命令:

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以下是測試結(jié)果:

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

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

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

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

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

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

贊助本站

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

熱門欄目HotCates

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