COSUMIのサーバメンテナンスをします(2024年6月28日-)

明日28日23:00頃から、メインサーバの交換を含む大掛かりなCOSUMIのメンテナンスを行う予定にしています。

囲碁ブラウザゲーム COSUMI
https://www.cosumi.net/

できれば29日早朝には終わらせたいと思っていますが、それが無理なようなら一回睡眠をとりますので、終了は大幅に遅くなる可能性があります。

[追記 2024/6/29 4:50]
いろいろあったのですが、とりあえず現時点では一応動いているようです。一回寝ます。

[追記 2024/6/29 5:45]
本当に申し訳ないのですが、やっぱりだめでした。一回寝ますので、今日は長くなると思います。

[追記 2024/6/29 17:15]
先ほど再開しました。ハーゲンダッツ食べながらだいぶ頑張りましたが、ちょっと自信はありません… 大丈夫そうなら素麺食べてもう一回寝ます。

[追記 2024/6/30]
昨日はたくさん寝れました(笑)。今回のメンテナンス内容についても、一応ここに書いておきます。

一番大元の変更は大きく分けると2つあって、一つ目はメインサーバの交換です。さくらの専用サーバからさくらのクラウドになりました。いままで使っていたサーバとは、約8年半の付き合いなんですが、あと数十分でお別れになります。20c40tの化け物で、COSUMIの一番負荷の高い時代を支えてくれました。前のメインサーバの時も同じことを書いていますが、今回解約するサーバは歴史上一番たくさん囲碁の手を生成したコンピュータである可能性が高いと思います。そして、COSUMIがさくらの専用サーバを使わないのはこれが初めてです! 新しくさくらのクラウドを使うことにしたのは、なんかさくらインターネットからクーポンを10万円分もらったからというだけで、あまり良さそうじゃなかったら、またもう一度、別のに変更する予定にしています。

二つ目は、KataGoのNNのモデルを新しい棋力の高いものに変更しました。これに合わせて、私が作ったKataGo用秘伝のたれも、気になっていた部分を大量に修正し大幅に改良しました。

ここからは、ユーザから見える変更点を順に書いていきます。

まず、新しく17路盤の対局ゲームができて、加えて9~15路盤ではレベル9まで、19路盤ではレベル10まで強さを選択できるようになりました。それから、11路盤と13路盤でも置き碁の対局ができるようになり、置き碁の対局はすべて自由置き碁になりました。17路盤の対局ゲームと11路盤・13路盤の置き碁、それから自由置き碁は以前からやりたかったのですが、ネックになっていたのは、自前のオープニングブックを用意するのが大変ってことでした。ところが、このあたりがKataGoと秘伝のたれで今は相当上手くやれるようになったので、今回思い切ってCOSUMIのすべての9路盤以上の対局で、自前のオープニングブックを一切捨てて、その部分に関してもKataGoを使うことにしました。自前のオープニングブックは本当に多くの時間を掛けて作成したものなので、使わなくするのはすごく勇気がいったのですが、まあいいタイミングだと思います。で、その関係で9~19路盤の内、特に小さい碁盤サイズほど大きく、以前と比較して同じレベルでの棋力がほんの少しだけ下がっていると思います。これは強さが変わらないように適当に調整してもよかったのですが、もともと同じレベルで比較すると小さい碁盤サイズの方が大きな碁盤サイズより少し強い傾向があったのを解消するのでいいかと思いました。「特定の碁盤サイズの特定のレベルの棋力」はできるだけ変わらないように気をつけていますが、今回はこれでお願いします。ただ、程度はかなり小さいです。

それから、KataGoのモデルを変更したので棋譜解析機能の性能がぐっと上がりました。さらに、自動で解析を行う条件として「碁盤サイズが15路盤以下、かつ総手数が250手以下」というのがあったのですが、これも無くしました。これでもサーバの負荷は全く問題ないようです。

