見出し画像

将棋 AI を使った研究環境を作るための Tips

はじめに

現在の将棋AIはとても性能が高く、高機能な無償のGUIと組み合わせれば将棋の研究に大いに役立ちます。一方で、将棋AIの技術的な知識を持たない利用者にとって、環境構築は易しいものとは言えません。この記事では、研究環境を整えるための Tips をまとめます。

PC環境について

💡CPU

多くの将棋 AI にとって、 PC の部品の中で CPU (メインの演算処理装置)の性能が最も重要です。CPU の性能をベンチマークツールで調べて比較しているサイトがいくつもあるので、購入を検討している型番を見てみると参考になると思います。ただし、一般的なベンチマークツールは将棋 AI を想定したものではないので、あくまでも参考程度のものと考えてください。

コア数は多いに越したことはありませんが、2倍に増えたからといって将棋AIのパフォーマンスが単純に2倍になるわけではありません。スペックを追求するとガンガン値段が上がっていくので、予算的に許せる範囲の中でグレードが高い製品を買うようにしましょう。

💡GPU

GPU も演算処理装置の一種ですが、グラフィックに特化しています。「グラフィックボード(グラボ)」は高性能な GPU を積み込むための基盤です。ただし家庭用の PC だと CPU と統合されているケースが多く、「内蔵GPU」や「統合GPU」と呼ばれます。一般的な用途は動画やゲームですが、近年では AI に応用するケースも増えています。

将棋 AI の中でも「DL系」と呼ばれる dlshogi やふかうら王は GPU を活用する AI なので GPU の性能は重要です。一方で、やねうら王は GPU を全く使わないので、GPU の性能を気にする必要はありません。GPU もスペックの高いものは高額なのと、CPU よりも取り扱いに注意点が多いので知識に自身の無い方が将棋 AI に使うことはお勧めしません。

💡排熱性能

将棋 AI は CPU に(DL系なら GPU に)極端な負荷をかけます。一般的な PC の使い方でそこまで負荷をかけることは稀(まれ)です。CPU や GPU に負荷をかけ続けるとガンガン発熱します。熱が上がるとファンの回転数を上げて冷却しますが、冷却が追いつかない場合は CPU の処理速度を低下(サーマルスロットリング)させます。あまりにも発熱がひどいと、最悪の場合は熱暴走という制御不能な状態になり、異常な高温になるため危険です。筆者は GPU を熱暴走させた経験が一度あり、慌てて電源ボタンを長押しして PC を停止させました。

ノートPCよりも空間に余裕のあるデスクトップ型の方が冷却には有利です。ノートPCの場合はバッテリーを積んでいる点でも、より熱に気をつかう必要があると言えます。デスクトップ型の中でも、小型のものは熱がこもりやすい傾向があります。

💡OS

macOS より Windows の方が将棋関連のソフトウェアは充実しています。ただ、最近は ShogiHome や将棋所、やねうら王など mac 版を配布するソフトウェアも増えたので困ることは少なくなったと思います。macOS の場合は古い Mac を入手しない限り CPU も Apple 製になります。Intel や AMD の CPU を使いたい場合は Windows が必要です。

💡その他

メモリも大きい方が良いですが、これもそれなりに費用がかかります。自身の使い方に合わせて選ぶ必要がありますが、通常は 16GB くらいで良いと思います。

ストレージ(SSD)のサイズや速度は将棋 AI の性能には直結しません。

セットアップの基礎知識

将棋神やねうら王激指のようにオールインワンで販売されているものをインストールするのは簡単です。一方で最新AIを開発者から直接入手する場合は、必要なものを自分で集めてインストールしなければなりません。通常は GUI(画面表示アプリ)エンジン(将棋AI)がそれぞれ 1 種類以上必要です。

GUI とエンジンの構成例

さらに近年はエンジン本体(探索部)評価関数(評価値算出部)を別の開発者が作るケースが増えており、それらを個別に入手する必要があります。従って、やねうら王を使用する場合は次の 3 種類をインストールする必要があります。

  • GUI のアプリ(ShogiHome、ShogiGUI など)

  • やねうら王

  • NNUE 評価関数(水匠、tanuki-、BLOSSOM など)

また、場合によっては定跡を追加で入手します。定跡がなくても困るわけではありませんが、定跡があれば事前に調べた最善手や評価値を見る事ができます。エンジンに定跡が同封されている場合もあります。

GUI のインストール

GUI のインストールは比較的簡単です。ただし、インストーラーが付属していないものを使う場合は、自分で置き場所を決める必要があります。

ShogiHome はインストーラーを起動するとすぐにインストールが開始され、成功するとアプリが立ち上がります。ShogiGUI もインストーラー版を使用すれば、簡単な操作でインストールが完了します。

将棋所 や WhaleWatcher にはインストラーが付属していません。自分で置き場所を決めた上で、ダウンロードしたファイルを移動する必要があります。

エンジン(AI)のインストール

💡入手可能なエンジン

