0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在OCI Ampere A1上啟動計算密集AI應(yīng)用程序

科技綠洲 ? 來源:安晟培半導(dǎo)體 ? 作者:安晟培半導(dǎo)體 ? 2022-05-01 09:05 ? 次閱讀

本文將向您展示如何在 OCI Ampere A1 上準(zhǔn)備和啟動計算密集的 AI 應(yīng)用程序。

使用 Ampere A1,我們將發(fā)揮 Ampere Altra 處理器和 Ampere AIO 一流的 AI 推理性能。

我將使用此 Github 中的演練/腳本(請注意,這些腳本也將在我們將創(chuàng)建的實例上)。此外,如果您想繼續(xù),您需要 Ampere A1 實例 - 可以在 OCI 上免費創(chuàng)建。

創(chuàng)建免費的 Ampere VM

首先,我將創(chuàng)建 Ampere A1 的單個實例。該實例使用 VM.Standard.A 1.Flex 并具有 4 個 OCPU 24 GB 內(nèi)存。

“根據(jù) Oracle 的定價頁,Oracle CPU (OCPU) 計費單元實際上是處理器的一個物理內(nèi)核。一個開啟超線程的 CPU,對應(yīng)的是兩個硬件執(zhí)行線程,即所謂的 vCPU。而對于 A1 實例,一個 OCPU 就是一個 vCPU?!?/p>

打開導(dǎo)航菜單并選擇計算和實例以創(chuàng)建計算實例,您可以選擇 Running Hugo 文章中使用的相同的隔層或在實例頁面上創(chuàng)建新隔層。

單擊創(chuàng)建實例按鈕打開創(chuàng)建頁面,創(chuàng)建新實例。創(chuàng)建頁面上有多個部分。但是,我們只會更改其中的幾個。

首先,您可以將隨機生成的名稱更改為更易于使用的名稱,例如 ai- vm。以下內(nèi)容是 Placement——我們可以在此處保留默認值,但您可以為實例選擇不同的可用性域(AD) 和故障域(FD)。最后,將默認設(shè)置 Always Free-eligible 可用性域。

選擇圖像和形狀

下一部分稱為 Image and Shape(圖像和形狀),我們將在這里選擇實例形態(tài)(實例形態(tài)是 GCP 中的機器類型和 Azure 中的 VM 大?。┖陀嬎銓嵗?a href="http://wenjunhu.com/v/tag/527/" target="_blank">操作系統(tǒng)映像。

1

單擊 Change shape 按鈕以選擇不同的 VM 實例形態(tài),確保您已選擇虛擬機的實例類型。您可以在下一行中選擇形態(tài)系列。我們正在尋找包含基于 ARM 的處理器和名為 VM.Standard.A 1.Flex 的形態(tài)名稱的 Ampere 系列(它應(yīng)該是此視圖中唯一可用的形狀)

2

選擇 VM.Standard.A 1.Flex ,將 OCPU 數(shù)量調(diào)整為 4,并將內(nèi)存量調(diào)整為 24 GB。完成此項操作后,我們將能夠永久免費使用這一規(guī)格。

3

單擊 Select shape 按鈕以確認選擇。

4

單擊 Change image 按鈕。然后讓我們?yōu)樾螤瞰@取正確的鏡像。

poYBAGJZKIOAWjoRAAAfZfkhc8w217.png

選擇鏡像

5

在下拉菜單中選擇 Partner Image 。然后在搜索框中,輸入 Ampere 。您將看到可用于 Ampere A1 形狀的可用鏡像。

pYYBAGJZKJCAAiK6AABf3t9JgYU488.png

Ampere Tensorflow 鏡像

6

選中Tensorflow 2.7 – Ampere AI Optimizer – Ubuntu 20.04 框和以下復(fù)選框以同意“Terms of Use(使用條款)”。然后,單擊 Select Image 按鈕。您應(yīng)該會看到選定的 shape 和 image 框,如下圖所示。

pYYBAGJZKOCAeqCuAABWJhQi9TY643.png

