AI 學習紀錄 – 再學習 Anaconda 與GPU CUDA加速設定

話說從上次說要學 AI 的文章也過了很久了,原本要再寫 Anaconda 安裝的流程,才發現已經寫過了。

這次會再重燃起興趣,是最近有一個很紅的聊天軟體 chatGPT,真的已經做到非常仿真,讓我覺得是可以用的時候了。不過這套用 GPT-3 的模型並沒有開源,所以找到的是 GPT-J 這套。但畢盡沒有人工智慧的基礎來碰這些東西,相信也不會真的學到什麼。所以這次打算從基礎來,最後再來試 GPT-J。

Anaconda 再試

之前的文章是 Anaconda 裝完,就直接進 prompt 操作了,其實從 Anaconda Navigator 來操作也是蠻方便的。透過 Navigator 可以創建新的使用環境,裡面也有提供預先裝的 Editor 以編輯和執行程式。

Anaconda 維護 virtualenv

透過 Create / Remove 可以來創建和刪除使用環境,在使用環境上也可以直接以該環境進入 Terminal。

Apps 安裝

Anaconda 也有內建幾個不錯的編輯器,Spyder 是其中一個不錯的,可以直接以其來使用編輯。

Spyder 編輯器

PyTorch 使用

這次要當做範例使用的是 PyTorch ,不過現在很多不同的名詞技術我也還不懂,就引述 Wiki 的說法吧.

PyTorch是一個開源的Python機器學習庫,基於Torch,底層由C++實現,應用於人工智慧領域,如電腦視覺和自然語言處理。它主要由Meta Platforms的人工智慧研究團隊開發。PyTorch主要有兩大特徵, (1) 類似於NumPy的張量計算,可使用GPU加速 (2)基於帶自動微分系統的深度神經網路

這次要使用的範例程式碼,是 pytorch 的官方範例, 這個例子的說明文章可以參考這裡。本文的重點是讓他跑起來,並且是以 Nvidia GPU 來加速。所謂工欲善其事必先利其器,先把測試的速度弄上來,節省一些時間。

程式碼請大家自行複製這個內容,然後用Navagator 打開 Terminal,創建一個 test folder,在用記事本把內容貼入 main.py 內。

稍微修改一下 main.py ,以方便我們的測試。在 main.py 最前面加入 import time,並找到下面片斷,加入紅框的部份。

Use Cuda

設定 CUDA 使用

CUDA 是 Nvidia 的技術,所以請先確定你有一張 Nvidia 的顯卡。另外 PyTorch 目前僅支援 CUDA 3.7 以上的硬體,如果你的卡太舊的話會顯示不支援的訊息。

要確認你的卡是否可以使用,可以查一下 Wiki 裡的Compute capabilities表格,確認你的卡有 3.7以上。

PyTorch 版本選擇

接著上 PyTorch 的官網選擇下載安裝,這時應該會跳出一張表來,可以根據所選的設定,告知使用者要下什麼命令來進行安裝。

PyTorch 相容表

PyTorch Build: 要使用的版本, 就先最新的 Stable

Your OS: 你的作業系統, 這邊是用 Windows

Package: 你的 Package 管理程式. 建議用 pip,我用 conda 試有問題

Language: 程式語言, 就選 Python

Compute Platform: CUDA Driver 的版本。由於 PyTorch 有相依的 CUDA Driver 版本,要先擇正確來搭配

Run the Command: 安裝符合上面設定所要下的命令。

要知道目前所使用的 CUDA Driver 版本,可以下達 nvidia-smi 這指令,就會列出顯卡的資訊。

CUDA 版本

CUDA 版本不符的話,就需要更新 CUDA Driver。

CUDA Driver 安裝

要裝舊的 CUDA Driver,就在 Google 上搜尋 「cuda driver archive」,應該就可以找到舊版本列表以供安裝。

Driver List

安裝完成後,再檢查一下 nvidia-smi 的資訊,看是不是已經使用了指定的版本。

測試

最後便是開始測試,此時應該可以看到畫面是顯示 USE CUDA,代表以成功使用GPU加速了。使用者也可以強制改一下 use_cuda, use_cpu 來測一下速度的差別。

Leave a Reply

請輸入答案 24 + = 32