エンジンの入手先は例えば以下のリンク集が参考になります。

ただ実際のところ、多くの人の関心はやねうら王系と dlshogi だと思います。

2024 年現在、やねうら王系の最新 AI を入手する主な手段は、やねうら王のスポンサーになってニュースレターを受け取るか、あるいは tanuki- シリーズを購入することです。少し前のバージョンで良ければ tanuki- シリーズの「Háo」は無料で入手できます。

dlshogi の最新版は公開されておらず、棋神アナリティクスを通してのみ利用可能です。入手可能なものでは 2021 年の電竜戦エキシビジョンバージョンが最新です。

💡エンジンを入れる場所

エンジンをインストールする前に、置き場所を決めましょう。インターネットからファイルをダウンロードすると「ダウンロード」フォルダに保存されますが、そのまま使うのはお勧めしません。

デスクトップに置くのは絶対駄目というわけではありませんが、最近の Windows は初期設定でデスクトップのファイルがクラウドに同期されるので注意が必要です。

いずれにしても、エンジンをまとめるフォルダ(下図上段)をまず作成し、その中に「Hao」「Suisho10beta」「dlshogi」などエンジンごとのフォルダ(下図下段)を置くようにします。そのショートカットをデスクトップに置いたり、エクスプローラーにピン留めしておくと便利です。

将棋エンジン専用のフォルダで整理

💡やねうら王

やねうら王を使用する場合はやねうら王Wikiやねうら王のインストール手順を参考にインストールをします。少し長い文書ですが、公式かつ詳細な情報なのでしっかり読み込むことをお勧めします。

文書だけでは難しいという人は、tanuki- シリーズ「Háo」のインストール手順が水匠の開発者によって動画で解説されているので参考にすると良いと思います。

ただし、この動画も細かいところは端折っているのと、公式 Wiki と違って最新情報が反映されないので注意してください。例えば、動画では 7zip をインストールする必要があると説明されていますが、新しい Windows や macOS は標準で 7zip に対応しています。

一番悩ましいのは、GUI に登録する時にどのファイルを選べば良いのかということでしょう。やねうら王は CPU の世代や評価関数の種類ごとのファイルを大量に同封しています。それゆえ、どれを使って良いのか迷ってしまうと思います。やねうら王 Wiki の以下の 2 項目を読んで自身の環境にあったファイルを選んでください。

💡dlshogi

【注意】
dlshogi の電竜戦エキシビジョンバージョンモデルファイルは営利目的の利用が禁止されています。動画配信や将棋道場での安易な利用をしないように注意してください。利用には他にも制限があります。必ず山岡さんのブログ記事の説明を最後まで読んでください。

dlshogi (DeepLearningShogi) の場合は山岡さんのブログ記事dlshogi(第2回世界将棋AI電竜戦エキシビジョンバージョン)のWindows版ビルド済みファイル公開を参考にインストールします。ただし、このブログの本文に手順の全ては書かれていません。ブログのリンクを開いていくと、以下の 2 つのページに行きつきます。

NVIDIA 製の CUDA 対応 GPU を搭載している場合、 CUDAcuDNNTensorRTをインストールするように書かれています。NVIDIA の公式サイトからダウンロードしてセットアップする必要があります。CUDA 対応の GPU が無くても動かすことはできるようですが、十分な性能を発揮できないと思います。

環境構築の難易度が他の将棋 AI より高く、トラブルシューティングに知識も必要です。一般の方が遊びで入れることはお勧めしません。

💡ふかうら王

ふかうら王も dlshogi と同様に CUDA 関連のセットアップが必要で、以前は環境構築の難易度が高いものでした。しかし、2025 年版では CUDA 関連のソフトウェアがセットで配布され、インストールの手間が大幅に削減されました。

やねうら王と同様にエンジンを設置して、「eval」フォルダにモデルファイルを配置するだけで使えるようになります。(もちろん、ハードウェアの要件として NVIDIA の GPU は必要な点はやねうら王と異なります。)

上の動画では dlshogi のモデルファイルをダウンロードするように説明していますが、やねうら王の NewsLetter を購読してふかうら王の最新モデルファイルを取得している場合はそれを「eval」フォルダに配置すれば利用可能です。dlshogi の公開版よりはふかうら王の最新版のモデルファイルの方が若干性能が良いと言われています。

エンジン設定について

エンジンが使えるようになっても、設定が初期値のままでは十分ではありません。自身の環境に合わせて調整をしたり、研究用途に合った設定にする必要があります。

💡やねうら王 Wiki の情報

繰り返しになりますが、やねうら王 Wiki に詳細な説明があり、やねうら王に関してはこれが公式のドキュメントです。できるだけ公式ドキュメントの内容を確認し、この note の記事は補助的なものとして利用してください。

💡用途別でエンジンを登録

ShogiHome や ShogiGUI は同じエンジンを何度でも登録できます。例えば Háo を 3 回登録して、「Hao 対局用」「Hao 研究用」「Hao 解析用」などと名前を付けることが可能です。

