このエントリーは、将棋AI tanuki- の強さを改善するために行った一件の実験を記録します。tanuki- は、指し手を探す思考エンジンと、局面の有利・不利を数値化する評価モデルを組み合わせた将棋AIです。 ここで局面とは盤上の駒の配置、思考エンジンとは指し手を探して選ぶプログラムです。NNUEは Efficiently Updatable Neural Network (効率的に更新可能なニューラルネットワーク) の略です。NNUE評価モデルは、入力した局面から有利・不利の評価値を高速に計算する、将棋向けの軽量なAIモデルです。思考エンジンは、この評価値を指し手の探索に使います。 試験で使う対局開始時の盤面の集合、実運用向けモデルの学習に使うデータ、学習済み評価モデルは非公開です。そのため、この記事だけで同じ計算を完全に再現することはできませんが、何を変え、どの条件で比較し、どの結果から採用・不採用を決めたかは確認できます。 現在の比較基準 (champion) は実験開始時に採用済みの評価モデル、候補 (candidate) は今回評価するモデルです。追加学習とは、既存モデルの学習済みの重み (学習で調整された内部の数値) を出発点にして、さらに学習を続けることです。入玉局面とは王が相手陣へ入った局面、通常局面とはそれ以外の局面です。教師AIとは、学習時の答えとなる評価値を作るために使った別の将棋AIです。教師信号とは、その教師AIが各局面に付け、学習時の正解として使う評価値です。
要約
- 今回評価した変更に関する実験前の予想: 採用中のモデルの重みを引き継ぎ、玉の位置が異なる入力の間で共通の駒特徴を共有して追加学習すると、追加学習前より強くなると予想しました。
- 結果: 事前に固定した採用判定ルールによる最終判定は、候補採用でした。
- 測定段階: 長時間対局試験
- 最重要の注意点: 対局開始局面、学習データ、評価モデル(今回の候補および比較に用いるもの)は非公開であり、公開記事は方法と結果の監査を目的とします。
背景と実験前の予想 (仮説)
- ここからの各項目は、今回の実験前に立てた仮説と判定条件です。
- 問い: 既存の重みを引き継ぐ追加学習でも、共通の駒特徴を使う学習方式は改善につながるでしょうか。
- 実験前の予想: 特徴の因子分解を明示的に有効にして追加学習した候補は、追加学習前の採用モデルより強くなると予想しました。
- 強くなるという予想と、その改善量を測定したという結論は異なります。今回の採否は後述する二仮説の逐次検定で決めます。判定用のLLRと、強さの差を表すEloの推定値は区別します。
- 改善すると考えた理由: 特徴の因子分解は、玉の位置ごとの入力に加えて共通の駒情報にも重みを持たせる学習方法です。補助重みをゼロで追加して初期評価を保ち、書き出し時は通常の重みへ足し合わせます。学習プログラムTataraの既存機能を、明示指定した継続学習でも利用できるようにしました。
- 用語補足: 学習局面の構成とは、学習データにどのような局面がどの程度含まれるかという傾向です。これは教師AIが付けた評価値の数値分布とは異なります。
- 事前成功条件: 2局の動作確認を完了し、短時間対局と長時間対局の両方で事前に固定した合格境界へ到達することです。
今回の変更
次の表は、今回の実験で行った変更です。 今回の候補の学習では、40,003,174,400局面を処理し、重みを2,441,600回更新しました。初期重みの選び方と対戦相手との関係は、考察の観測事実・解釈で説明します。学習を行ったという記録だけから、現在の比較基準への追加学習とは判断しません。
| 構成要素 | 現在の比較基準 (champion) | 今回評価する候補 (candidate) | 変更理由 |
|---|---|---|---|
| 使用したソースコードの版 | 52b4fdd1354073545bb19aac0ecd8e088e177b4f | 8b40493ccc5b0f22afea1fa6b951d183b87b3ea5 | 既存の共通特徴を利用する学習方式を継続学習でも明示指定できるようにし、同じ対局エンジンで追加学習前後のモデルを比較しました。 |
実験方法
データ
- 公開状態: 非公開
- 選択方法: 運用者が既存の学習設定一覧に登録した入力を継続使用しました。今回新しく局面を選別したデータではありません。設定と入力の同一性は運用側の記録で照合しています。
- 前処理: 将棋局面と教師評価値を格納する固定形式で読み込む
- 学習データに含まれる記録数 / 学習中に処理した累計局面数: 8,000,049,489 / 40,003,174,400
- 記録数は、学習データのファイルに保存された局面レコードの件数です。累計局面数は、同じデータを複数回読む場合も含め、学習処理が実際に読み込んだ延べ件数です。
学習
- 学習方法: 1段階の学習。初期重みと変更内容は考察の観測事実・解釈を参照
- 学習段階数: 1 (計画で区切った学習処理の段階数)
- ニューラルネットワークの設計: 局面から評価値を計算する複数の層を積み重ねたNNUEモデル
- 学習計算に使った画像処理向けプロセッサ (GPU): NVIDIA GeForce RTX 4090
- 実際に学習へ使った局面数 / 重みを更新した回数: 40,003,174,400 / 2,441,600
- 実行時間: 2026-09-10 16:46:09 日本標準時 → 2026-09-10 21:20:16 日本標準時 (約4時間34分7秒)
- 学習状態の用語: 最適化手法 (optimizer) は、誤差を小さくするようにモデル内部の数値を更新する計算方法です。Rangerのlookaheadは、その更新を安定させるためにoptimizer内部で保持する状態であり、将棋の指し手を読む深さではありません。累計更新回数 (global step) は学習開始から重みを更新した総回数、学習率の変更規則 (LR schedule) は更新幅を学習中にどう変えるかを定めた規則です。
対局による強さの測定
- 測定方針: 持ち時間、統計判定の閾値、最大対局数を固定した方針
- 対局ルール: やねうら王に実装された24点法の入玉ルールを使用します。24点法は、王が相手陣へ入り、所定の駒点を満たした場合の勝敗を定める規則です。
- 対局の開始局面集: 非公開
- 今回の測定段階の持ち時間: 40.0+0.4 (先頭は初期持ち時間、
+の後は1手ごとの加算時間。単位はいずれも秒) - 統計判定: 対局結果を順に加え、次の二つの仮説の一方を支持する証拠が十分になった時点で止める逐次確率比検定 (SPRT)
- 比較する強さの仮説: 基準と同等 (0.0 Elo) / 改善 (+4.0 Elo)。Eloは対局結果から推定する強さの点数です。
- 誤判定の許容確率: 改善していない候補を誤って採用する確率を5%、改善した候補を誤って不採用にする確率を10%まで許容
- 最大対局数: 131072
- 思考エンジン設定: CPU(中央処理装置)で指し手を探す処理を1つだけ実行し、探索結果を一時保存するメモリ128 MiB (1 MiB = 1,048,576バイト)、24点法の入玉ルール
結果
- 判定: 採用
- 判定理由: 長時間対局試験のLLR 2.92749 が、事前に定めた通過上限 2.89037 に達したため
- 短時間対局試験 (STC: Short Time Control) は、短い持ち時間で多数局を行い、改善の証拠がある候補だけを選ぶ試験です。長時間対局試験 (LTC: Long Time Control) は、短時間対局試験を通過した候補を長い持ち時間で確認する試験です。
- LLR (対数尤度比) は、上記の改善仮説と同等仮説のどちらの証拠が強いかを表す判定用の数値です。LLRが下限に達したら候補不採用、上限に達したらこの測定段階を通過とします。実際の採用は、実験計画で必要とされた後続の測定段階も通過した後に判断します。通過しても、強さの差が少なくとも+4 Eloあると証明したわけではありません。不通過も、候補の方が弱いと証明したことを意味しません。
| 測定段階 | 状態 | 対局数 | 勝 | 引分 | 敗 | 現在のLLRと判定境界(信頼区間ではない) | 最大対局数 | 未実施理由 |
|---|---|---|---|---|---|---|---|---|
| 短時間対局試験 | 通過 | 31936 | 15466 | 1431 | 15039 | 現在値 2.97657 / 不採用境界 -2.25129 / 合格境界 2.89037 | 131072 | — |
| 長時間対局試験 | 通過 | 11832 | 5547 | 1039 | 5246 | 現在値 2.92749 / 不採用境界 -2.25129 / 合格境界 2.89037 | 131072 | — |
追加の統計値
| 指標 | 値または掲載しない理由 |
|---|---|
| 推定Elo | この逐次判定は0 Eloと+4 Eloのどちらが結果に合うかだけを判定し、Eloを一つの推定値として計算しないため掲載なし |
| 先手と後手それぞれの勝敗集計 | 今回の測定方針では集計していないため掲載なし |
学習誤差 (loss)
学習誤差 (loss) は、AIの予測と教師データに記録された答えのずれを表す値です。同じ定義と条件で比べる場合は、小さいほど教師データへよく合っています。