Tensorflow 2.7 – Ampere AI Optimizer – 已選擇 Ubuntu 20.04 鏡像

添加 SSH 密鑰

我們還想稍后使用 SSH 密鑰連接到實例。您可以選擇創(chuàng)建新的 SSH 密鑰對或上傳/粘貼一個或多個現(xiàn)有公鑰文件。

如果您正在生成新的 SSH 密鑰對,請確保單擊 Save Private Key 按鈕以保存生成的密鑰。

“注意:您必須將 SSH 密鑰文件的權(quán)限設(shè)置為 400。您可以運行 chmod 400 < keyfile > 來執(zhí)行此操作?!?/p>

創(chuàng)建 AI 實例

我們不會更改任何其他設(shè)置,因此讓我們單擊 Create 按鈕來創(chuàng)建實例。

pYYBAGJZKQOAdoKxAAB9Lfg4b9I894.png

創(chuàng)建 AI 實例

幾分鐘后,OCI 會創(chuàng)建實例,并且實例的狀態(tài)會從配置變?yōu)檫\行。

連接到實例

要連接到實例,我們將使用實例的公共 IP 地址和我們設(shè)置的 SSH 密鑰。

您可以從實例頁面獲取公共 IP 地址,然后使用 ubuntu 用戶名通過 SSH 連接到機器。

$ ssh -i ubuntu@

pYYBAGJZKRKAFnr-AACZONU6_A8393.png

AI虛擬機登錄畫面

請注意,您可能會看到重新啟動 VM 的消息 - 為此,只需運行 sudo reboot 并在一分鐘后再次登錄。

運行 TensorFlow-AIO示例

TensorFlow 是一個用于機器學(xué)習(xí)的開源平臺。它擁有一系列工具、庫和資源,可讓您輕松構(gòu)建和部署基于 ML 的應(yīng)用程序。

我們在創(chuàng)建實例時選擇的 TensorFlow 鏡像包含簡單的 TensorFlow 示例。為了準(zhǔn)備運行示例,讓我們先下載模型:

$ cd ~/aio-examples

$ ./download_models.sh

“請注意,將所有模型下載到 VM 需要幾分鐘時間?!?/p>

模型文件被下載到 ~/ aioi -examples 和多個文件夾(例如classificationsobject_detection)。這些模型用來執(zhí)行一些常用的 AI 推理計算機視覺任務(wù),如圖像分類和對象檢測。

讓我們從一個使用 Tensorflow resnet_50_v15 模型進行分類的示例開始:

“resnet50 模型是什么?這是一個流行的模型,是 MLCommon 基準(zhǔn)組件之一。您可以在這里讀更多關(guān)于它的內(nèi)容 ”

cd classifications/resnet_50_v15

“對于 Ampere A1 實例,一個 OCPU 對應(yīng)一個物理的 Ampere Altra處理核心。它不同于 AMD (E3/E4)或 Intel Standard3(S3)中,一個 OCPU 對應(yīng)一個超線程(HT)內(nèi)核(一個物理內(nèi)核對應(yīng)兩個 HT 內(nèi)核)?!?/p>

我們使用4個 Altra 內(nèi)核來運行這個示例。同時選擇 FP32(全精度浮點)模型來運行此示例:

export AIO_NUM_THREADS=4

python run.py -m resnet_50_v15_tf_fp32.pb -p fp32

“在內(nèi)存中,F(xiàn)P32 或全精度浮點是一種 32 位的數(shù)字格式?!?/p>

poYBAGJZKSeAPhUoAABuLHhLNxs902.png

可以看到,使用四個核心,resnet_50_v15 每秒可以處理 19.23 張圖像(ips)。

AIO 運行半精度 (FP16) 模型

Ampere A1 在硬件中提供對 FP16 計算的原生支持。半精度(FP16)模型可提供比 FP32 多 2 倍的額外性能,同時也不會影響模型的精確度。AMD E4 和 Intel S3 都沒有對 FP16 提供原生支持,因此運行 FP16 會異常緩慢。