ShogiHome の設定例

将棋所の場合は同じファイルを多重に登録できません。将棋所で同じエンジンを重複して登録したい場合は、エンジンのファイルをコピーして別名で設置する必要があります。

💡スレッド数

スレッド数(Threads)は特に重要な設定の 1 つです。スレッド数を 2 以上にすることで、複数の読み筋を並列で探索できます。最近の CPU は複数コア(マルチコア)を搭載しているのが一般的なので、並列に探索することで CPU の能力をより発揮できます。

やねうら王のスレッド数設定例

ただし、コア数に対してスレッド数を上げすぎると性能が悪化します。また、複数のコアがフルパワーで稼働することで発生する熱も増えます。PC の排熱性能を加味して設定しましょう。特に普通のノート PC に極端な負荷をかけ続けることはお勧めしません。PC に十分な排熱性能があり、そしてハイパー・スレッディングという機能を搭載した CPU なら、コア数の 1.5 〜 2 倍のスレッド数を設定することで最高のパフォーマンスを出す事ができます。

スレッド数を上げた際の効果について注意点があります。スレッド数を 4 倍に上げれば NPS(1 秒間の探索局面数)も約 4 倍になります。この表示を見て 4 倍に速くなったと思うかもしれません。しかし、並列に探索すると無駄になる局面の割合も上がるので、トータルの性能は 4 倍まで上がっていません。排熱の弱い PC でも限界ギリギリまでパワーを出そうとする人が居ますが、リスクを取ってまでわずかなパフォーマンスアップをすべきなのかは考えた方が良いと思います。

💡ハッシュ

ハッシュ(USI_Hash)という設定項目は、将棋 AI の「ハッシュ表」という仕組みにどれくらいメモリを使うかを調整するものです。自身の環境の空きメモリを超えない範囲で設定します。単位は MB なので、例えば 5 GB 以上の空きが常にあるなら、4000 くらいを設定します。

USI_Hash 設定例

OS や他のアプリが使うメモリも加味して設定します。メモリが不足すると逆に遅くなるので、余裕を持った値を設定しましょう。この設定を少し上げたからといって劇的に高速化するわけではないので、ギリギリを攻める必要はありません。複数のエンジンを同時に起動する場合は、合計が空きメモリに収まるように調整しましょう。

メモリ不足で速度低下が起きると NPS の数値が著しく低下します。せっかく良い CPU を使っても速度が半分以下になってしまうので気を付けましょう。

メモリ不足による速度低下は NPS で判断

Windows の場合はキーボードの「Ctrl」「Shift」「Esc」を同時押しするとタスクマネージャーが起動して、メモリの使用状況を観察できます。グラフが上に張り付いて「コミット済み」の数値が著しく上がったら、おそらくメモリが不足しています。

やねうら王 Wiki では

空き物理メモリを見ながら大きめに。
例) 16GBのRAMなら14000 MBぐらいを指定

https://github.com/yaneurao/YaneuraOu/wiki/%E3%82%84%E3%81%AD%E3%81%86%E3%82%89%E7%8E%8B%E3%81%AE%E3%81%8A%E5%8B%A7%E3%82%81%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E8%A8%AD%E5%AE%9A

と書かれていますが、普段使いの PC で 16GB のメモリのうち 14GB を使うのは攻めすぎです。序盤研究をする人なら、複数のエンジンを同時に使ったりブラウザや Zoom など他のアプリを起動することもあるでしょう。自分がどれくらいメモリを使っているのか把握して適切に設定しましょう。

💡マルチPV

マルチ PV(MultiPV)は最善手から何番目の手までを表示するかを表します。マルチ PV を 2 以上にすることで、最善手だけではなく、2 番目以降の手の評価値や読み筋も知る事ができます。

マルチPV設定例

対局をするときに次善手は不要ですが、研究では AI の最善手以外も知る必要があるので必須の設定です。

MultiPV=5

MultiPV を増やすことで読まないといけない局面が増えるため、深く読めなくなるデメリットがあります。MultiPV が 1 のときと 5 のときでは、読みの深さが 3 手以上違ってしまうくらい遅くなるので、大きくしすぎず必要最小限にしてください。

💡FV_SCALE(やねうら王)

FV_SCALE は評価値に関する設定ですが、技術的な詳細は理解できなくても問題ありません。それぞれの開発者が言っている推奨値を確認して入力してください。

FV_SCALE 設定例

例えば水匠5なら24、Háoなら20とされています。

💡検討用の読み筋を出す設定(やねうら王)

エンジンが用いる高速化手法の影響で、実際の読みの深さより表示される読み筋が短いことがあります。ConsiderationMode を有効にしておくと、読み筋をできるだけ長く表示するようになります。おそらく初期設定で有効になっていますが、念のため確認しましょう。

ConsiderationMode

💡検討中に定跡を表示する設定(やねうら王)

やねうら王で読み込める定跡データを活用したい場合は、別の記事「やねうら王で検討中に定跡を表示する方法」を参照してください。