グラフの内容照合用SHA-256 (ファイル内容から作る一方向の指紋): 84184553507b16b1e504aba50bdf14aace530066785d2efc1e627b870589e06b
考察
観測事実
- 採用中だった評価モデルの重みを引き継ぎ、学習時だけ共通の駒特徴を追加する方式を明示的に有効にして、一段階の追加学習を完了しました。重みは局面の評価を調整するモデル内部の数値です。ここでの共通の駒特徴は、玉の位置が異なる入力の間でも同じ駒の情報を共有して学ぶための補助的な項目です。この方式を特徴の因子分解と呼びます。 tanuki- は末尾のハイフンまで含む将棋AIの固有名で、思考エンジンと評価モデルを組み合わせた全体を指します。Tataraは評価モデルを作る学習プログラムです。この記事では追加学習と継続学習を同じ意味で使い、新規学習は既存モデルの重みを継承せずに始める学習を指します。 — 根拠: 実験計画、使用ソースコードの記録、学習完了記録
- 学習プログラムTataraには、新規学習向けに特徴の因子分解が既にありました。今回は、対局用に保存された重みを読み込む継続学習でも、明示指定した場合に使えるよう変更しました。追加する補助重みはゼロから始め、学習開始時点の評価を保ちます。対局用モデルを書き出す際は補助重みを通常の重みに足し合わせるため、対局エンジンのモデル形式は変えません。既定の継続学習動作は従来どおりです。 通常の特徴は、たとえば玉の位置と盤上の銀の位置・所属側との組み合わせを区別します。共通の駒特徴は、玉の位置が違っても同じ銀の位置・所属側について共有できる補助情報です。書き出しとは学習後の重みを対局用ファイルへ保存する処理で、補助重みを通常の重みに足し合わせることで、ファイル内の数値の並び方や読み取り規則を変えずに済みます。この特徴共有と重みの合成は既存手法であり、StockfishのNNUE学習資料(参照先URL: https://official-stockfish.github.io/docs/nnue-pytorch-wiki/docs/features.html )にも説明があります。 — 根拠: 実験計画、使用ソースコードの記録
- 既存の同じ学習データを使用し、今回は教師評価値を新しく生成していません。教師評価値とは学習で目標とする局面の評価値です。データの由来について運用者から複数の教師評価値の相加平均と説明されていますが、今回その生成処理を再実行して検証したわけではありません。相加平均は値の合計を個数で割る計算です。 一般説明の「教師AI」は役割の呼び名です。運用者の説明は複数の教師評価値を平均したデータを指しますが、今回の記事では教師の個数を独立に確認した数値として記載していません。 — 根拠: 実験計画、学習完了記録
- 初期学習率は0.00004375とし、400の学習区間、計2,441,600回の重み更新を完了しました。学習率は一回の更新で重みを動かす幅に関わる設定です。各区間で学習率を0.992倍にする規則を維持しました。重みだけを継承し、最適化手法の内部状態、更新を安定させるlookaheadの状態、累計更新回数、学習率変更の進行位置は初期化しました。学習損失は400点記録されています。 GPUは多数の数値計算を並行して行う装置で、今回は重みと誤差の計算に使いました。Rangerは最適化手法の名前で、そのlookaheadは更新後の重みと別に保持する重みを一定間隔で近づけ、更新を安定させる仕組みです。400の学習区間はそれぞれ6,104回の重み更新をまとめた単位で、区間ごとに学習率を変更し、損失を1点記録したため400点あります。処理した延べ局面数は入力レコード数の約5倍で、同じデータを繰り返し利用しています。異なる局面が400億個あるという意味ではありません。学習乱数は、局面を読む順序など学習中のランダムな選択に使う数値です。教師生成時の探索量とは、教師AIが答えを作る際にどれだけ先の局面を調べたかを指します。 — 根拠: 実験計画、学習完了記録
- 短時間対局は15,466勝・1,431引き分け・15,039敗、計31,936局で合格しました。統計的な判定値であるLLRは2.97657となり、事前に固定した合格境界2.89037を超えました。 — 根拠: 短時間対局試験の結果
- 長時間対局も5,547勝・1,039引き分け・5,246敗、計11,832局で合格しました。LLRは2.92749となり、同じ合格境界2.89037を超えました。 — 根拠: 長時間対局試験の結果
- 短時間・長時間の両試験で採用条件を満たしたため、追加学習後のモデルを新しい採用モデルにしました。両試験の対戦相手は追加学習前の採用モデルで、対局エンジンの探索処理は両側で同じです。 — 根拠: 短時間対局試験の結果、長時間対局試験の結果、採用判定記録
- 比較相手は実験開始時の採用モデル、候補はその重みから追加学習したモデルです。異なるのは評価モデルの重みと、それを学習するためのTataraの版です。対局中の探索処理は両側とも同じtanuki-のソースコード3503dc5736ea5ae425602a75c70cc9b3df21f573を使いました。やねうら王はtanuki-の基になった公開将棋思考エンジンです。今回の「やねうら王に実装された24点法」はルールの実装を指し、最新のやねうら王と対局したという意味ではありません。ソースコード版の英数字40文字は、Gitという変更履歴管理の仕組みで一つの版を特定するコミット識別子です。 — 根拠: 実験計画、使用ソースコードの記録、学習完了記録
- 2局の動作確認では、エンジンが起動して所定の動作検査を通り、実際の対局が終了することを確認しました。この2局の勝敗は強さの採否には使いません。短時間試験は初期持ち時間8秒・1手ごと0.08秒加算、長時間試験は初期40秒・1手ごと0.4秒加算というサーバー上の設定です。実際の時間は対局用の固定プログラムが計算速度の測定値に応じて補正します。両試験で同じ非公開の開始局面集を使います。開始局面集は対局を始める盤面の一覧で、通常の初期配置以外からも対局を始めるためのものです。 公開記録のmethods.rating.time_controlという単一の値40.0+0.4は、最終測定段階である長時間試験を表します。短時間試験の持ち時間は本文の「観測事実」にのみ記載しており、report-fields-v3.jsonの対局時間欄には含まれません。 — 根拠: 実験計画、短時間対局試験の結果、長時間対局試験の結果
- SPRTは結果が増えるたびに判定する統計手法です。LLRは、観測結果が改善仮説の下で生じる確率を同等仮説の下で生じる確率と比べ、その比の対数を取った数値です。この「ある仮説なら観測結果がどの程度起こりやすいか」が尤度です。LLRが合格境界を越えたら改善仮説を支持する証拠が十分として通過させます。境界は誤採用率の設定alpha=0.05と誤不採用率の設定beta=0.1から定まり、今回は上限約2.89037・下限約−2.25129です。Eloは強さの差を点数で表す尺度で、標準的な換算では+4点は勝ち1点・引き分け0.5点とした期待得点率約50.58%に相当する小さな差です。これは今回測定したElo値ではなく、判定用仮説の説明です。 — 根拠: 実験計画、短時間対局試験の結果、長時間対局試験の結果
- 内部設定名のThreadsは対局の並行計算数で1、Hashは探索結果を保存して再利用するメモリ容量、CSARule24は今回の24点法のルール指定です。学習設定のthreads=16はデータを読む側の並行処理数であり、対局側のThreads=1とは別です。ft-factorizeは今回の特徴の因子分解、ft-outは入力特徴を変換する層の出力数、l1/l2は続く層の出力数です。bucket-mode=progress8kpabsは局面の進み具合で8組の計算部分を使い分ける既定の方式を選ぶ内部名です。wrm-nnue2scoreは勝率に基づく学習でモデル出力を評価点へ換算する倍率です。これらのうち今回明示的に変えた設定は付録の変更欄に記録しました。 — 根拠: 実験計画、使用ソースコードの記録
- 公開監査とは、記載した方法、勝敗、判定境界、公開ソースコードの版の整合性を読者が確認することです。非公開データの中身を公開しているという意味ではありません。JSONは項目名と値を組にして記録するコンピューター向けの形式です。付録のlayerstackは層を積み重ねるモデル構成、goal-rating-policy-v3は固定対局規則の第3版、canonical-yaneuraou-csarule24-v1は24点法のルール識別名です。promoteは採用、ltc_native_passは長時間試験が通常の統計判定で合格したこと、public_outcome_labelは公開用の採否ラベル、reason_codeは判定理由の内部コード、evidence_catalogは根拠となる記録の一覧です。locally_exact_verifiedは運用側が記録の同一性を照合済み、private_not_publishedは非公開で掲載しないという意味です。 — 根拠: 実験計画、使用ソースコードの記録、学習完了記録
解釈
- 共通の駒特徴を学習時に追加した今回の継続学習は、固定条件で追加学習前のモデルを上回る採用基準を満たしました。この特徴共有の考え方自体は既存手法であり、新しい方式の発明を示すものではありません。 この解釈が誤りだと分かる条件 (反証条件): 別の学習乱数による追試や、同じ追加学習で特徴の因子分解だけを無効にした候補との直接比較で改善が得られなければ、この方式の効果に関する解釈を見直します。
実験前の予想に対する判定: 支持。今回の結果が実験前の予想を支持したことを表します。
限界
- 測定範囲: 対照モデルには追加学習を行っていません。測定したのは、特徴の因子分解、指定した学習率、学習量、状態初期化を組み合わせた追加学習全体の効果です。特徴の因子分解を使わず同じ条件で追加学習した候補との直接対局ではないため、この機能だけの効果を分離した結果ではありません。 — 根拠: 実験計画、学習完了記録、短時間対局試験の結果、長時間対局試験の結果
- 他の条件への適用可能性: 追加学習は一回だけです。別の学習乱数、初期モデル、対局条件で同じ改善が得られるとは限りません。入玉局面だけの成績や、学習データ生成時の探索量は今回独立に検証していません。 — 根拠: 学習完了記録、短時間対局試験の結果、長時間対局試験の結果
- 測定範囲: 開始局面、学習データ、評価モデルは非公開のため、記事だけで計算全体を再現することはできません。公開するのは方法、観測値、採否を確認するための情報です。 — 根拠: 実験計画、学習完了記録
結果を後から検証するための情報
- 対局の開始局面集、学習データ、今回の候補と現在の比較基準に使った学習済み評価モデル: 非公開
- 運用者は、実験結果を後から検証できるように、元データ、実行記録、判定記録などの検証資料を非公開で保持しています。公開する監査記録は、実験証拠を決まった形式で記録した検証用記録のSHA-256と結び付いています。
- SHA-256は、元の内容を復元せず、二つのファイルが同じ内容か照合するための固定長の値です。認証情報、非公開データ、内部パスは公開せず、検証用記録のSHA-256だけを掲載します。
- 公開範囲は、実験方法、観測値、採否を第三者が確認するための情報です。非公開資料が必要なため、ブログ読者が計算を完全に再現することは完了条件にしていません。
- 公開識別子は、この記事と公開用の実験記録を対応させるための文字列です:
goal-e0c10e9c03ea4a2394ec1a2a9893068a - 非公開の監査用記録のSHA-256:
b250ceb98413e1343c9d71b292d30004d1d939899c5200839dd79d9e8ed3b713 - 公開項目一覧 (公開する項目を一覧にした検証記録) のSHA-256:
09c6b6e5e84a48d75174bb53da589b95c73628b9cf2277123bb9abbb775f9beb
次の実験
- 仮説: 最新のやねうら王の探索処理と採用中の探索処理を、同じ評価モデル、2スレッド、1手1秒で比較すると、現在の固定試験とは異なる強さの差が現れる可能性があります。スレッド数は並行して計算する処理の数です。
- 変更: 運用者の優先提案に従い、この条件で比較する次の計画を検討します。使用するソースコードの版と新しい採用モデルを固定し、対局規則と実際の持ち時間が一致することを実行前に検証します。現行規則の変更と事前検証が必要であり、ここで実行済みとは扱いません。 1手1秒は1回の着手判断に与える実時間の設定を意味し、初期持ち時間への1秒加算とは区別します。並列計算は複数の処理を同時に進めることです。時間切れは制限時間超過、反則手は将棋のルール上指せない手、エンジン異常はプログラム停止などの実行上の障害を指します。
- 理由: 探索は先の手順を調べる処理、評価モデルは調べた局面の良し悪しを数値化する部分です。同じ評価モデルを使うことで、異なるモデルの強さを探索処理の差と取り違えることを避けます。
- 結果に影響し得る別の要因: 探索処理の違いが強さの差を生む可能性があります。 / 並列計算や持ち時間管理の違いが成績に影響する可能性があります。 / 運用者が別条件で観測した差が、今回の共通モデルでは現れない可能性があります。
- 成功条件: 事前に固定する対局規則と予算に従って勝敗、対局数、強さの差と95%信頼区間、時間切れ、反則手、エンジン異常を確認します。比較結果を採用判断に使う条件も、実行前に定めます。 95%信頼区間は推定の不確かさを表す区間で、同じ手順を何度も繰り返したときに真の値を含む割合が95%となるよう構成します。逐次停止など、計算上の前提と実際の試験との違いも明記します。
技術付録
内部設定と公開検証記録を表示
以下の内部IDとパラメーターは、公開ソースコードと実験記録を照合するために掲載します。実験の結論を読むだけなら、この表を逐語的に理解する必要はありません。
- 学習設定一式の内部識別子:
tatara-loss-pow-2.75-training-data-nodes1000-ensemble-production-v1 - ネットワーク構造の内部名:
layerstack - 測定方針 / 対局ルールの内部識別子:
goal-rating-policy-v3/canonical-yaneuraou-csarule24-v1 - 判定 / 判定理由の内部コード:
promote/ltc_native_pass
| 区分 | 内部パラメーター名 | 値 | 日本語での意味 |
|---|---|---|---|
| 候補側 | ft-factorize |
True |
実装内部の設定。正確な意味は公開ソースコードで確認できます |
| 候補側 | lr |
4.375e-05 |
実装内部の設定。正確な意味は公開ソースコードで確認できます |
| 固定 | batch-size |
16384 |
1回の重み更新でまとめて扱う局面数 |
| 固定 | batches-per-superbatch |
6104 |
一つの大きな学習区間に含める更新単位数 |
| 固定 | bucket-mode |
progress8kpabs |
局面を進行度などでグループ分けする方法 |
| 固定 | ft-out |
768 |
駒の配置を数値特徴へ変換した直後に出力する特徴数 |
| 固定 | l1 |
8 |
変換後の特徴を受け取る第1隠れ層のニューロン数 |
| 固定 | l2 |
32 |
第1隠れ層の出力を受け取る第2隠れ層のニューロン数 |
| 固定 | num-buckets |
8 |
局面を分けるグループ数 |
| 固定 | scale |
600 |
学習値と評価値を対応させる倍率 |
| 固定 | superbatches |
400 |
実行する大きな学習区間の数 |
| 固定 | threads |
16 |
学習または対局計算に使うCPU処理列数 |
| 固定 | win-rate-model |
True |
評価値と勝率の関係も学習する設定 |
| 固定 | wrm-nnue2score |
600 |
勝率学習でNNUE評価値を変換する倍率 |
| 対局 | engine\_options |
Threads=1 Hash=128 option.EnteringKingRule=CSARule24 |
対局時の思考エンジン設定一式 |
コンピューターが読み取れる公開検証記録
以下は、第三者が実験結果を確認でき、コンピューターでも実験条件と結果を照合できるように、項目名と値を並べた標準的なテキスト形式 (JSON) で作った記録です。英語の値は内部コードであり、その意味は上の各節で説明しています。JSONのコードブロックはコンピューターによる照合用の付録なので、読者が各キーを逐語的に理解する必要はありません。private_not_published は「非公開で掲載していない」という意味です。
候補IDと比較基準IDは、この公開記録の中で二者を区別するためだけに割り当てた公開用ラベルです。非公開モデルのファイル名、保存場所、内容のSHA-256ではなく、それらを手掛かりに非公開モデルを取得することもできません。private_artifacts には、非公開物の種類と非公開であることだけを記録し、個別の非公開物を識別する名前は含めていません。
| JSONの項目名 | 日本語での意味 |
|---|---|
schema_version / profile_id / report_kind |
記録形式の版、種類、用途 |
publication_key |
記事と公開記録を対応付ける公開識別子 |
disclosure |
何を公開し、何を非公開にするか |
artifact_policy |
開始局面、学習データ、モデルを非公開にする方針 |
reproduction_scope |
完全再計算ではなく、方法と結果の確認を公開範囲とする方針 |
execution |
学習の開始・終了、所要時間、学習量 |
effective_positions |
学習中に処理した累計局面数 |
optimizer_updates |
モデルの重みを更新した回数 |
experiment |
実験の公開用ラベルと開始・終了日時 |
candidate_id / champion_id / base_id |
候補と比較基準を区別する公開用ラベル |
hardware / software |
使用した計算機器とソフトウェア |
observations |
勝敗数や統計判定値などの観測結果 |
policies / rating_contract |
学習・対局・統計判定で事前に固定した規則 |
private_artifacts |
非公開物の種類と、非公開であることだけを示す一覧 |
repositories |
公開ソースコードの場所と版 |
resolved_arguments |
今回変更した公開可能な設定値 |
internal_evidence_receipt_sha256 |
非公開の監査用記録が変わっていないか照合する値 |
{"disclosure":{"artifact_policy":"opening_training_data_and_models_are_private_not_published","reproduction_scope":"article_supports_method_and_result_audit_but_not_full_computational_reproduction"},"execution":{"duration_seconds":16446.868,"effective_positions":40003174400,"ended_at":"2026-09-10T12:20:16.186Z","mode":"trained","optimizer_updates":2441600,"recipe_id":"tatara-loss-pow-2.75-training-data-nodes1000-ensemble-production-v1","stage_count":1,"started_at":"2026-09-10T07:46:09.318Z"},"experiment":{"candidate_id":"goal-candidate-e0c10e9c03ea4a2394ec1a2a9893068a","champion_id":"goal-champion-207380a3787b4a26831fef29ed2c12cd","ended_at":"2026-09-11T04:55:50.527516Z","experiment_id":"e0c10e9c-03ea-4a23-94ec-1a2a9893068a","started_at":"2026-09-10T07:33:54.313132Z"},"hardware":[{"name":"gpu","value":"NVIDIA GeForce RTX 4090"}],"internal_evidence_receipt_sha256":"b250ceb98413e1343c9d71b292d30004d1d939899c5200839dd79d9e8ed3b713","observations":[{"metric":"draws","observation_id":"ltc-draws","stage":"ltc","unit":"games","value":1039},{"metric":"games","observation_id":"ltc-games","stage":"ltc","unit":"games","value":11832},{"metric":"llr-current","observation_id":"ltc-llr-current","stage":"ltc","unit":"llr","value":2.9274886657171986},{"metric":"llr-lower","observation_id":"ltc-llr-lower","stage":"ltc","unit":"llr","value":-2.251291798606495},{"metric":"llr-upper","observation_id":"ltc-llr-upper","stage":"ltc","unit":"llr","value":2.8903717578961645},{"metric":"losses","observation_id":"ltc-losses","stage":"ltc","unit":"games","value":5246},{"metric":"wins","observation_id":"ltc-wins","stage":"ltc","unit":"games","value":5547},{"metric":"draws","observation_id":"stc-draws","stage":"stc","unit":"games","value":1431},{"metric":"games","observation_id":"stc-games","stage":"stc","unit":"games","value":31936},{"metric":"llr-current","observation_id":"stc-llr-current","stage":"stc","unit":"llr","value":2.9765664908066274},{"metric":"llr-lower","observation_id":"stc-llr-lower","stage":"stc","unit":"llr","value":-2.251291798606495},{"metric":"llr-upper","observation_id":"stc-llr-upper","stage":"stc","unit":"llr","value":2.8903717578961645},{"metric":"losses","observation_id":"stc-losses","stage":"stc","unit":"games","value":15039},{"metric":"wins","observation_id":"stc-wins","stage":"stc","unit":"games","value":15466}],"policies":[{"name":"rating-policy","version":"goal-rating-policy-v3"},{"name":"training-catalog","version":"goal-training-catalog-v2"}],"private_artifacts":[{"availability":"private_not_published","role":"candidate_model","stage_index":null,"verification":"locally_exact_verified"},{"availability":"private_not_published","role":"champion_model","stage_index":null,"verification":"locally_exact_verified"},{"availability":"private_not_published","role":"opening","stage_index":null,"verification":"locally_exact_verified"},{"availability":"private_not_published","role":"training_data","stage_index":1,"verification":"locally_exact_verified"}],"profile_id":"goal-public-audit-manifest-v3","publication_key":"goal-e0c10e9c03ea4a2394ec1a2a9893068a","rating_contract":{"alpha":0.05,"base_id":"goal-champion-207380a3787b4a26831fef29ed2c12cd","beta":0.1,"candidate_id":"goal-candidate-e0c10e9c03ea4a2394ec1a2a9893068a","elo0":0.0,"elo1":4.0,"game_budget":131072,"opening_availability":"private_not_published","policy_id":"goal-rating-policy-v3","rule_profile_id":"canonical-yaneuraou-csarule24-v1","time_control":"40.0+0.4"},"report_kind":"rating_experiment","repositories":[{"commit":"8b40493ccc5b0f22afea1fa6b951d183b87b3ea5","public_url":"https://github.com/nodchip/tatara","ref":"refs/tags/autotune/experiments/e0c10e9c-03ea-4a23-94ec-1a2a9893068a","repository_id":"tatara"}],"resolved_arguments":[{"name":"stage-01.ft-factorize","value":true,"value_type":"boolean"},{"name":"stage-01.lr","value":4.375e-05,"value_type":"number"}],"schema_version":3,"software":[{"name":"tatara-source","public_locator":"https://github.com/nodchip/tatara","version":"8b40493ccc5b0f22afea1fa6b951d183b87b3ea5"}]}





