作爲親身經歷第一屆中日圍棋擂臺賽的菜鳥老棋迷和1995年擁有第一臺自己電腦的IT從業人員,AlphaGo出現後經歷了兩年多的震驚、關注、學習、羨慕,直到出現了Leela和Katago等開源圍棋AI,終於能親身享受人工智能進步帶給圍棋的紅利。
這兩年虛擬貨幣等火爆導致顯卡缺貨、價格虛高,一直不甘心溢價搭建一臺性能可用的圍棋AI電腦。最近顯卡降價,自己又有點時間,於是搭建了種草很久的圍棋AI電腦(也不是隻用於圍棋AI,還能PS和剪視頻)。
先介紹基本系統:
硬件:Intel Core i9-12900KF + 64GB + 512GB NvME + Nvidia 3080Ti顯卡
操作系統:Microsoft Windows 11 Pro X64 簡體中文版
針對Nvidia 3080Ti,需要安裝配置 Nvidia 的機器學習環境:顯卡驅動 + CUDA +cuDNN。具體安裝配置步驟如下:
1、 去Nvidia官方網站下載最新的顯卡驅動程序,如:512.15-desktop-win10-win11-64bit-international-nsd-dch-whql.exe,安裝。
2、 去Nvidia官方網站下載CUDA安裝程序:https://developer.nvidia.com/cuda-downloads
3、下載zlib組件:http://www.winimage.com/zLibDll/zlib123dllx64.zip。解壓縮後按照自己的喜好存放好,在系統的PATH環境變量中加入“zlibwapi.dll”這個文件所在的路徑信息。
4、去Nvidia官方網站下載cuDNN:https://developer.nvidia.com/cudnn,先註冊才能下載,目前的版本是:cudnn-windows-x86_64-8.3.3.40_cuda11.5-archive.zip。
解壓縮後分別把“bin”、“include”、“lib”文件夾下的文件分別複製到CUDA的對應文件夾中。以我目前的機器環境爲例,複製“…\bin\cudnn.dll”到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin”文件夾,複製“…\ include \cudnn.h”到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\ include” 文件夾,複製“…\lib\cudnn*.lib”到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib” 文件夾。
至此,Nvidia 的機器學習環境安裝就緒。
個人圍棋AI工具
下載Sabaki和Katago:
- Sabaki:https://sabaki.yichuanshen.de,目前的版本是“0.52.0”版。
- Katago:https://github.com/lightvector/KataGo/releases/tag/v1.11.0,目前的版本是“1.11.0”版,要注意平臺“cuda11.2-windows-x64”,還要注意下載“katago-v1.11.0-cuda11.2-windows-x64.zip”這個文件,不要下載“katago-v1.11.0-cuda11.2-windows-x64+bs29.zip”,多的“bs29”是趣向版,最大支持29x29的棋盤,但會消耗算力。
- Katago訓練形成的權重文件:https://katagotraining.org/networks/,如下圖:
全部下載的文件(2022年3月26日)
安裝Sabaki。
解壓縮Katago壓縮包,運行命令行窗口,執行命令(注意在“katago.exe”所在的文件夾下):katago.exe genconfig -model kata1-b40c256-s10568986624-d2575992043.bin.gz -output sabaki.cfg
生成本機配置文件的過程中要提問幾個問題:
- 問katago默認的圍棋規則是什麼,我們這裏就選中國規則,輸入:chinese,然後回車;
- 問katago要不要對讀秒之類的時間規則加個額外限制,我們這裏選不用。輸入:n,然後回車;
- 問是否允許katago在對手讀秒的時候思考,默認是否,我是直接回車;
- 問katago要使用哪個計算核心,我只有一塊顯卡,選項是“0”,直接回車;
- 問katago的內存上限設置爲多少,我的內存是64GB,輸入8,直接回車。然後就是AI引擎自己運行測試硬件的性能,自動選擇參數生成配置文件後結束運行。
下面結合截圖介紹Sabaki的配置:
兩點說明:
1、 從搭建過程就可以看出來,機器學習平臺不是大衆化的東西,需要一定的專業知識和足夠的耐心(別看就這個教程,自己實驗摸索加踩坑,前前後後也花了10小時左右);
2、 因爲平臺涉及到硬件、操作系統、驅動程序、機器學習環境、獨立組件、圍棋圖形化界面程序、AI引擎程序等,都有調整和升級的可能,特別是隔一段時間(比如一年半載),這部分調整和升級後的程序與沒有變化的那部分程序就有可能不能完美配合工作。所以,且行且珍惜吧。