“FP16 是一種半精度浮點計算機數(shù)字格式,在內(nèi)存中占用 16 位?!?/p>

讓我們嘗試在 Ampere A1 上運行 FP16:

python run.py -m resnet_50_v15_tf_fp16.pb -p fp16

ubuntu@ai-vm:~/aio-examples/classification/resnet_50_v15$ python run.py -m resnet_50_v15_tf_fp16.pb -p fp16

/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.8) or chardet (3.0.4) doesn't match a supported version!

warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

Running with 4 threads

Top-1 accuracy = 0.800

Top-5 accuracy = 1.000

Accuracy figures above calculated on the basis of 5 images.

Latency: 28 ms

Throughput: 36.29 ips

使用 FP16 時,我們每秒可以處理 36.29 張圖像。

將數(shù)字與 AMD 和 Intel 實例(4 個 vCPU)進行比較

我們可以通過在 AMD 和 Intel Flex 形狀上運行相同的腳本來比較這些數(shù)字。運行此模型和應(yīng)用程序每秒的形狀和圖像的成本如下表所示。

對于 FP32 resnet_50_v15 模型:

poYBAGJZKUSAHi14AAA5f4gzQp0293.png

對于 FP16 resnet_50_v15 模型:

pYYBAGJZKXyACeTZAAAjPq-osZU816.png

在相同的成本下,運行 resnet_50_v15 FP32 模型的 Ampere A1 形狀可提供超過 AMD 最佳 E4 實例 1.5 倍的性能,以及超過英特爾Standard3實例 2 倍的性能。

利用 Ampere Altra 對 FP16 的原生支持,在相同的成本下,Ampere A1 形狀達到的性能超過AMD E4 的 2.8 倍和Intel Standard3的 3.8 倍!

此外,Ampere A1形狀的性能比 AMD/Intel 更好。例如,如果使用更高核心數(shù)的 VM,與運行 FP32 模型的 E4 相比,Ampere A1 可提供額外 2 倍的性能增益。

Jupyter Notebook 的可視化示例

首先,讓我們在 VM 上啟動 Jupyter Notebook 服務(wù)器。

Jupyter Notebook 通常用于在瀏覽器上輕松實現(xiàn)編輯、調(diào)試和可視化 Python 應(yīng)用程序的需求。我們使用的 VM 圖像包括一個Jupyter Notebook 示例。

cd ~/.aio-examples./start_notebook.sh

buntu@ai-vm:~/aio-examples$ ./start_notebook.shOn your local system please open a new terminal window and run:ssh -N -L 8080:localhost:8080 -i ./your_key.key your_user@xxx.xxx.xxx.xxx

After that open one of the links printed out below in your local browser

[I 23:08:01.841 NotebookApp] Writing notebook server cookie secret to /home/ubuntu/.local/share/jupyter/runtime/notebook_cookie_secret[I 23:08:02.270 NotebookApp] Serving notebooks from local directory: /home/ubuntu/aio-examples

[I 23:08:02.270 NotebookApp] Jupyter Notebook 6.4.8 is running at:

[I 23:08:02.270 NotebookApp] http://localhost:8080/?token=fd98a68431793485bb9dbf8590ad6f571dbabbfa96757b37

[I 23:08:02.270 NotebookApp] or http://127.0.0.1:8080/?token=fd98a68431793485bb9dbf8590ad6f571dbabbfa96757b37

