|
Download README.md from qiuly/OpenWAM-3sys: direct link, hf CLI and curl.
- Browser
- Download file 22.4 kB
-
https://huggingface.co/qiuly/OpenWAM-3sys/resolve/main/README.md
- Command line
-
hf download hf://qiuly/OpenWAM-3sys/README.md
-
curl -L -o README.md https://huggingface.co/qiuly/OpenWAM-3sys/resolve/main/README.md
22.4 kB
| license: other | |
| license_name: mixed-upstream-model-licenses | |
| license_link: LICENSE | |
| tags: | |
| - robotics | |
| - world-model | |
| - openwam | |
| - safetensors | |
| language: | |
| - en | |
| - zh | |
| # OpenWAM-3sys checkpoint archive (Run1–Run47) | |
| **Built on NVIDIA Cosmos.** | |
| Public research archive of 47 final LIBERO SFT policies, three WAM pretraining policies, | |
| 10 independent S-VAE artifacts and one VideoRAE encoder fine-tuning artifact. | |
| Shared frozen components are stored once; the included tools reconstruct each | |
| original policy checkpoint byte-for-byte. Original tensor precision is preserved. | |
| This is an archive format, not a standalone Transformers `from_pretrained` model. | |
| Inference requires a compatible OpenWAM checkout and its benchmark environment. | |
| Upstream components retain their respective licenses. Read [LICENSE](LICENSE), | |
| [NOTICE](NOTICE) and [component attribution](THIRD_PARTY_LICENSES.md). | |
| The `private/` folders contain per-run parameters. This repository and every | |
| uploaded file are public; directory names do not control access. | |
| The current publication is complete only after `PUBLICATION_COMPLETE.json` appears. | |
| That marker records the verified data revision; `publication-manifest.json` lists | |
| the exact source files and their SHA-256 checksums. | |
| ## Research snapshot frozen on 2026-10-01 | |
| The source project is paused at | |
| [`d-finite/OpenWAM-3sys`, commit `720453bb03a9a4706f03c0913dd178b3fa9361b6`](https://github.com/d-finite/OpenWAM-3sys/commit/720453bb03a9a4706f03c0913dd178b3fa9361b6). | |
| The GitHub source remains private. The Hugging Face archive retains its existing public visibility. | |
| The 2026-10-01 addition contains Run41–Run47 at SFT step 10690 and Run42 pretraining | |
| at step 20953. The original training completion records are included with each entry. | |
| Run41 and Run44 initialize from `pretrain/run23`; Run42 and Run43 initialize from | |
| `pretrain/run42`; these four SFT runs and the new pretrain use `svae/run23`. | |
| Run45, Run46 and Run47 have no S-VAE/pretrain dependency in this catalog. | |
| The initial Run1–Run40 catalog entries are unchanged. Training source paths in | |
| configuration and provenance records are historical. Restore checkpoints through | |
| the archive tools before using them; the old development/output directories have | |
| been retired. The default evaluation source path is now | |
| `/mnt/data/limingleyang/OpenWAM-3sys`. | |
| RoboTwin checkpoints were explicitly excluded and deleted at the owner's request. | |
| Optimizer states and smoke/intermediate checkpoints are not part of this backup. | |
| Import, integrity, restoration and publication evidence is under | |
| `migration/retirement-20261001/`. CPU loading checks do not imply a new GPU forward | |
| or closed-loop evaluation. Private code bundles and historical development logs | |
| are kept locally with the Git repository, outside this public model archive. | |
| ## Download and evaluate | |
| ```bash | |
| hf download qiuly/OpenWAM-3sys --local-dir ./checkpoints | |
| python3 ./checkpoints/tools/checkpoint_archive.py list | |
| python3 ./checkpoints/tools/checkpoint_archive.py verify --workers 8 | |
| python3 ./checkpoints/tools/checkpoint_archive.py eval run47 --repo /path/to/OpenWAM-3sys | |
| ``` | |
| `eval` restores a complete checkpoint outside the archive before calling the | |
| OpenWAM LIBERO evaluation entry point. Keep the normalization statistics, | |
| configuration and tokenizer files. The original Run1–Run40 loading checks used | |
| source revision `cc4bf0c6bd3e016723c0b4050cd93b7d5c827ef6`. The retirement checks | |
| for Run41 and Run47 use final main revision `720453bb03a9a4706f03c0913dd178b3fa9361b6` | |
| from [OpenWAM-3sys](https://github.com/d-finite/OpenWAM-3sys). Access to that | |
| private source repository and installation of its runtime are separate from this | |
| model archive. CPU loading and evaluation dry-run checks are documented below; | |
| they are not new closed-loop benchmark results. | |
| # OpenWAM checkpoints:存放、增量归档与评测 | |
| 此目录是可整体迁移的 checkpoint 归档,公开发布于 [qiuly/OpenWAM-3sys](https://huggingface.co/qiuly/OpenWAM-3sys)。默认位置为 | |
| `/mnt/data/limingleyang/checkpoints`,但目录内部的运行依赖全部使用相对于归档根目录的路径。 | |
| **给后续 agent:先读本文件。新实验使用 `tools/checkpoint_archive.py add-policy` / `add-model` 追加归档,评测使用 `eval run编号`。不要手工覆盖 `catalog.json`,不要用软链接或硬链接,不要直接把 `private/weights.safetensors` 当成完整 checkpoint。** | |
| ## 1. 目录与格式 | |
| ```text | |
| checkpoints/ | |
| ├── README.md | |
| ├── catalog.json | |
| ├── shared/<组件名>/<内容标识>/ | |
| │ ├── model.safetensors | |
| │ └── component.json | |
| ├── pretrain/ | |
| │ ├── run23-2sys-pretrain-dinov3-patch2-pretrain/ | |
| │ ├── run39-3sys-pretrain-dinov3-patch2-pretrain/ | |
| │ └── run19_2sys_scratch_videorae_ft-encoder/ | |
| ├── svae/ | |
| │ ├── runXX-<训练名称>-svae/ | |
| │ └── _components/<内容标识>/ # policy 内保存的精确 S-VAE tensor | |
| ├── sft/runXX-<训练名称>/ | |
| ├── tools/ | |
| │ ├── checkpoint_archive.py # 日常增量存放、检索、校验、还原、eval | |
| │ ├── test_checkpoint_archive.py | |
| │ └── import_run1_run40.py # 本次一次性迁移记录,不用于新增 run | |
| └── migration/ # 本次来源盘点、复制校验、清理审计 | |
| ``` | |
| 每个 policy run 目录包含: | |
| ```text | |
| checkpoint.index.json | |
| private/ | |
| ├── weights.safetensors # 该 run 独有的参数,非完整模型 | |
| └── assets/ # 原来的 config、stats、tokenizer、结构文件 | |
| ├── config.yaml | |
| ├── normalization_stats.npy # SFT 必需;pretrain 按原产物保留 | |
| ├── reason1/ | |
| ├── vlm_expert/ # 三系统时存在 | |
| └── ... # dinov3、videorae、S-VAE config 等 | |
| ``` | |
| 独立 S-VAE / encoder 的原始 `.pt`、配置和数据统计保存在自己的 `private/` 中; | |
| 采样/特征统计等来源证据保存在 `private/collection/`。`.pt` 原始精度与训练元数据不丢弃。 | |
| policy 内的 bf16 S-VAE 和独立训练产物的 fp32 S-VAE 分别保存,不能互相代替。 | |
| `private/` 的含义只是“该 run 自己的文件”。本仓库为 public,所有文件均可公开下载,没有单独的保密分区。 | |
| ### catalog 与 index | |
| - `catalog.json`:`schema_version: 1`,`entries` 以 `sft/run40`、`pretrain/run23`、`svae/run11` 等为 key。 | |
| 记录原名、阶段、最终 step、index 路径与 SHA-256、原始来源、S-VAE/pretrain 依赖。 | |
| - `checkpoint.index.json`:记录每个 tensor 属于哪个真实文件、文件 SHA-256、原始 checkpoint header 和完整文件 SHA-256。 | |
| 因此拆分归档可以**逐字节还原原始完整 safetensors**,而不仅是得到数值相近的模型。 | |
| - `shared/` 和 `svae/_components/` 按 tensor 名称、dtype、shape、完整字节哈希生成内容标识。 | |
| 同名模型只要任何 tensor 不同,就会保存成不同组件。没有“名称相同就跳过复制”的逻辑。 | |
| - 来源绝对路径只用于 provenance。实际读取权重按归档根目录加相对路径定位,不需要旧训练目录仍然存在。 | |
| - 原始训练配置与 complete/collection 文件保持原样,其中的旧路径是历史记录; | |
| 找依赖请使用 catalog,继续训练时显式指定还原后的 checkpoint,不要照抄旧的 `training.*_ckpt_path`。 | |
| ## 2. 先检索,再评测 | |
| 管理工具只需要 Python 3.9+ 标准库,适用于 Linux/macOS。实际模型加载/评测需要正常的 OpenWAM 代码与评测环境。 | |
| ```bash | |
| ARCHIVE=/mnt/data/limingleyang/checkpoints | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" list | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" resolve run40 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" resolve run23 --stage pretrain | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" resolve svae/run11 | |
| ``` | |
| 移动归档后,调用新位置的脚本即可;也可以显式传 `--root /新的/checkpoints`,放在子命令之前。 | |
| `run1` 与 `run01` 的 policy 检索等价。不要根据目录修改时间选择 checkpoint。 | |
| ### 最短 eval 命令 | |
| ```bash | |
| python3 /mnt/data/limingleyang/checkpoints/tools/checkpoint_archive.py eval run40 | |
| ``` | |
| 该命令:读取 catalog → 校验和还原完整 checkpoint/所有 deploy sidecars → 调用 | |
| `/mnt/data/limingleyang/OpenWAM-3sys/scripts/libero/eval.sh`。 | |
| 原始 OpenWAM loader 无需改代码。wrapper 不启动训练,LIBERO 与 LIBERO+ 行为由现有 eval.sh 决定。 | |
| ```bash | |
| # 只核对现有 eval 工作流的启动计划,不启动模型评测。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" eval run40 --dry-run | |
| # 指定另一份 OpenWAM checkout。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" eval run40 \ | |
| --repo /path/to/OpenWAM-3sys | |
| ``` | |
| `--dry-run` 仍会准备并校验本地完整 checkpoint;通过启动计划不代表 GPU forward 或闭环评测通过。 | |
| wrapper 保留 `EVAL_LIBERO`、`EVAL_SMOKE`、`NNODES`、`NODE_RANK`、`EVAL_LAUNCH_ID`、 | |
| `OPENWAM_LIBERO_OUTPUT_ROOT`、`OPENWAM_LIBERO_VENV_BIN` 等现有脚本环境变量。 | |
| 多节点例子(每个节点启动一次,NODE_RANK 分别设 0、1;同一轮使用相同且唯一的 EVAL_LAUNCH_ID): | |
| ```bash | |
| NNODES=2 NODE_RANK=0 EVAL_LAUNCH_ID=run40-archive-retest-01 \ | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" eval run40 | |
| ``` | |
| 每次新评测换一个 launch id。wrapper 默认 `EVAL_RUN_NAME=<run名称>_step<最终step>`; | |
| 要保留多轮结果,请显式设置不同的 `EVAL_RUN_NAME`。 | |
| ### 还原缓存与其他 benchmark / finetune | |
| 默认完整文件缓存位于归档旁边的 `checkpoint_eval_cache/<run>/<index哈希>/`,不进入上传目录。 | |
| 还原使用独立实文件及文件锁;多个节点同时启动时不会并发写坏同一个缓存。重复使用前会校验缓存文件。 | |
| 可通过 `--cache-root` 或 `OPENWAM_CHECKPOINT_EVAL_CACHE` 改位置。 | |
| ```bash | |
| # 只还原,不启动评测。输出目录必须不存在,或是该 index 已验证的缓存。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" materialize run40 \ | |
| --output /mnt/data/limingleyang/checkpoint_eval_cache/manual-run40 | |
| # 还原 WAM pretrain,供训练脚本 finetune 使用。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" materialize run23 --stage pretrain \ | |
| --output /mnt/data/limingleyang/checkpoint_eval_cache/pretrain-run23 | |
| # 还原独立 S-VAE 原始 .pt、配置及来源统计。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" materialize svae/run11 \ | |
| --output /mnt/data/limingleyang/checkpoint_eval_cache/svae-run11 | |
| ``` | |
| 输出根目录内会恢复原始 `checkpoint_step_N.safetensors`、`config.yaml`、`normalization_stats.npy` | |
| 及原有子目录,可直接交给现有 benchmark loader。使用结束且无进程依赖它时,缓存可独立删除、随时从归档重建。 | |
| 不要把展开后的大文件反向复制进 `checkpoints/`。 | |
| ## 3. 新 run 的存放规则:增量追加 | |
| 1. 为新实验分配新的 run 编号,保留配方名称。名称允许字母、数字、下划线、点、连字符,必须以该 run 编号开头。 | |
| 工具把 `run1` 规范为 `run01`;run41、run100 等没有上限。 | |
| 2. **只归档已结束训练的最终 checkpoint。** 先确认训练完成、最终 step 和元数据齐全,不能把最大 step 自动当作训练成功。 | |
| 3. 先归档新 S-VAE / encoder,再归档 pretrain,最后归档 SFT。复用旧依赖时直接引用 catalog 中已有 ID。 | |
| 4. 同一 `(stage, run_id)` 只接受一个最终 checkpoint,已经发布的条目不可覆盖。 | |
| 完全相同的 checkpoint、依赖和元数据可重复导入;出现差异会拒绝。改变实验配方或重新训练应使用新的 run 编号。 | |
| 5. 新 run 不需要改老 run 的文件,也不需要重新打包全部历史模型。工具自动复用内容相同的共享组件。 | |
| 6. 所有输入都复制;旧源文件不由 `add-*` 删除。完成对应 verify 后再单独清理旧源目录。 | |
| ### 新 S-VAE / encoder | |
| 以下以 run41 为示例,路径和名称替换为该次训练实际产物: | |
| ```bash | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" add-model \ | |
| --id svae/run41 --name run41-dinov3-pretrain-svae \ | |
| --source-dir /mnt/data/limingleyang/新实验/svae48 \ | |
| --files svae.pt config.yaml complete.json \ | |
| --extra-file collection/stats.pt=/mnt/data/limingleyang/新实验/features/stats.pt | |
| ``` | |
| `--files` 必须逐一指定真实存在的相对路径,没有 `complete.json` 时不要虚构它。 | |
| 保存最终模型、配置、input/latent statistics、校准信息和用于解释产物的 manifest; | |
| 不把特征 shards、optimizer 中间状态、逐步 checkpoint 或原始数据集放入归档。 | |
| `--extra-file 归档内相对路径=原文件路径` 可以多次使用,用于关联采样/统计/来源记录。 | |
| encoder 微调可使用 `--id pretrain/run41-encoder`。部署用途保留最终选定的推理 export、结构配置和必需的统计量; | |
| 只有明确需要断点恢复时,才另外归档含 optimizer/RNG 的完整训练 checkpoint,并在 metadata 标明用途。 | |
| 已有条目保持原样;需要部署专用版本时另行复制、生成一致的 index/catalog 并验证,不覆盖历史归档。 | |
| ### 新 WAM pretrain | |
| ```bash | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" add-policy \ | |
| --run run41 --name run41-3sys-pretrain-dinov3 \ | |
| --stage pretrain \ | |
| --checkpoint /mnt/data/limingleyang/新实验/pretrain/checkpoint_step_20000.safetensors \ | |
| --svae svae/run41 \ | |
| --share-frozen-decoder | |
| ``` | |
| `--share-frozen-decoder` 只在配置明确冻结 Qwen decoder 时使用;训练过 decoder 的 run 不传此选项。 | |
| 即使模型名相同,工具仍按实际 tensor 字节区分不同共享版本。新增/未知的参数前缀默认保存在该 run 的 private 权重中。 | |
| ### 新 SFT:复用已存在的 pretrain/S-VAE | |
| ```bash | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" add-policy \ | |
| --run run42 --name run42-3sys-from-run23-libero \ | |
| --stage sft \ | |
| --checkpoint /mnt/data/limingleyang/新实验/sft/checkpoint_step_10690.safetensors \ | |
| --svae svae/run23 \ | |
| --pretrain pretrain/run23 \ | |
| --share-frozen-decoder | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" verify --run run42 --reconstruct \ | |
| --report /mnt/data/limingleyang/run42-archive-verification.json | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" eval run42 --dry-run | |
| ``` | |
| `--svae` / `--pretrain` 是实际初始化依赖,没有使用则不传。跨编号复用合法,例如现有 run40 引用 pretrain/run23。 | |
| SFT 源 checkpoint 同目录必须有 `config.yaml` 与 `normalization_stats.npy`,并保留模型的结构/tokenizer 子目录。 | |
| 工具会复制 source checkpoint 目录中的部署元数据,排除 checkpoint_step 文件、accel_state、wandb、logs、eval 和 features 等中间目录。 | |
| ## 4. 校验、恢复与清理 | |
| ```bash | |
| # 全部文件校验 + 索引完整性 + 无软/硬链接检查。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" verify | |
| # 额外流式还原每个原始 checkpoint,核对原始完整 SHA-256,不写出 1 TB 展开副本。 | |
| python3 "$ARCHIVE/tools/checkpoint_archive.py" verify --reconstruct \ | |
| --workers 8 \ | |
| --report /mnt/data/limingleyang/archive-verification.json | |
| ``` | |
| `verify --run run42` 只检查选中的 run 及其依赖;不能把局部结果当成全目录检查。 | |
| `--reconstruct` 校验原始 header、每个 tensor、完整文件字节数和 SHA-256。 | |
| `--workers` 控制并行校验数量(默认 1);大目录可按机器 CPU / 存储能力设为 4 或 8。 | |
| 校验期间 catalog 如有追加会拒绝该次报告,请对新快照重新运行。 | |
| 原始权重与元数据字节保持一致,仍不等于完成了新的 GPU forward 或闭环评测。 | |
| 导入中的文件位于 `.staging/`,不会先写入 catalog。共享文件与 catalog 通过文件锁/原子替换发布。 | |
| 中断后先检查 `catalog.json`、`.staging/` 和错误日志:有完整条目时可校验后复用; | |
| 没有登记的 checkpoint.index.json 会使 verify 报错,必须对照源文件恢复或移走该次未发布事务,不能假装成功。 | |
| 共享但尚无引用的组件保留不会影响加载;不要依据“现在没有看到引用”直接手工删除它。 | |
| **清理顺序:复制 → 全部必要文件校验 → 原始字节等价验证 → eval 启动/加载检查 → 按明确清单删除旧文件。** | |
| 删除只针对完成归档的旧副本、明确的中间 checkpoint、optimizer state 和可再生特征缓存。 | |
| 历史配置/评测结果、原始数据集和未归档的其他实验不能靠通配符一并删除。 | |
| 后续 agent 如需清理新 run,应记录精确路径、大小和校验结果,清理前再确认没有仍在写入这些目录的任务。 | |
| 旧模型目录的 `ARCHIVED_TO.json` 指向新的 catalog 条目。旧特征目录留下的配置、manifest 和汇总统计是历史记录, | |
| 不代表特征 shards 仍然可用;新训练需要特征时应重新 collect 到新的缓存目录。 | |
| ## 5. 当前 run1–run40 的关系 | |
| - 40 个 SFT 最终 policy,2 个 WAM pretrain(run23/run39);run40 用 run23 pretrain。 | |
| - 10 个独立 S-VAE 来源文件、9 套模型参数。run34/run35 的参数相同,但训练元数据不同,因此保留两份原始 .pt/来源记录,policy 内的相同参数仅存一份。 | |
| - 另保留 run19 的 VideoRAE 最终训练状态、encoder export 和 latent statistics。 | |
| - 42 个 policy 中的 Reason1 完全相同;Qwen vision/embeddings、冻结 decoder、Wan VAE、DINOv3、V-JEPA、部分 VideoRAE 与 S-VAE 参数按内容共用。 | |
| - run24 的最终 step=42730,run30/run31=21370,其余 SFT=10690;pretrain/run23 和 pretrain/run39=20953。 | |
| - 原始来源、盘点与完整哈希见 `migration/`;最新执行状态看 `migration/status.json` 与验证/清理报告。 | |
| - 本次迁移的实际体积、验证范围和清理边界见 [迁移结果](migration/REPORT.md)。 | |
| S-VAE 引用表: | |
| | Catalog ID | 使用的 run | | |
| |---|---| | |
| | svae/run11 | 11、18、22、36 | | |
| | svae/run23 | 23、39、40 | | |
| | svae/run24 | 24、25、28、29 | | |
| | svae/run26 | 26、27 | | |
| | svae/run30 | 30、32 | | |
| | svae/run31 | 31、33 | | |
| | svae/run34 | 34 | | |
| | svae/run35 | 35,tensor 与 run34 相同,来源单独保留 | | |
| | svae/run37 | 37 | | |
| | svae/run38 | 38 | | |
| ## 6. Hugging Face 备份 | |
| 归档所有文件都是实文件,可以整体上传;不要只上传某个 run 的 private/,否则会缺共享依赖。 | |
| 公开 model repo 为 `qiuly/OpenWAM-3sys`。归档中的 private/ 表示单个 run 独有参数,不表示仓库访问权限。 | |
| 使用已配置认证的 Hugging Face 客户端,设置 `HF_REPO_ID` 为目标仓库后: | |
| ```bash | |
| hf upload "$HF_REPO_ID" /mnt/data/limingleyang/checkpoints . --repo-type model | |
| ``` | |
| 根目录 `.gitignore` 排除 `.staging`、运行锁、Python 缓存等临时内容。新增 run 后再次上传同一目录即可。 | |
| 迁移记录保留旧路径用于溯源;不收集 SSH 配置、API keys、认证 token 或原始训练数据。 | |
| 访问权限由 Hugging Face 仓库设置控制,目录名 private/ 不承担访问控制作用。当前仓库为 public。 | |
| 上传与下载方法参见 [Hugging Face 官方上传文档](https://huggingface.co/docs/huggingface_hub/guides/upload)。 | |
| ## 7. 体积与部署专用版本:2026-09-22 实测 | |
| 初始 Run1–Run40 目录约 **285.85 GB**(十进制 GB)。[体积审计](migration/deployment-size-audit.json) 读取实际文件、 | |
| safetensors header、index 中的 tensor 哈希及独立 `.pt` 的内容,未修改权重。 | |
| | 内容 | 实际体积 | | |
| |---|---:| | |
| | 40 个 SFT 的独有 safetensors | 244.63 GB | | |
| | 2 个 WAM pretrain 的独有 safetensors | 11.10 GB | | |
| | Reason1、冻结 Qwen、视觉编码器等 shared 权重 | 23.58 GB | | |
| | policy 使用的独立共享 S-VAE tensor 组件 | 1.06 GB | | |
| | 原始 `.pt`(S-VAE、encoder、run19 训练状态等) | 4.68 GB | | |
| | 配置、tokenizer、索引、来源记录、工具等其余文件 | 0.79 GB | | |
| 所有 safetensors 中,按 tensor 字节数计超过 **99.99% 已是 BF16**。例如 run40 的独有参数约 | |
| 5.55 GB,其中视频 DiT 约 4.12 GB、动作模型约 1.43 GB。训练过 VLM decoder 的 run 还需 | |
| 独有的约 2.82 GB decoder 参数。视频 DiT 参与部署时的联合去噪,不能因只输出动作就整块删除。 | |
| 40 个 SFT 和 2 个 WAM pretrain policy 不含 optimizer / 学习率 scheduler 的恢复状态; | |
| 10 个独立 S-VAE `.pt` 同样没有这些状态。唯一例外是 run19 encoder 的 `private/last.pt`: | |
| 完整文件 2.035 GB,其中两个 optimizer 的 tensor 合计 1.315 GB,另有模型、loss 和 RNG 等。 | |
| 部署 export `private/encoder.pt` 已单独保存,约 0.458 GB。 | |
| 可缩减范围必须区分保留目标,下面均为审计估算,**尚未生成新的部署目录**: | |
| - 保留所有 SFT、pretrain、独立 S-VAE 和 encoder 模型,仅排除 run19 的 `last.pt`:约 **283.81 GB**,节省约 0.7%。 | |
| - 只保留 40 个 SFT 的 index、参数与现有部署 sidecars:约 **269.91 GB**,节省约 5.6%。 | |
| 该数值保留嵌入 policy 的 S-VAE tensor,但不包含独立 fp32 S-VAE 产物、两个 pretrain policy 和独立 encoder 来源包。 | |
| 新 catalog、工具、组件说明等还会有少量开销;初始化依赖需转为 provenance,不能让 catalog 悬空引用被排除条目。 | |
| - 按当前 index 哈希进一步细化 private tensor 的无损去重,理论上还可省约 **3.02 GB**,主要是相同的 cross-attention projection 和部分 decoder 参数;此项尚未实施。 | |
| 因此,删除恢复训练信息不足以让全部 run 降至 100 GB。显著降低体积需要选择较少 run,或单独评估量化。 | |
| 量化后的文件必须作为派生产物保留,注明基准 checkpoint、精度、方法和评测结果,不能覆盖原始 BF16 归档。 | |
| 部署包应保留 config、tokenizer、动作 normalization、S-VAE input/latent normalization 与校准统计; | |
| 这些都是模型输入输出契约的一部分。部署的 diffusion/flow scheduler 配置也应保留,它不等于训练用学习率 scheduler 的恢复状态。 | |
| 新 run 应继续复用内容相同的冻结组件,独有训练权重按实际内容追加;不要期待已训练参数仅靠清理元数据即可大幅缩小。 | |