diff --git a/README.md b/README.md new file mode 100644 index 0000000..509c893 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# World Model Interaction 混合精度加速记录(case1) + +## 变更位置 +- 脚本路径:`/home/dyz/unifolm-world-model-action/unitree_g1_pack_camera/case1/run_world_model_interaction.sh` +- 当前状态:已修改了部分原本不建议修改/需要谨慎修改的参数(后续会在确认最优后固化为默认)。 + +## 新增参数(确认最优后可变为默认) +- `--diffusion_dtype {fp32,bf16}`:Diffusion 权重与前向 dtype,默认 `fp32` +- `--projector_mode {fp32,autocast,bf16_full}`:Projector 精度策略,默认 `fp32` +- `--encoder_mode {fp32,autocast,bf16_full}`:Encoder 精度策略,默认 `fp32` +- `--vae_dtype {fp32,bf16}`:VAE 权重与前向 dtype,默认 `fp32` +- `--export_casted_ckpt `:按当前精度设置导出 ckpt(用于离线导出混合精度权重) +- `--export_only`:只导出 ckpt 后退出,默认关闭 + +### 参数语义约定 +- `fp32`:权重 + 前向均使用 fp32 +- `autocast`:权重保持 fp32,forward 在 `torch.autocast` 下运行(算子级混精) +- `bf16_full`:权重显式转换为 bf16,forward 也以 bf16 为主 + +## 当前最优配置与结果 +### 配置 +- 除 VAE 模块外,其它模块全部 bf16 +- 模型离线导出混合精度 ckpt(使用 `--export_casted_ckpt`) + +### 结果 +- 耗时:从 `15m6s` 降到 `7m5s` +- PSNR:下降不到 `4`(`35 -> 31`) +- 显存:占用降到原本约 `50%` +