KataGo 入门 · 04

KataGo 不只是一份模型:五层概念地图

把引擎、神经网络模型、搜索、协议和界面拆开看,先弄清每一层负责什么,再决定应该下载、连接或调试哪一部分。

  1. 模型负责第一感,不负责通信

    模型是训练好的神经网络权重。它会为一个局面给出落点倾向、胜负与目差等初始评估,但它不会自己读取 SGF、监听 WebSocket,也不会画棋盘。不同模型会改变速度、棋力、棋风和显存需求。

    模型只是五层系统中的权重层;把 .bin.gz 文件放进 GUI,并不等于已经启动分析服务。
  2. 引擎把模型放进树搜索

    KataGo 可执行程序加载模型和配置,再用蒙特卡洛树搜索反复评估候选着。visits、线程与 GPU 设置属于搜索和运行层;同一模型在不同搜索量下会给出不同稳定程度的答案。

    神经网络提供评估,搜索把评估扩展成候选着、主变化、胜率、目差与领地信息。
  3. 协议搬运结果,应用负责体验

    GTP、Analysis Engine JSON、REST 与 WSS 是不同的交互边界。Sabaki、KaTrain、Read19 等应用通过其中一种边界发出局面,再把返回数据变成棋盘、曲线和变化树。选工具时先问需要哪种界面,再问它支持哪种协议。

    从模型到棋盘是单向责任链;协议不是棋力来源,GUI 也不是模型本身。

继续阅读

  1. KataGo 官方仓库
  2. KataGo Analysis Engine 文档

先问清这四件事

  • 模型文件是什么架构与规模
  • KataGo 引擎版本和配置是什么
  • 客户端使用哪种协议
  • 最终需要对弈、复盘还是批量分析
阅读 WSS 协议