話說從上次說要學 AI 的文章也過了很久了,原本要再寫 Anaconda 安裝的流程,才發現已經寫過了。
這次會再重燃起興趣,是最近有一個很紅的聊天軟體 chatGPT,真的已經做到非常仿真,讓我覺得是可以用的時候了。不過這套用 GPT-3 的模型並沒有開源,所以找到的是 GPT-J 這套。但畢盡沒有人工智慧的基礎來碰這些東西,相信也不會真的學到什麼。所以這次打算從基礎來,最後再來試 GPT-J。
Anaconda 再試
之前的文章是 Anaconda 裝完,就直接進 prompt 操作了,其實從 Anaconda Navigator 來操作也是蠻方便的。透過 Navigator 可以創建新的使用環境,裡面也有提供預先裝的 Editor 以編輯和執行程式。
透過 Create / Remove 可以來創建和刪除使用環境,在使用環境上也可以直接以該環境進入 Terminal。
Anaconda 也有內建幾個不錯的編輯器,Spyder 是其中一個不錯的,可以直接以其來使用編輯。
PyTorch 使用
這次要當做範例使用的是 PyTorch ,不過現在很多不同的名詞技術我也還不懂,就引述 Wiki 的說法吧.
PyTorch是一個開源的Python機器學習庫,基於Torch,底層由C++實現,應用於人工智慧領域,如電腦視覺和自然語言處理。它主要由Meta Platforms的人工智慧研究團隊開發。PyTorch主要有兩大特徵, (1) 類似於NumPy的張量計算,可使用GPU加速 (2)基於帶自動微分系統的深度神經網路
這次要使用的範例程式碼,是 pytorch 的官方範例, 這個例子的說明文章可以參考這裡。本文的重點是讓他跑起來,並且是以 Nvidia GPU 來加速。所謂工欲善其事必先利其器,先把測試的速度弄上來,節省一些時間。
程式碼請大家自行複製這個內容,然後用Navagator 打開 Terminal,創建一個 test folder,在用記事本把內容貼入 main.py 內。
1 2 |
(trial) C:\Users\win10>mkdir test (trial) C:\Users\win10>notepad main.py |
稍微修改一下 main.py ,以方便我們的測試。在 main.py 最前面加入 import time,並找到下面片斷,加入紅框的部份。
設定 CUDA 使用
CUDA 是 Nvidia 的技術,所以請先確定你有一張 Nvidia 的顯卡。另外 PyTorch 目前僅支援 CUDA 3.7 以上的硬體,如果你的卡太舊的話會顯示不支援的訊息。
要確認你的卡是否可以使用,可以查一下 Wiki 裡的Compute capabilities表格,確認你的卡有 3.7以上。
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 Driver。
CUDA Driver 安裝
要裝舊的 CUDA Driver,就在 Google 上搜尋 「cuda driver archive」,應該就可以找到舊版本列表以供安裝。
安裝完成後,再檢查一下 nvidia-smi 的資訊,看是不是已經使用了指定的版本。
測試
最後便是開始測試,此時應該可以看到畫面是顯示 USE CUDA,代表以成功使用GPU加速了。使用者也可以強制改一下 use_cuda, use_cpu 來測一下速度的差別。