iT邦幫忙

2021 iThome 鐵人賽

DAY 2
1
AI & Data

觀賞魚辨識的YOLO全餐系列 第 2

選擇具有 GPU 的 EC2 並完成配置-Day 02

選擇具有 GPU 的 EC2 並完成配置-Day 02

需要配置一台電腦來處理接下來所有的服務,因為這是深度學習的應用,所以需要使用到 GPU,而 GPU 的配置十分繁瑣,而透過 AWS EC2 來配置的話,只要選擇好對應的個體類型與 AMI (Amazon Machine Image),可以很快的完成主機的配置。關於 EC2 的詳細操作,可參考先前的Amazon Elastic Compute Cloud (EC2),在這裡只簡單的把畫面擷取下來。

首先要確認隨選的個體(instance)是否有足夠的數量可供使用,因為通常一些比較特別的個體類型,預設未必會提供,需要向 Support Center 發出請求案例 (case),才可以得到可配置的數量,下圖為新加坡地區 EC2 控制台的操作畫面,點擊左邊功能導覽列的限制,就會在右手邊出現所有 AWS 的限制,輸入 instance 進行過濾,就可以得到所有個體的相關限制,我們可以看到隨需 G instance 的限制為 768 vCPU。

https://ithelp.ithome.com.tw/upload/images/20210902/20129510r5ONzEEX1i.png
圖 1、檢視 EC2 中個體的限制

接下來就可以開始配置一台擁有 GPU 的 EC2,點擊左邊功能導覽列的執行個體,接著在主畫面中點擊啟動執行個體,進入 Step 1: Choose an Amazon Machine Image (AMI),在搜索文字方塊中輸入 deep learning ,進行過濾。會出現很多符合這個關鍵字的 AMI,拉到畫面最下方點擊 143 results in AWS Marketplace 如下圖所示,因為客製化的 AMI 很多是要另外收費的,也就是你用ami要收費,運行ami的個體也要收費,使用 AWS 自己設計的 AMI 通常是不收費的,不過,重點是透過這個步驟你可以看到這個ami的詳細介紹。

https://ithelp.ithome.com.tw/upload/images/20210902/20129510MUJDKqUx4V.png
圖 2、檢視在 AWS 市集中符合 deep learning 的 AMI

在下圖中可以看到這個 AMI 所安裝的作業系統- Amazon Linux 2,已經安裝的深度學習套件-TensorFlow, MXNet, PyTorch, and tools like TensorBoard, TensorFlow Serving, and Multi Model Server.跟相關的gpu套件-NVIDIA CUDA, cuDNN, and Intel MKL-DNN。點擊最下方的AWS Deep Learning AMI (Amazon Linux 2) product detail page on AWS Marketplace可以看到整個 ami 的詳細介紹以及如何在這個 ami 下進行操作。

https://ithelp.ithome.com.tw/upload/images/20210902/20129510lWEUvfku0b.png
圖 3、檢視在 AWS Deep Learning AMI 的内容

下圖為 AWS Deep Learning AMI (Amazon Linux 2) 這個鏡像的定價畫面,通常鏡像供應商(Vendor)會提出一個建議的個體,以這個鏡像而言,它推薦的是 p3.2xlarge 這個個體類型,但在新加坡地區的定價是每小時 4.234 美元,在考量成本的情況下,選擇 g4dn.2xlarge ,每小時 1.052 美元。

  • Region: Asia Pacific (Singapore)
  • Fulfillment Option: 64-bit (x86) Amazon Machine Image (AMI)
  • Software Pricing Details: AWS Deep Learning AMI (Amazon Linux 2) $0 /hr
  • Infrastructure Pricing Details: Estimated Infrastructure Cost $1.052 EC2/hr

https://ithelp.ithome.com.tw/upload/images/20210902/20129510qwl92sPnjz.png
圖 4、計算符合需求的最佳的定價

G4dn 執行個體旨在協助加速機器學習推論和圖形密集型工作負載,具有以下特色:

  • 第二代 Intel Xeon Scalable (Cascade Lake) 處理器
  • NVIDIA T4 Tensor Core GPUs
  • 高達 100 Gbps 網路輸送量
  • 多達 1.8 TB 本機 NVMe 儲存

而 g4dn.2xlarge 這個個體的規格是 1 GPU,8 vCPU,32 (GB)記憶體,16 (GB)GPU 記憶體,225執行個體儲存體 (GB)。

接下來的配置如下:

  • Choose AMI: AWS Deep Learning AMI (Amazon Linux 2) version:49 (64-bit x86)

  • Choose Instance Type: g4dn.2xlarge

  • Configure Instance:

    • Network : vpc-0cxxxx | Default VPC (default) (可以自己指定)
    • Subnet : No preference (default subnet in any Availability Zone) (可以自己指定)
    • Auto-assign Public IP : Enable
  • Add Storage: 200 因為預設已經安裝很多套件,所以建議改為 200G 比較夠用。

  • Add Tags: 可加可不加,通常是用在Cloud watch觀察比較方便,我們先不加。

  • Configure Security Group: 為提供安全保障,限制進來的連線,因為我們是建置 Web 伺服器,所以打開埠號 22 與 80 。

    • Assign a security group: Create a new security group
    • Security group name: ithome2021_web_SG
    • Description: ITHOME Web server Security Group
    • Type: SSH, HTTP
    • Source: Anywhere, Anywhere
  • Review: 看一下前述的所有設定,確定無誤後就直接按下 Launch

  • Key pair 設定: 因為安全考量,AWS要求使用者務必要用密鑰對( key pair )的方式來進行連線,因此在啟動 EC2 前會要求建立或選擇密鑰對,下載下來的密鑰對鑰一定要好好保存,遺失後是沒辦法再重新下載的。

https://ithelp.ithome.com.tw/upload/images/20210902/20129510sUkz0KCWdr.png
圖 5、AWS EC2 配置檢視

參考資料


上一篇
觀賞魚辨識系統說明-Day 01
下一篇
安裝資料庫 MariaDB 在 Amazon Linux 2-Day 03
系列文
觀賞魚辨識的YOLO全餐38

1 則留言

0
胭脂虎
iT邦新手 2 級 ‧ 2021-09-29 15:19:26

老師我看到這裡有需要用到 GPU 的資源...
我能請教說老師沒有考慮用 Google Colab 或是 Kaggle 去執行嗎?
還是因為這個是互動式,所以才需要架一個 API Server 去儲存結果的嗎?((我猜
如果效能差一點點,應該就多等一點點時間而已,對嗎?

主要是這個專案是在做全端式的整合,而非只是辨識模型的訓練,所以要考慮如何接收要辨識的圖片,如何傳要辨識的圖片,辨識模型只是其中一個元件而已,你可以在任何地方進行模型訓練,但最終還是得找一個地方部署,供他人用最簡單的方式使用。

胭脂虎 iT邦新手 2 級 ‧ 2021-10-05 12:55:01 檢舉

是,我後面看完就知道為什麼要全端啦,謝謝老師!

我要留言

立即登入留言