それから、チャレンジモードでFuegoの使用を止めて、代わりにKataGoを使うようにしました。棋力はできるだけ以前と揃えてあります。Fuegoはもう、コンテンツの性格上あまり気軽にこういう変更ができないこのチャレンジモードでしか使っていなかったのですが、このタイミングで一切の使用をやめました。Fuegoには本当に長い間お世話になりました。開発者の方々には、心よりお礼申し上げます。おそらく、開発者の方々が想像されているよりはるかに多くの手を、Fuegoは人間に対して打っていると思います。また、「開始時30秒・一手打つごとに3秒追加」のフィッシャーだったのが、「開始時20秒・一手打つごとに5秒追加」に変更しました。以前から「少し時間に追われやすいな」と気になっていたのですが、とにかく変更しづらかった… 今回はとても良い機会ですので、いっしょに変更しました。こちらは難易度にそこそこ影響を与えていると思いますが、これ以上の調整は行いません。今後は、これで遊んでください。

現在の仕様は、ほぼほぼCOSUMIの最終形態です。COSUMIがいつか終わる時と大きくは違っていないと思います。

[追記 2024/7/2 6:10]
KataGo周りが少し不安定だったようです。少し修正しました。

[追記 2024/7/3 9:00]
いくつか問題があったみたいで、KataGo周りよりメインサーバの方がだめだめでした。負荷の高い時間帯にKataGoに仕事させようとすると、まともに動いていませんでした。今はもう大丈夫になっていると思います。

[追記 2024/7/4 7:40]
気になっていた問題は、一応すべてなんとかなったようです。ようやく完全な形で再開できた気がしています。

[追記 2024/7/6]
ひとつ書き忘れていたのですが、今回から7路盤スペシャルバージョンでもKataGoを使うことにしました。以前、このブログへのコメントでKataGo Opening Booksというサイトを教えてもらって、そんなのがあるのなら私が7路盤スペシャルバージョンで頑張る意味はもうないので、このブログ記事内には書くのをずっと忘れてしまっていたのですが、7路盤スペシャルバージョンのオープニングブックはもう更新しないつもりでいました。ただ、今回KataGoを使うようになって、そもそも負けることがほぼなくなりましたので、その少ない負けた対局だけは、できるだけ定期的に直していこうかなと思っています。ちなみに、今現在、作り碁になった対局のみでCOSUMIの119勝2敗18引き分けです。

[追記 2024/7/6]
本当にすいません。今回のアップデート時に、7路盤スペシャルバージョンのオープニングブックを誤って古いものにしてしまっていたことに今気づきました… すでに修正済みです。

[追記 2024/7/7 15:00]
今回のアップデートの後、OOM KillerでKataGoが殺されている時が何度かあったようです。これは必ずしもそれがそのままサービスの停止を意味しないのですが、昨日6日16:00ぐらいに一度、数百局ぶちっといってしまいました。本当にすみません。とりあえずの対応は済ませました。約2か月後に、今現在使っているc7g.4xlargeg5g.xlargeを纏めてg5g.4xlargeに置き換える予定にしていて、今はまだC7gのSavings Plansが残っているので、それまではなんとかだましだましこの状態でいきたいです。その時までにG6gが出てくれると一番良いのですが…

[追記 2024/7/8 8:35]
KataGo周りがまだ少しだめだったみたいです。昨日7日18:38ぐらいから、しばらくまともに動いていませんでした。本当にすみません。一番まずい不具合はすでに修正済みですが、複合的な要因でまたなんか起こるかもしれません。実戦でしか分からないことも多くて、なかなか手元で完全なテストができないんですよね…(泣)

[追記 2024/7/15 10:50]
まだ、KataGo周りが少しおかしいようです。はっきりとしたエラーログが残るわけでもなく、負荷が高い時間帯にだめになるけどリソース食いつくしているわけでもなく、理由がいまいちはっきりしなかったのですが、時間を掛けて調べてみて、なんとなくですが問題の切り分けはできてきました。複数の要因が絡んで、かなり運悪く突発的に輻輳するんだと思います。

