<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何在OCI Ampere A1上啟動計算密集AI應用程序

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

本文將向您展示如何在 OCI Ampere A1 上準備和啟動計算密集的 AI 應用程序。

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

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

創建免費的 Ampere VM

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

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

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

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

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

選擇圖像和形狀

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

1

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

2

選擇 VM.Standard.A 1.Flex ,將 OCPU 數量調整為 4,并將內存量調整為 24 GB。完成此項操作后,我們將能夠永久免費使用這一規格。

3

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

4

單擊 Change image 按鈕。然后讓我們為形狀獲取正確的鏡像。

poYBAGJZKIOAWjoRAAAfZfkhc8w217.png

選擇鏡像

5

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

pYYBAGJZKJCAAiK6AABf3t9JgYU488.png

Ampere Tensorflow 鏡像

6

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

pYYBAGJZKOCAeqCuAABWJhQi9TY643.png

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

添加 SSH 密鑰

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

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

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

創建 AI 實例

我們不會更改任何其他設置,因此讓我們單擊 Create 按鈕來創建實例。

pYYBAGJZKQOAdoKxAAB9Lfg4b9I894.png

創建 AI 實例

幾分鐘后,OCI 會創建實例,并且實例的狀態會從配置變為運行。

連接到實例

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

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

$ ssh -i ubuntu@

pYYBAGJZKRKAFnr-AACZONU6_A8393.png

AI虛擬機登錄畫面

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

運行 TensorFlow-AIO示例

TensorFlow 是一個用于機器學習的開源平臺。它擁有一系列工具、庫和資源,可讓您輕松構建和部署基于 ML 的應用程序。

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

$ cd ~/aio-examples

$ ./download_models.sh

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

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

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

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

cd classifications/resnet_50_v15

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

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

export AIO_NUM_THREADS=4

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

“在內存中,FP32 或全精度浮點是一種 32 位的數字格式?!?/p>

poYBAGJZKSeAPhUoAABuLHhLNxs902.png

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

AIO 運行半精度 (FP16) 模型

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

“FP16 是一種半精度浮點計算機數字格式,在內存中占用 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 張圖像。

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

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

對于 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 更好。例如,如果使用更高核心數的 VM,與運行 FP32 模型的 E4 相比,Ampere A1 可提供額外 2 倍的性能增益。

Jupyter Notebook 的可視化示例

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

Jupyter Notebook 通常用于在瀏覽器上輕松實現編輯、調試和可視化 Python 應用程序的需求。我們使用的 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服務器

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

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

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

pYYBAGJZKZGAbFW8AAIGhukSZEw261.png

運行示例

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

poYBAGJZKZqAKls2AAERAgJ9I_M464.png

分類示例

結論

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

運行這些示例相當簡單——不用進行任何轉換或更改應用程序代碼就能在 Ampere A1 上運行 API 應用程序。

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

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

審核編輯:彭菁
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    87

    文章

    27061

    瀏覽量

    264829
  • 應用程序
    +關注

    關注

    37

    文章

    3168

    瀏覽量

    56829
  • 虛擬機
    +關注

    關注

    1

    文章

    866

    瀏覽量

    27516
收藏 人收藏

    評論

    相關推薦

    圖中的A1是什么?

    A1 指的是 引腳本身高度還是引腳傾斜的高度?請各位賜教。。
    發表于 07-30 11:11

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

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

    何在PC測試固件應用程序?

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

    計算密集型的程序簡析

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

    何在AVRX編寫應用程序?

    AVRX系統具有哪些特點應用?如何在AVRX編寫應用程序?
    發表于 09-26 09:13

    如何讓自己的應用程序自動啟動

    1.通過/Linuxrc腳本直接啟動Linux內核一旦開始執行,它將通過驅動程序來初始化所有硬件設備,這個初始化過程可以在啟動時的PC顯示器
    發表于 12-21 06:29

    何在NFC Tap iOS應用程序上輸入密碼?

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

    STM32MP157f-K2如何自動啟動A7應用程序和M4固件并禁用演示?

    了問題,我不得不重新刷板。我的問題有兩個,我將不勝感激任何建議(1) 如何在板載 LCD 屏幕打開 Linux shell 而不是使用 STLink 將其映射到我的計算機(2) 如何
    發表于 12-28 06:40

    linux的X-CUBE-AI擴展包中缺少stm32ai應用程序怎么解決?

    ,問題是它不存在。根據 command_line_interface.html 中的文檔,stm32ai 應用程序應該在 X-CUBE-AI/5.2.0/Utilities/linux 中找到。但是
    發表于 01-09 07:12

    何在手機上打開/啟動應用程序?

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

    何在uclinux中添加自己應用程序的詳細過程

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

    AI應用程序在許多行業中都已啟動并運行

    盡管AI應用程序在許多行業中都已啟動并運行,但是擁有高級AI執行人員的公司數量卻少得令人驚訝-僅IBM和Forbes Insights 最近調查的公司中有5%擁有首席人工智能官(CAI
    的頭像 發表于 07-22 15:18 ?2187次閱讀

    Ampere收購OnSpecta,加速對云原生應用程序AI推理

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

    安晟培半導體通過AI推理應用程序進一步增強 Ampere Altra 的性能

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

    嵌入式Linux中讓應用程序自動啟動

    在很多嵌入式系統中,由于可用資源較少,常常在系統啟動后就直接讓應用程序自動啟動,以減少用戶操作和節省資源。如何讓自己的應用程序自動啟動呢?
    發表于 10-28 11:04 ?0次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>