[I 23:08:02.270 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

[C 23:08:02.274 NotebookApp]

To access the notebook, open this file in a browser: file:///home/ubuntu/.local/share/jupyter/runtime/nbserver-1367-open.html

Or copy and paste one of these URLs: http://localhost:8080/?token=fd98a68431793485bb9dbf8590ad6f571dbabbfa96757b37 or http://127.0.0.1:8080/?token=fd98a68431793485bb9dbf8590ad6f571dbabbfa96757b37

接下來,我們將通過本地主機打開一個用于瀏覽器連接的通道。在第二個終端窗口中,運行以下命令:

ssh -N -L 8080:localhost:8080 -i ./your_key.key your_user@xxx.xxx.xxx.xxx

然后,使用上一步中的鏈接在瀏覽器中打開Jupyter Notebook(例如

http://localhost:8080/?token=....)。

您會看到如下圖所示的頁面。

poYBAGJZKYeAcDAFAACCQAjiWaE386.png

連接到Ampere 上的Jupyter服務(wù)器

我們將使用 object_detection 文件夾中的對象檢測示例。雙擊文件夾的名稱,然后單擊 examples.ipynb 項目。

單擊“運行”按鈕來逐步執(zhí)行該示例。您會看到對象檢測的結(jié)果以及 AIO 對 Tensorflow 的加速情況。

您會注意到啟用或禁用 AIO 時的延遲差異。例如,當(dāng)以 FP16 精度運行已啟用 AIO 的模型時,延遲約為 44 毫秒。在禁用 AIO 的情況下運行相同的模型,延遲為 3533 ms!這是一個明顯的區(qū)別。

pYYBAGJZKZGAbFW8AAIGhukSZEw261.png

運行示例

您也可以用相同的方式運行分類示例——單擊 classification文件夾,然后單擊 examples.ipynb 項目。

poYBAGJZKZqAKls2AAERAgJ9I_M464.png

分類示例

結(jié)論

恭喜!您已完成在 Ampere A1 形狀上運行通用 AI 應(yīng)用程序的全過程。

運行這些示例相當(dāng)簡單——不用進行任何轉(zhuǎn)換或更改應(yīng)用程序代碼就能在 Ampere A1 上運行 API 應(yīng)用程序。

TensorFlow 等的標(biāo)準(zhǔn)框架會自動加速。我們可以很輕松地以相同的成本達到比其他形狀高 2 到 4 倍的性能增益。

您可以在 Github repo 中查看本文中使用的腳本——這些腳本與我們在所使用的示例圖像上自動下載的腳本相同。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30896

    瀏覽量

    269107
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3268

    瀏覽量

    57710
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    917

    瀏覽量

    28202
收藏 人收藏

    評論

    相關(guān)推薦

    何在ML605板從Platform-flash-XL自動運行應(yīng)用程序的教程?

    是否有關(guān)于如何在ML605板從Platform-flash-XL自動運行應(yīng)用程序的教程?在啟動時,我想讓我的應(yīng)用程序(簡單的hello-w
    發(fā)表于 09-12 09:54

    何在PC測試固件應(yīng)用程序

    困難:在USB控制中心應(yīng)用中,壓入傳輸數(shù)據(jù)為大容量輸入或輸出導(dǎo)致錯誤代碼997。批量輸出傳輸批量傳輸失敗,錯誤代碼:997傳輸中的散裝散裝散裝錯誤代碼:997這個錯誤是什么?我如何克服它?你是如何在PC測試固件應(yīng)用程序的?謝謝
    發(fā)表于 10-11 06:13

    計算密集型的程序簡析

    密集型任務(wù)提問:什么類型的程序適合在GPU運行?計算密集型的程序。所謂
    發(fā)表于 09-07 06:14

    何在AVRX編寫應(yīng)用程序

    AVRX系統(tǒng)具有哪些特點應(yīng)用?如何在AVRX編寫應(yīng)用程序
    發(fā)表于 09-26 09:13

    何在NFC Tap iOS應(yīng)用程序上輸入密碼?

    當(dāng)鍵盤蓋住操作按鈕時,如何在 NFC Tap iOS 應(yīng)用程序上輸入密碼?我正在嘗試使用適用于 iOS 的 NFT Tap 對 ST25TA02KB 進行密碼保護,但遇到了一些困難。首先,它給我一個
    發(fā)表于 12-09 07:10

    何在手機上打開/啟動應(yīng)用程序?

    您希望如何在手機上打開/啟動應(yīng)用程序?您會手動啟動還是通過語音命令啟動它?
    發(fā)表于 05-04 08:56

    何在uclinux中添加自己應(yīng)用程序的詳細過程

    何在uclinux中添加自己應(yīng)用程序的詳細過程
    發(fā)表于 03-28 09:48 ?20次下載

    TrueFFSVxWorks應(yīng)用程序啟動及動態(tài)更新

    TrueFFSVxWorks應(yīng)用程序啟動及動態(tài)更新  引 言   在嵌入式產(chǎn)品中,一般使用Flash作為應(yīng)用程序代碼及各種數(shù)據(jù)和參數(shù)的存儲介質(zhì)。尤其是NOR Flash具有操
    發(fā)表于 01-08 11:25 ?1124次閱讀
    TrueFFS<b class='flag-5'>上</b>VxWorks<b class='flag-5'>應(yīng)用程序</b>的<b class='flag-5'>啟動</b>及動態(tài)更新

    MCU啟動應(yīng)用程序的準(zhǔn)備

    MCU整體工作流程可總結(jié)如下:電——》主時鐘起振——》啟動代碼——》用戶程序(main函數(shù))。對于我們應(yīng)用開發(fā)來說,大部分工作重點是在應(yīng)用程序編寫這塊。特別是高級MCU的出現(xiàn),如AR
    發(fā)表于 07-27 10:22 ?2760次閱讀

    何在谷歌云使用Hyperledger Caliper測試區(qū)塊鏈應(yīng)用程序

    本文提供了有關(guān)如何在谷歌云使用Hyperledger Caliper(提交302665)的指南,介紹了測試Hyperledger Composer應(yīng)用程序的場景,Hyperledger
    發(fā)表于 08-28 11:19 ?1277次閱讀

    Ampere收購OnSpecta,加速對云原生應(yīng)用程序AI推理

    據(jù) IDC 研究顯示,到 2024 年,AI 服務(wù)器市場市值預(yù)計將超 260 億美元,年增長率將達 13.7%。在中心和邊緣的基礎(chǔ)架構(gòu)中,Ampere 的客戶正在尋找解決方案,以管理 AI 推理任務(wù)成本和不斷增長的需求。
    發(fā)表于 08-05 15:36 ?873次閱讀

    安晟培半導(dǎo)體通過AI推理應(yīng)用程序進一步增強 Ampere Altra 的性能

    中國,北京(2021 年 8 月 5 日)——安晟培半導(dǎo)體科技有限公司(Ampere Computing)日前宣布收購AI技術(shù)初創(chuàng)公司 OnSpecta,該收購將助力 Ampere 通過 AI
    的頭像 發(fā)表于 08-18 11:38 ?3602次閱讀

    何在SDK使用容器構(gòu)建高音頻質(zhì)量的應(yīng)用程序

      現(xiàn)在,我們已經(jīng)了解了 Maxine Audio Effects 功能的詳細信息,向您展示了如何使用適當(dāng)?shù)膮?shù)運行示例應(yīng)用程序,并了解了易于使用的高性能 API ,您可以開始使用Maxine 容器或在窗戶和在 Linux 上將這些驚人的
    的頭像 發(fā)表于 03-31 16:31 ?1490次閱讀

    麒麟a1芯片屬于什么水平?麒麟a1芯片相當(dāng)于高通驍龍多少

    麒麟a1芯片屬于什么水平? 麒麟a1芯片屬于中等水平。麒麟A1,別名華為麒麟A1,是華為于2019年9月發(fā)布的芯片,尺寸為4.3mm×4.4mm,集成了藍牙處理單元、音頻處理單元、低功
    的頭像 發(fā)表于 10-16 09:54 ?8717次閱讀

    閃極科技發(fā)布首款AI眼鏡閃極A1

    近日,先鋒智能硬件品牌閃極科技正式推出了其首款AI眼鏡——閃極AI「拍拍鏡」A1(簡稱:閃極A1)。這款眼鏡以“打造一副好眼鏡”為核心理念,經(jīng)過近一年的精心研發(fā),終于與公眾見面。 在研
    的頭像 發(fā)表于 12-20 10:22 ?518次閱讀