コンテンツにスキップ

実行フォルダ

構成

runs/<名前>/
├── config.yaml            常に     すべて解決済みの設定
├── environment.json       常に     バージョン、gitのcommit、Python、OS、ハードウェア、シード、設定
├── model.json             常に     {"id": …, "revision": …}
├── metrics.json           常に     状態、run_id、主な結果
├── last_failure.json      場合による  一度完了したrunの、失敗した再試行
├── .execution.lock        実行中   runを担当するプロセスが持つ
├── logs/
│   └── openternary.log
├── artifacts/             モデルのsnapshot、チェックポイント、キャッシュ
└── <結果のファイル>       コマンドごとに1つ(下記)

名前の付け方

--output フォルダ
指定なし runs/<YYYY-MM-DD>_<モデル名>-<方式>-g<グループサイズ>(例: runs/2026-11-03_tiny-llama-naive-g128)
指定あり そのパス

フォルダがすでにあれば、-001・-002 … を付けます。既存のフォルダにrunを書くことはありません。例外は復旧のコマンド(calibrate --resume・--finalize・--materialize-only)で、これらはあえて --output を使い回します。複数のプロセスが同時に始めても名前が衝突しないよう、runs/.run.lock というロックファイルを使います。

共通のファイル

config.yaml

実際に使った設定で、フラグ・YAML・既定値を合わせたものです。すべてのキーを含むので、--config に渡せばrunを繰り返せます。設定を参照してください。

environment.json

キー
run_id 16進数8文字。runごとに一意
timestamp 開始時刻(UTC、ISO 8601)
openternary_version 例: 0.1.0a2
python_version・python_executable 実行したインタープリタ
uv_lock_hash 作業フォルダの uv.lock のSHA-256の先頭16桁、なければ unknown
git_commit・git_branch・code_provenance gitのチェックアウトから実行した場合のソースのrevision
seed・PYTHONHASHSEED シード
config 設定(config.yaml と同じ)
hardware プラットフォーム、プロセッサ、メモリ(GB)、GPUの名前、CUDA/ROCmが使えるか

metrics.json

常に status と run_id があります。

status 意味
not_run 作っただけで、まだ何も終わっていない
completed コマンドが最後まで動いた(品質の判定ではない)
failed 失敗した。error_message と exit_code が加わる
interrupted 中断された(終了コード130)

完了したrunには、そのコマンドの主な数値(量子化の要約や校正の損失など)が加わります。一度完了したrunを再試行して失敗した場合、metrics.json は前の結果を残し、今回の失敗は last_failure.json(失敗した metrics.json と同じ項目)に書きます。

コマンドごとの結果のファイル

コマンド 結果のファイル 主な内容
inspect inspection.json アダプタ、構造、全テンソル(name・shape・dtype・param_count・role・quantizable・exclude_reason)、要約、メモリの見積もり、fingerprint
quantize quantization.json 設定、テンソルごとの統計、グループの総数、contentのfingerprint、ビットの集計(packed_estimate)
calibrate calibration.json 方式と設定、層ごとの損失、学習用・ホールドアウトの結果、汚染の確認、VRAMのピーク、データの来歴
benchmark benchmark.json suiteとprotocolのfingerprint、プロンプトごとのトークンと文章、結果のfingerprint、レイテンシ、トークン毎秒、資源
quality quality.json レポートschema 3: 同一性、手順、データセットのfingerprintと監査、言語ごとのパープレキシティ、指示の結果、summary、資源、測定環境
evaluate evaluation.json profile、画像(ハッシュ・時間・画素の統計)、human_review_required
compare compare.json・acceptance.json 一致の確認、プロンプトごとの差分または品質の変化、判定
optimize search.json(+journal、候補のフォルダ) すべての候補の測定値と適格性、結果

quality.json の summary には、Gateが使う4つの数値、general_ppl・japanese_ppl・instruction_score・ collapse_count があります。

成果物

成果物は、manifest付きのモデルのフォルダです。runの中では artifacts/snapshot(quantize)または artifacts/calibrated_snapshot(calibrate)にあります。export の出力は、runではなく独立した成果物のフォルダです。

<成果物>/
├── openternary-manifest.json     形式、schema、来歴、全ファイルのSHA-256
├── config.json・トークナイザのファイル・chat template・generation_config.json   元からコピー
├── openternary-fixture.json      人工のテストモデルにだけある。品質の証拠としては決して受け入れない
│
│   safetensorsのsnapshot:
├── model-00001-of-0000N.safetensors
├── model.safetensors.index.json
├── quantization.json
│
│   ternary-packed:
├── packed.json                   符号・scale・形・詰め物の配置
└── tensors/000000.safetensors …  テンソルごとに1ファイル

manifestには、schema_version・format・execution・artifact_validation・model_reload・quality_acceptance、元とそのインターフェース(トークナイザとprocessorのファイル)、設定、backend、アダプタ、component、pass、コードのハッシュ、全ファイルのハッシュと大きさ、それまでの変換の履歴が記録されます。openternary artifacts validate は、成果物をこれと照合します。

校正で増えるもの

artifacts/
├── calibrated_snapshot/   結果
├── checkpoint/            module_00000.pt など: 再開用の状態(ハッシュのmanifest付き)
├── calibration_state/     層ごとの学習済みパラメータ(safetensors)
├── activation_cache/      記録したteacherの活性値(activation_cache_train/・activation_cache_held/ も)
└── threshold_metrics.jsonl

活性値のキャッシュはモデルよりずっと大きくなることがあります。runを再開したり、キャッシュを再利用したりする必要がなくなったら削除して構いません。