そこでの対応なのですが、まず5日ほど前から、解析を自動で行う条件の「碁盤サイズが15路盤以下、かつ総手数が250手以下」というのを一回復活させて、負荷を少し下げていたのですが、とりあえずこれで特に問題は起こらない状態になっていました。さらに昨日、KataGo周りのコードを大幅に書き換えたものに差し替えて、これが問題無く動くのを確認した上で、続けて先ほどの解析を自動で行う条件を再度削除し、特にトラブルなく今に至っています。今回かなり大幅にコードを書き換え、無駄のない動きになったので、なんとなくもう問題が起こらないような気がしていますが、これで駄目ならサーバのアップグレードが必要かもしれません。KataGo用サーバのメインメモリが8GBと少ないのがちょっと痛いんですよね。GPUメモリは1GBも使っていないのに16GBもあるのですが… 今回、かなり詳細にログを吐くようにもしておいたので、もしもう一度トラブルが起これば、そこで原因がはっきりするかもしれません。

[追記 2024/7/15 20:05]
やっぱりだめでした… 15:46ぐらいに数百局ぶちっといってます。本当に申し訳ありません。とりあえず「碁盤サイズが15路盤以下、かつ総手数が250手以下」の条件を戻しています。ログ見ても、なにも出てこなくて全く理由がわかりません。自分が書いたコードのせいだと思っていたのですが、違うのでしょうか?

[追記 2024/7/18 0:40]
かなり大変だったのですが、実際のアクセス状況とできるだけ同じ状態をテスト環境で再現して、KataGo周りにあった不具合の箇所が特定できました(自信がないので大きい声では言えないのですが、たぶんこれはKataGoが悪いんじゃないかな?)。どこが悪いのかずっとわからなかったおかげで、コードのあらゆる部分がどんどん綺麗になっていったのはとても良かった(笑)。「碁盤サイズが15路盤以下、かつ総手数が250手以下」の条件も三度、削除しています。約3週間掛かりましたが、ようやく完全復活できたはずです。不安定な状態が長く続いて、本当に申し訳ありませんでした。

[追記 2024/7/21 23:30]
その後、特に何も問題は起きていません。COSUMIに再び平和が訪れました(笑)。KataGoは昨日24時間で、2,862,221手打って、25,542局棋譜解析してくれました。

[追記 2024/7/26]
置き碁の対局のオープニングにおいて、置き石の色を反対に見ている不具合がありました。すでに修正済みです。だれにも指摘されませんでしたし、自分で棋譜を見てても気づきませんでしたが、まあそんなものかな?

COSUMIのKataGo用サーバが止まっていました (2024年4月16日)

またまたで本当に申し訳ないのですが、16日23:20~17日8:15ぐらいの間、COSUMIのKataGo用サーバが止まっていました。

囲碁ブラウザゲーム COSUMI
https://www.cosumi.net/

今現在はもうすでに復旧しています。今回も前回同様、KataGoを使用しないサービスには影響ありませんでした。

前回と同じく、lastコマンド叩くと当該の時間帯は二重にシステムが起動していることになっていて、本当によく分かりませんが変なリブートをしているように見えます。こんなのが頻発するとまずいので、適当に対策考えます。

COSUMIのKataGo用サーバが止まっていました (2024年2月16日)

同じような話を繰り返して申し訳ないのですが、16日2:55~14:15ぐらいの間、COSUMIのKataGo用サーバが止まっていました。

囲碁ブラウザゲーム COSUMI
https://www.cosumi.net/

今現在はもうすでに復旧しています。今回も前回同様、KataGoを使用しないサービスには影響ありませんでした。

原因は前回とは違って、ログを見てもよくわかりません。EC2のモニタリングの「CPU 使用率」とか、「ネットワーク受信量」とかのグラフが一瞬途切れているのがなんかおかしくて、lastコマンド叩くと、当該の時間帯は二重にシステムが起動していることになっている…(どゆこと?) なんか特殊なリブートしたのかな?