開発ログ

Version・Run Manifest・Rollbackの正式ルールを定める

まず概要

研究結果だけが残っていても、その結果が「何を使って、どの条件で出たのか」を追えなければ再現できません。

今回、code commit・config version・feature version・dataset authority・model versionをVersion Identityとして明示し、実行条件をRun Manifestへまとめる共通ルールを固定しました。

さらに、Manifestの内容やVersionが変化した場合はSHA-256 identityで検出し、Run lineageの欠損や循環をFail Closedにします。

Rollbackについても、戻り先を一意に登録されたcertified known-good stateに限定しました。

何を変えたか

研究Runごとに、Version IdentityとRun Manifestを明示的に構成できるようにしました。

Run Manifestには、run identity、Version Identity、evaluation authority、seed、parameters、artifact references、必要に応じてparent run lineageを保持します。

これにより、研究結果が「どのVersion群・評価条件・実行条件から作られたか」を同じ形式で追跡できます。

なぜ必要か

コード、設定、特徴量、データ定義、モデルのどれかが変われば、見かけ上は同じ実験名でも中身は異なる可能性があります。

結果だけを保存しても、その構成要素が特定できなければ、後から同じ条件を再現することはできません。

今回のAuthorityでは、研究結果の構成要素そのものをVersion Identityとして固定し、Run単位で記録します。

Manifest integrityとRun lineage

Run Manifestは決定的なSHA-256 identityを持ちます。

内容やVersionが変わればidentityも変わるため、異なるManifestを同じものとして扱うことを防ぎます。

また、parent runが存在しない場合やlineageが循環する場合はFail Closedにします。

Rollback Authority

Rollbackは任意の古い状態へ戻す操作として扱いません。

戻り先として認められるのは、一意に登録されたcertified known-good stateだけです。

未認証、superseded、current state、未登録、Registry不一致の状態はRollback先として拒否します。

現在の状態

Version Identity、canonical Run Manifest、Manifest integrity、Run lineage、Rollback判定を後続工程から再利用できる共通Authorityとして固定しました。

この工程では、予測性能・収益・精度の向上そのものは主張していません。

次は、研究結果をどの条件で公開し、どんな結果が新しい開発タスクへ分岐するのか、その研究公開・タスク分岐ルールを固定します。

全体ロードマップを見る →

← 開発ログへ戻る

掲載内容は、その時点の開発・検証記録です。将来の利益や的中を保証するものではありません。