騰訊 CVM 標(biāo)準(zhǔn)型 SR1 是騰訊云推出的首款搭載 ARM 架構(gòu)處理器的新一代 CVM 標(biāo)準(zhǔn)型計(jì)算實(shí)例規(guī)格。SR1 基于全核一致主頻 3.0GHz 的 Ampere Altra 處理器,實(shí)例核數(shù)從 1 核到 64 核,并支持 1: 2、1: 4 等多種處理器與內(nèi)存配比,相對(duì) x86 架構(gòu)實(shí)例為用戶提供卓越的性價(jià)比。
Ampere 為基于 Ampere Altra 處理器的 SR1 實(shí)例提供了優(yōu)化過的 AI 框架 (Ampere AI),并通過騰訊鏡像市場(chǎng)提供免費(fèi)的鏡像給客戶使用。本文將介紹如何在騰訊云上創(chuàng)建 SR1 實(shí)例,并基于 TensorFlow 對(duì)計(jì)算機(jī)視覺分類性能進(jìn)行評(píng)測(cè)。
用 CPU 做推理
現(xiàn)下 AI 推理應(yīng)用的算力來源主要有三種方式,即 CPU+AI 專用芯片,CPU+GPU 和單純的 CPU 推理。根據(jù) Statista 和麥肯錫之前發(fā)布的AI硬件洞察報(bào)告,基于 CPU 的推理目前仍占 50% 以上。相比其他兩種模式,采用 CPU 推理的主要原因有幾點(diǎn):
更加靈活便利,軟件主導(dǎo),對(duì)應(yīng)用方來說對(duì)專用硬件的依賴性低。
涉及操作系統(tǒng)、驅(qū)動(dòng)程序、運(yùn)行時(shí)組件庫等的復(fù)雜性較低。
CPU 上 AI 模型算法(例如稀疏性、量化等)的持續(xù)優(yōu)化創(chuàng)新可以提供接近 GPU 的高吞吐量。
更容易實(shí)現(xiàn)橫向擴(kuò)展并與其他軟件堆棧進(jìn)行集成。
更重要的是在 CPU 上搭建推理應(yīng)用可以方便的將 AI 集成到業(yè)務(wù)邏輯模塊,融入微服務(wù)云原生體系。
本文將介紹如何在騰訊云上創(chuàng)建 SR1 云實(shí)例,基于 SR1 所搭載的 Ampere Altra CPU,以 TensorFlow 為例對(duì)計(jì)算機(jī)視覺分類性能進(jìn)行評(píng)測(cè)。
創(chuàng)建 SR1 實(shí)例
我們將創(chuàng)建一個(gè) 16vCPU 的 SR1 實(shí)例 SR1.4XLARGE32 來進(jìn)行評(píng)測(cè),該實(shí)例配置 16 個(gè) Ampere Altra 物理核和 32GB 內(nèi)存。
首先登錄騰訊云的控制臺(tái),在“實(shí)例”類別下選擇“新建”,將進(jìn)入實(shí)例創(chuàng)建頁面。由于 SR1 目前只在廣州六區(qū)有售,所以需要選擇“廣州”->“廣州六區(qū)”->”標(biāo)準(zhǔn)型 SR1”。
然后將看到不同規(guī)格的 SR1 實(shí)例,這里我們選擇 SR1.4XLARGE32 規(guī)格的實(shí)例。
鏡像選擇“鏡像市場(chǎng)”-> “從鏡像市場(chǎng)選擇”,然后搜索“Ampere”,選取“Ampere Optimized TensorFlow - Ubuntu 20.04”鏡像即可免費(fèi)使用 Ampere 針對(duì) SR1 優(yōu)化過的 TensorFlow 2.7 以及各種示例程序。
設(shè)置好其它的實(shí)例配置,就可以確認(rèn)配置信息并開通實(shí)例了。
啟動(dòng)并連接到實(shí)例
實(shí)例創(chuàng)建完就可以啟動(dòng)并登錄了。實(shí)例的 IP 地址可以從控制臺(tái)獲取,取決于創(chuàng)建時(shí)設(shè)置的登錄方式,可以使用密碼或密鑰的方式登錄實(shí)例。
登錄后將看到下面的 Ampere AI 的歡迎界面。
可以看到,這個(gè)鏡像除了集成了 Ampere 優(yōu)化的 Tensorflow,也包含 aio-example 的測(cè)試代碼,該代碼也可以從 github 上獲取。
運(yùn)行 TensorFlow AIO 示例
TensorFlow 是一個(gè)端到端開源機(jī)器學(xué)習(xí)平臺(tái)。它擁有一個(gè)全面而靈活的生態(tài)系統(tǒng),其中包含各種工具、庫和社區(qū)資源,可助力研究人員推動(dòng)先進(jìn)機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,并使開發(fā)者能夠輕松地構(gòu)建和部署由機(jī)器學(xué)習(xí)提供支持的應(yīng)用。
我們創(chuàng)建實(shí)例時(shí)從鏡像市場(chǎng)選擇的鏡像已經(jīng)包含了針對(duì) Ampere Altra CPU 優(yōu)化過的 Tensorflow 2.7。為了運(yùn)行 aio-example 提供的示例程序,我們需要先下載模型。aio-examples 提供了包括圖像分類和對(duì)象檢測(cè)的不同模型,有 32 位的,也有 16 位和 8 位的模型。
取決于網(wǎng)絡(luò)狀況,下載所有的模型將需要幾分鐘。
我們將用 TensorFlow resnet_50_v15 分類模型來進(jìn)行測(cè)試和評(píng)估。ResNet50 是最常用的圖像分類模型之一。
由于 Ampere Altra CPU 是單核單線程,SR1 里每一個(gè) vCPU 都對(duì)應(yīng)一個(gè) Altra 物理核,所以在用 SR1.4XLARGE32 測(cè)試時(shí),我們指定 AIO_NUM_THREADS 為 16。我們首先測(cè)試 FP32 的雙精度模型。
可以看到,使用 16 個(gè)核心,resnet_50_v15 可以每秒處理 65.36 張圖像(65.36 ips), 延時(shí)為 15ms。
下面我們?cè)贉y(cè)試基于 FP16 的模型。
我們看到 FP16 的模型提供了高達(dá) 115.59 ips 的吞吐能力,這是因?yàn)?Ampere Altra 處理器對(duì) FP16 提供了原生支持。相比 FP32 模型, FP16 模型可以在不影響模型的精度的前提下提供接近 2 倍的圖像處理能力。
與其他實(shí)例的性能對(duì)比
這里的 aio-example 同樣可以運(yùn)行在基于 Intel CPU 和 AMD CPU 的騰訊 CVM 實(shí)例上。我們同樣創(chuàng)建 16vCPU 的實(shí)例 S6.4XLARGE32 和 SA3.4XLARGE32。其中 S6.4XLARGE32 是基于 Intel Xeon Ice Lake 處理器的 16vCPU 實(shí)例,SA3.4XLARGE32 是基于 AMD EPYC Milan 處理器的 16vCPU 實(shí)例。與 SR1.4XLARGE32 不同的是,這里的 16vCPU 是 16 個(gè)線程,而非物理核,實(shí)際的物理核為 8。
我們?cè)?S6.4XLARGE32 上運(yùn)行 intel-tensorflow, 這是 Intel 優(yōu)化過的 TensorFlow 以充分發(fā)揮 AVX-512 指令集的性能。
AMD 也提供了針對(duì) AMD CPU 優(yōu)化的 ZenDNN,但在騰訊 CVM 里測(cè)試的結(jié)果并不比 native 的 Tensorflow 更好,所以以下 SA3.4XLARGE32 的數(shù)據(jù)采用的是 native TensorFlow。
“resnet_50_v15”模型在 3 個(gè)平臺(tái)上的性能表現(xiàn)如下表。
我們可以看到,每秒處理的圖像數(shù)量(ips),SR1.4xLARGE32 分別比同規(guī)格的 S6 和 SA3 實(shí)例高出 40% 和 50%;如果再考慮單個(gè)實(shí)例的價(jià)格差異,以相同的價(jià)格,SR1.4xLARGE32 可以獲得比同規(guī)格的 S6 和 SA3 高出 70% 和 40% 的性能。
于此同時(shí),SR1 實(shí)例還提供了對(duì) FP16 的支持,可以獲得更高的吞吐能力,以及更低的延時(shí)特性。
Jupiter Notebook 的可視化示例
aio-example 也提供了 Jupiter Notebook 腳本,方式編輯,調(diào)試和實(shí)現(xiàn)可視化。
下面將以對(duì)象檢測(cè)模型 SSD Inception v2 為例。首先在 CVM 里啟動(dòng) Jupiter Notebook。
在另外一臺(tái)有瀏覽器的機(jī)器上,執(zhí)行以下命令,輸入實(shí)例的密碼,開啟 ssh 隧道;然后打開瀏覽器,輸入上面最后一行的地址,就可以看到 AIO 的 Jupiter Notebook 了。
進(jìn)入“object_detection”,點(diǎn)擊“examples.ipynb”,將會(huì)看到 Object Detection Examples 的頁面。
點(diǎn)擊“Cell” -> “Run All”運(yùn)行。
查看運(yùn)行結(jié)果。
也可以通過同樣的方法運(yùn)行 aio-examples 里面其它的示例。
結(jié) 論
采用 Ampere Altra 處理器的騰訊 SR1 實(shí)例,充分發(fā)揮了單核單線程的性能優(yōu)勢(shì),同時(shí) Ampere AI 優(yōu)化軟件棧將 SR1 在 AI 推理應(yīng)用中,相對(duì) x86 架構(gòu)的性價(jià)比優(yōu)勢(shì)提升到了 70%。
除了騰訊云市場(chǎng)的免費(fèi)鏡像,用戶也可以從 Ampere 解決方案網(wǎng)站獲取即用型 Docker 映像,包括代碼和文檔,在接受最終用戶許可協(xié)議后的進(jìn)行下載。Docker 映像包含一個(gè)標(biāo)準(zhǔn)的 ML 框架(TensorFlow,PyTorch, ONNX等),預(yù)裝了優(yōu)化的軟件,可以在騰訊 CVM SR1 無需更改即可運(yùn)行推理腳本。鏡像中也提供了圖像分類和對(duì)象檢測(cè)等示例模型。
原文標(biāo)題:安博士講堂 | 騰訊 Arm 云實(shí)例評(píng)測(cè)系列 - AI 推理
文章出處:【微信公眾號(hào):安晟培半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
18924瀏覽量
227195 -
cpu
+關(guān)注
關(guān)注
68文章
10698瀏覽量
209324 -
騰訊云
+關(guān)注
關(guān)注
0文章
204瀏覽量
16703 -
Ampere
+關(guān)注
關(guān)注
1文章
60瀏覽量
4516
原文標(biāo)題:安博士講堂 | 騰訊 Arm 云實(shí)例評(píng)測(cè)系列 - AI 推理
文章出處:【微信號(hào):AmpereComputing,微信公眾號(hào):安晟培半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論