シンギュラリティ実験ノート

購入した1000ドルPCで何がどこまでできるのか実験した記録です。

将棋AI dlshogiを1000ドルPCで動かす(その後)

dlshogiを1000ドルPCで動かし、その後確認できたことが幾つかあるので報告したい。

python-dlshogi2(GPUで動作)

UbuntuのシステムモニタはGPUの動作状況を表示してくれない。本当にGPUで動作しているのか確認できていなかったのだが、端末からのコマンドで正しく動作していることを確認した。

GPU利用状況の確認

GPU利用率51%と表示された。

$ rocm-smi
========================================= ROCm System Management Interface =========================================
=================================================== Concise Info ===================================================
Device  [Model : Revision]    Temp    Power     Partitions      SCLK  MCLK     Fan  Perf  PwrCap       VRAM%  GPU%  
        Name (20 chars)       (Edge)  (Socket)  (Mem, Compute)                                                      
====================================================================================================================
0       [0xb002 : 0xc1]       55.0°C  40.169W   N/A, N/A        None  2800Mhz  0%   auto  Unsupported   14%   51%   
        0x15bf                                                                                                      
====================================================================================================================
=============================================== End of ROCm SMI Log ================================================

 

GPU利用プロセスの表示

利用プロセスはpython3と表示された。

$ rocm-smi --showpids
============================ ROCm System Management Interface ============================
===================================== KFD Processes ======================================
get_compute_process_info_by_pid, Not supported on the given system
KFD process information:
PID  	PROCESS NAME	GPU(s)	VRAM USED	SDMA USED	CU OCCUPANCY	
11672	python3     	1     	UNKNOWN  	UNKNOWN  	UNKNOWN     	
==========================================================================================
================================== End of ROCm SMI Log ===================================

NPS(1秒あたりの探索ノード数)

以前の記事では将棋GUIの将棋所とShogiGUIで違いがあるように書いていたが、再度確かめたところ違いはなかった。初期局面と中盤、終盤でNPSは変化するようで、どのタイミングで評価するかであるが、初期局面では1700を超える値も出ている。中盤では1000前後の値となっていた(下記画面参照)。ふかうら王(C++のプログラム)をM1 Macの内蔵GPUで動かした時のNPSが1300という報告がある。1300がどの局面での数値か分からないが、UM790 Proのpython-dlshogi2はほぼ同等レベルと言ってよいのではないか。

中盤でのpython-dlshogi2のNPS

将棋GUIの設定パラメタ

将棋GUIに登録すると自動的にデフォルトパラメタが設定される。この中にGPU IDの指定があるので、0(GPU)になっていることを確認してほしい。pythonのプログラムソース内にも指定する箇所があり、デフォルトは0なので問題ないのだが、-1(CPU)に変更したりしていると、デフォルトパラメタが-1で登録されてしまう可能性があるので注意が必要だ。

将棋所のパラメタ設定

将棋所のパラメタ設定
ShogiGUIのパラメタ設定

ShogiGUIのパラメタ設定

dlshogi(OnnxRuntime版)の起動時の注意

OnnxRuntime版を起動する前に動的リンクライブラリのパスを指定する必要がある。これを指定せず、将棋AIに直接実行プログラムを指定するとエラーとなり動かない。以下のようなシェルを作成してほしい。シェルに実行権限を与えることもお忘れなく。

#!/bin/sh
export LD_LIBRARY_PATH=/home/Shogi/onnxruntime-linux-x64-1.16.3/lib:$LD_LIBRARY_PATH
cd /home/Shogi/DeepLearningShogi/usi_onnxruntime/bin
./dlshogi_onnxruntime

2024-02-11 追記

上記シェルに誤りがあったのを発見したので修正。binの下にカレントディレクトリを移動してから実行プログラムを起動しないとモデルを読み込めずにエラーとなります。すみません。

おわりに

Mac mini Late2012のNPS値52に比べると約20倍早くなった。水匠5と対局させているが、この速度でもdlshogiは分が悪いようだ。dlshogi推しの私としては残念である。パラメタを見ると、ここにもtemperature(温度)パラメタがあるのを発見した。LLMのELYZAでテストした経験からすると、ここを変えると独創的な手を指すようになるのだろうか。強くはならないと思うが、少しだけ見てみたい気もする。