在本節中,我們將向您展示如何在原始 Linux 機器上安裝所有庫。回想一下,在第 23.2 節中,我們討論了如何使用 Amazon SageMaker,同時自己構建實例在 AWS 上的成本更低。演練包括三個步驟:
這個過程也適用于其他實例(和其他云),盡管有一些小的修改。在繼續之前,您需要創建一個 AWS 帳戶,有關更多詳細信息,請參閱第 23.2 節。
23.3.1. 創建和運行 EC2 實例
登錄您的 AWS 賬戶后,點擊“EC2”(圖 23.3.1)進入 EC2 面板。
圖 23.3.2顯示了 EC2 面板。
23.3.1.1。預設位置
選擇附近的數據中心以減少延遲,例如“Oregon”(圖 23.3.2右上角的紅色框標記)。如果您位于中國,則可以選擇附近的亞太地區,例如首爾或東京。請注意,某些數據中心可能沒有 GPU 實例。
23.3.1.2。增加限制
選擇實例前,點擊左側欄中的“Limits”標簽查看是否有數量限制,如圖 23.3.2所示。圖 23.3.3顯示了這種限制的一個例子。該帳戶目前無法按區域打開“p2.xlarge”實例。如果您需要開啟一個或多個實例,請點擊“請求提升限額”鏈接申請更高的實例配額。一般來說,處理一份申請需要一個工作日。
23.3.1.3。啟動實例
接下來,單擊圖 23.3.2中紅色框標記的“Launch Instance”按鈕 以啟動您的實例。
我們首先選擇合適的 Amazon Machine Image (AMI)。選擇一個 Ubuntu 實例(圖 23.3.4)。
EC2 提供了許多不同的實例配置供您選擇。這有時會讓初學者感到不知所措。表 23.3.1列出了不同的適用機器。
姓名 |
顯卡 |
筆記 |
---|---|---|
g2 |
格子K520 |
古老的 |
p2 |
開普勒K80 |
舊但通常像現貨一樣便宜 |
g3 |
麥克斯韋M60 |
好的權衡 |
p3 |
沃爾特V100 |
FP16 的高性能 |
p4 |
安培A100 |
大規模訓練的高性能 |
g4 |
圖靈T4 |
推理優化 FP16/INT8 |
所有這些服務器都有多種類型,表明使用的 GPU 數量。例如,p2.xlarge 有 1 個 GPU,p2.16xlarge 有 16 個 GPU 和更多內存。有關更多詳細信息,請參閱AWS EC2 文檔或 摘要頁面。出于說明的目的,p2.xlarge 就足夠了(在 圖 23.3.5的紅色框中標記)。
請注意,您應該使用具有合適驅動程序的支持 GPU 的實例和支持 GPU 的深度學習框架。否則,您將看不到使用 GPU 帶來的任何好處。
我們繼續選擇用于訪問實例的密鑰對。如果沒有密鑰對,點擊 圖23.3.6中的“新建密鑰對”生成密鑰對。隨后,您可以選擇之前生成的密鑰對。如果生成新密鑰對,請確保下載密鑰對并將其存儲在安全位置。這是您通過 SSH 連接到服務器的唯一方法。
在這個例子中,我們將保留“網絡設置”的默認配置(點擊“編輯”按鈕配置子網和安全組等項目)。我們只是將默認硬盤大小增加到 64 GB(圖 23.3.7)。請注意,CUDA 本身已經占用了 4 GB。
單擊“Launch Instance”以啟動創建的實例。點擊圖23.3.8所示的實例ID,可以查看該實例的狀態。
23.3.1.4。連接到實例
如圖23.3.9所示,實例狀態變為綠色后,右鍵單擊實例,選擇Connect
查看實例訪問方式。
如果這是一個新密鑰,則必須不能公開查看 SSH 才能正常工作。轉到您存儲的文件夾D2L_key.pem
并執行以下命令以使密鑰不公開可見:
現在,復制圖23.3.10下方紅框中的ssh命令 ,粘貼到命令行中:
ssh -i "D2L_key.pem" ubuntu@ec2-xx-xxx-xxx-xxx.y.compute.amazonaws.com
當命令行提示“Are you sure you want to continue connecting (yes/no)”時,輸入“yes”并回車登錄實例。
您的服務器現已準備就緒。
23.3.2。安裝 CUDA
在安裝 CUDA 之前,請務必使用最新的驅動程序更新實例。
這里我們下載CUDA 10.1。訪問NVIDIA官方資源庫找到下載鏈接,如圖23.3.11所示。
復制說明并將其粘貼到終端以安裝 CUDA 10.1。
# The link and file name are subject to changes
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-1-local-10.1.243-418.87.00/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
安裝程序后,運行以下命令查看 GPU:
最后,將CUDA添加到庫路徑中,以幫助其他庫找到它。
23.3.3。安裝用于運行代碼的庫
要運行本書的代碼,只需按照 在 EC2 實例上為 Linux 用戶安裝中的步驟操作,并使用以下在遠程 Linux 服務器上工作的提示:
-
在Miniconda安裝頁面下載bash腳本,右擊下載鏈接,選擇“復制鏈接地址”,然后執行 .
wget [copied link address]
-
運行后,您可以執行 而不是關閉并重新打開當前的 shell。
~/miniconda3/bin/conda init
source ~/.bashrc
23.3.4。遠程運行 Jupyter Notebook
要遠程運行 Jupyter Notebook,您需要使用 SSH 端口轉發。畢竟云端的服務器沒有顯示器和鍵盤。為此,從您的臺式機(或筆記本電腦)登錄您的服務器,如下所示:
接下來,到EC2實例上本書下載代碼的位置,然后運行:
conda activate d2l
jupyter notebook
圖 23.3.12顯示了運行 Jupyter Notebook 后可能的輸出。最后一行是端口 8888 的 URL。
由于你使用了端口轉發到8889端口,復制圖23.3.12紅框中的最后一行,將URL中的“8888”替換為“8889”,在本地瀏覽器中打開。
23.3.5。關閉未使用的實例
由于云服務按使用時間計費,您應該關閉未使用的實例。請注意,還有其他選擇:
-
“停止”實例意味著您將能夠再次啟動它。這類似于關閉常規服務器的電源。但是,停止的實例仍會為保留的硬盤空間收取少量費用。
-
“終止”實例將刪除與其關聯的所有數據。這包括磁盤,因此您無法再次啟動它。僅當您知道將來不需要它時才這樣做。
如果您想將該實例用作更多實例的模板,請右鍵單擊圖 23.3.9中的示例并選擇“圖像” →“創建”以創建實例的圖像。完成后,選擇“實例狀態”→ “終止”終止實例。下次要使用該實例時,您可以按照本節中的步驟,根據保存的圖像創建實例。唯一的區別是,在“1. 選擇AMI”如圖23.3.4所示,您必須使用左側的“My AMIs”選項來選擇您保存的圖像。創建的實例將保留存儲在映像硬盤上的信息。例如,您不必重新安裝 CUDA 和其他運行時環境。
23.3.6. 概括
-
我們可以按需啟動和停止實例,而無需購買和構建我們自己的計算機。
-
在使用支持 GPU 的深度學習框架之前,我們需要安裝 CUDA。
-
我們可以使用端口轉發在遠程服務器上運行 Jupyter Notebook。
23.3.7。練習
-
云提供了便利,但并不便宜。了解如何啟動Spot 實例 以了解如何降低成本。
-
試驗不同的 GPU 服務器。他們有多快?
-
試驗多 GPU 服務器。你能把事情擴大到什么程度?
評論
查看更多