GLOBIS-AQZのオープンソース&導入方法

5月11日に囲碁AI・GLOBIS-AQZがGitHubでオープンソース化されました。
これはグロービス、開発者・山口祐氏、トリプルアイズで共同開発したものです。
第11回UEC杯コンピューター囲碁大会で準優勝の実績を残し、高い実力を証明しました。
なお、「GLOBIS-AQZ」プロジェクトはソースコード公開で終了します。(こちらを参照)


「日本ルールのコミ6目半対応」の囲碁AI

日本ルールは「人間らしい解釈」が多く、囲碁AIに学ばせるのは困難です。
例えば「終局直前に『パス』を行わせる条件は何か」思いつきますか?
そうした条件をクリアした囲碁AIなので、使ってみてください。

※韓国のMegaPackでAQZが導入されました。下記の記事を参照ください。(5/25:追記)

今回は「囲碁AIの機能を一度に導入できる」画期的なツールを紹介します。このツールを導入するだけで、入手可能なAIがほぼ全て揃う上に、対局や検討機能も同時に使える環境を構築できる。
 導入方法

まず、大まかな導入手順は2つです。

(1)動作環境の構築(ここが重要)
(2)SabakiとLizzieにAQZのデータを適用

最初のステップさえ終えれば、すぐ終わります。(約10分程度)

※1 CUDAを入れるので、GPUがないと動きません。
※2 cuDnnの導入が必要です。こちらを参照ください。(05/14:追記)
※3 Lizzieの導入済みで進めます。下記を参照ください。

10月1日にLizzie0.7が公開され、新機能として目数表示機能が搭載された。CPU版とGPU版の両方がある上、操作方法等が日本語表示もされており、PC初心者でも何すべきか一目でわかる工夫が施されている。また、2020年に向けてLizzie0.8の改良を進めているようだ。
Step1 AQZのデータ取得

(1)こちらよりダウンロード。

(2)ダウンロードしたzipファイルを解凍し、デスクトップに移動。

Step2 CUDA Toolkit10.2のインストール

(1)こちらに入り、下記のように進めます。

(2)ダウンロードしたものを、ダブルクリックしてインストール。
※基本的に全て「はい」を選べば問題ありません。

Step3 TensorRT7.0.0の材料集め

(1)こちらに入り、「Download Now」をクリック。
※クリックした後、IDがある方は「Login」、登録する場合は「Join Now」

(2)下記画面の「TensorRT 7」をクリック。

(3)下記の手順でダウンロード。

(4)ダウンロードしたものを解凍し、下記の場所まで開く。
※TensorRT-7.0.0.11→lib→下記画像

(5)上図のファイルを全てコピーし、Step1の「AQ」のファイルに貼り付け。
※下図のように入れれば、Step完了。

Step4 TensorRT7.0.0の材料集め
(1)こちらより、下記のものをダウンロード。

(2)ダウンロードしたものをダブルクリックし、インストール。

Step5  対局用「Sabaki」に適用
(1)Sabakiを起動し、上側にある「Engines」→「Manage Engines…」をクリック。
※Sabakiは各自で導入してください。
(2)下記のように設定して「Close」で設定完了、対局できます。
※コピペ用の時間設定「time_settings 0 10 1;」
Step6  検討用「Lizzie」に適用
(1)「Lizzie」のファイルに「AQ」のファイルを入れる。
(2)「config.txt」を開き、下記の部分を追記して保存。これで完了です。
※コピペ用のテキスト「./AQ/AQ.exe」または「./AQ/AQ.exe –lizzie」、「./AQ/AQ.exe –lizzie -w GLOBIS-AQZ」(05/25:追記)
 最後に

対局用は問題なく動作したものの、置き碁ではかなり早い段階でAQが投了します。
また、検討用は動作が重い上、エラーをゴリ押して使う形なので、改善の必要があります。
AQの設定方法に関して、こちらの「4.オプション」を参考にカスタマイズしてください。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. hiro より:

    GLOBIS-AQZがオープンソースになったので、
    Okaoさんの導入法を参考に「CUDA Toolkit10.2」→「TensorRT7.0.0」→
    「x64:vc_redist.x64.exe」と正確にインストール、コピーを実行していったんですが、
    sabakiで起動させると
    「GTP engine output has stopped」となって、起動できません。
    設定ミスの可能性とか何度も注視・確認していますので,ミスはないはずです。
    問題があるとすれば「CUDA」「TensorRT7」「x64:vc」あたりなんだろうかと——
    因みに、katago-cudaやLeelaZero等はちゃんと動いている状態です。
    どこに問題があるのでしょうか?
    環境は、windows10 、NVIDIA(R) GeForce(R) GTX 1080Tiで、
    i7-8700K、メモリー32GBです。よろしければご教授ください。
    よろしくお願いします

  2. hiro より:

    早急な対応、ありがとうございました。
    早速、「cudnn-10.2-windows10-x64-v7.6.5.32.zip」
    をダウンロードして、Program Filesフォルダの 
    \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.2
    にコピーすることにより、GLOBIS-AQZが起動できました。

    今でこそ、置碁や、下手ごなしでは、プロ棋士の先生よりも強い「Katago」が、抜きんでていますが
    LeelaZeroの40ブロックよりも、少し強く、置碁の上手打ちは得意ではないが、なかなか人間らしいプログラムですね!

    ところで、「Katago」の場合は、「gtp.cfg」への書き込みで、ルールやコミの指定が出来ますが、GLOBIS-AQZの日本ルールやコミの指定は、「config.txt」への書き込みで
    十分なのでしょうか?
    sabakiの「 manage engine」の因数で「–rule=1 –komi=6.5 」の指定をしても認識しているようですが、
    その場合「config.txt」はへの書き込みは必要なのでしょうか?
    それとも、両方とも記述する必要があるのでしょうか?

  3. 灰色猫 より:

    こんにちは、いつも有用な情報を提供して頂き有難うございます

    GLOBIS-AQZをlizzieで動かすためのコピペ用テキストとして「./AQ/AQ.exe」とありますが、私の環境ではこれだけでは動かず「./AQ/AQ.exe –lizzie」とすることで動きました。
    さらに「./AQ/AQ.exe –lizzie -w GLOBIS-AQZ」などとすることで、エンジン切り替えの時に表示されるプルダウンメニューに「GLOBIS-AQZ」と表示されるようになりました。
    メガパックを入れれば全てセットアップされているので簡単に動きますが、単独のlizzieでAQZを動かそうとする場合の参考になればと思います。