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