视频生成模型也能当“打分老师”?一文看懂 PRFL 如何把 14B 模型塞进 67 GB 显存
把“生成”与“评估”合二为一,让 720 P×81 帧全帧训练提速 1.4 倍,运动质量提升 56 %——全部在潜空间里完成,无需 VAE 解码。
1. 为什么要给视频生成模型请一位“打分老师”?
1.1 用户真正在搜什么?
-
“为什么 AI 视频动作不自然?” -
“如何让生成视频更符合物理规律?” -
“显存不够,还能做高质量视频微调吗?”
1.2 传统方法卡在哪?
-
结果导向奖励:只能在几乎去噪完成的 RGB 帧上打分,错过早期运动规划阶段。 -
显存黑洞:VAE 解码 81 帧 720 P 数据再送进视觉-语言模型,动辄 OOM(显存溢出)。 -
训练慢:每步都要等 40 步去噪 + 解码,GPU 空转时间长。
2. PRFL 是什么?一句话看懂
Process Reward Feedback Learning(PRFL) 把“打分”搬进潜空间,用视频生成模型本身当奖励模型,随机在中间任意一步(t=0~1)给视频“判分”,并立刻把梯度回传给生成模型,全程跳过 VAE 解码。
3. 核心思路:把“生成器”改造成“评估器”
| 步骤 | 传统 RGB ReFL | PRFL 潜空间方案 |
|---|---|---|
| 输入 | 干净 RGB 帧 | 任意 t 的噪声潜码 |
| 奖励模型 | 额外 VLM | 自己的生成模型前 8 层 |
| 解码 | 必需 VAE | 不需要 |
| 监督阶段 | 仅最后一步 | 任意中间步 |
| 显存 | 81 帧 RGB 爆显存 | 潜空间 67 GB 足够 |
4. 两大模块拆解:PAVRM + PRFL
4.1 PAVRM:如何把生成器变“老师”
-
冻结 VAE 与文本编码器,只取前 8 个 DiT 块抽取时空特征。 -
可学习 Query-Attention 把变长视频压成 1 个 5120 维向量,避免帧数不同带来的维度爆炸。 -
3 层 MLP 输出 0~1 的质量分,用二分类交叉熵训练。
4.2 PRFL:如何用“老师”教“学生”
-
随机采样中间 timestep t∈[0,1)。 -
先做无梯度 rollout 到 t+Δt,再执行一步带梯度去噪。 -
用 PAVRM 给这一步的潜码打分,最大化分数。 -
每迭代一次,与常规监督微调(SFT)交替,防止模型“走火入魔”。
5. 实验结果:数字说话
| 场景 | 指标 | 预训练基线 | PRFL | 提升 |
|---|---|---|---|---|
| T2V 720 P | 动态度 | 25.00 | 81.00 | +56 |
| T2V 720 P | 人体解剖 | 68.88 | 90.40 | +21.52 |
| I2V 480 P | 动态度 | 57.00 | 87.00 | +30 |
| 显存占用 | 峰值 | OOM(81 帧) | 67 GB | 可用 |
| 训练速度 | 单步 | 72.4 s | 51.1 s | 1.42× |
注:动态度衡量画面运动丰富程度;人体解剖衡量头、手、躯干是否畸形。
6. 训练与推理全流程:照抄即可跑
6.1 硬件与软件
-
GPU:≥80 GB 显存(A100/H800) -
CUDA:12.4 -
系统:Linux
6.2 一键安装
git clone https://github.com/Tencent-Hunyuan/HY-Video-PRFL.git
cd HY-Video-PRFL
conda create -n HY-Video-PRFL python==3.10
conda activate HY-Video-PRFL
pip3 install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu121
pip3 install -e .
export PYTHONPATH=./
6.3 下载预训练权重
pip install -U "huggingface_hub[cli]"
hf download Wan-AI/Wan2.1-I2V-14B-720P --local-dir ./weights/Wan2.1-I2V-14B-720P
6.4 数据预处理(单 GPU)
python3 scripts/preprocess/gen_wanx_latent.py --config configs/pre_720.yaml
把自己的视频路径写进
json_path,脚本会输出潜码到save_dir。
6.5 标注格式
在对应 meta_*.json 里增加两行:
{"physics_quality": 1, "human_quality": 1}
0=不合格,1=合格。生成 temp_data_720.list 后即可进入训练。
6.6 多卡训练 PAVRM(8×A100 示例)
torchrun --nnodes=1 --nproc_per_node=8 --master_port 29500 \
scripts/pavrm/train_pavrm.py \
--config configs/train_pavrm_i2v_720.yaml
6.7 多卡训练 PRFL
torchrun --nnodes=1 --nproc_per_node=8 --master_port 29500 \
scripts/prfl/train_prfl.py \
--config configs/train_prfl_i2v_720.yaml
6.8 推理:生成新视频
torchrun --nnodes=1 --nproc_per_node=8 --master_port 29500 \
scripts/prfl/inference_prfl.py \
--dit_fsdp --t5_fsdp --task "i2v-14B" \
--ckpt_dir "weights/Wan2.1-I2V-14B-720P" \
--transformer_path <你的PRFL检查点> \
--size "1280*720" --frame_num 81 --sample_steps 40 \
--save_folder outputs/prfl_i2v_720
7. FAQ:你最可能问的问题
Q1:没有 80 GB 显存能玩吗?
→ 官方实验用 8×A100 81 帧全帧训练;如果只有 40 GB,可把 frame_num 降到 41 或 21,仍比 RGB 方案省显存。
Q2:只能用 Wan2.1 吗?
→ 论文里验证了 HunyuanVideo、Veo3 的零样本迁移,早期层特征通用,但越“干净”的帧越依赖模型指纹,建议同一系列内使用。
Q3:可以评估非人像视频吗?
→ PAVRM 目前用“物理合理性 + 主体畸形”两维标注,对人像最敏感;评估风景或抽象动画需重新标注训练。
Q4:训练数据要多少?
→ 作者用 2.4 万对(真实 + 生成)即可让 14 B 模型明显提升,数据量小也能起步。
Q5:为什么只微调前 8 层 DiT?
→ 实验显示 16 层略好,但 8 层性价比最高;再往上反而过拟合高频纹理,对“运动质量”没帮助。
8. 局限与下一步
-
只聚焦运动质量:尚未覆盖美学、镜头语言等维度。 -
单奖励模型:未来可做多头奖励(美学、文本一致性、物理)。 -
编辑/可控生成:目前只做后期微调,未与 ControlNet、LoRA 结合。
9. 一句话总结
PRFL 把“生成”和“评估”合二为一,在潜空间里完成全流程,让 14 B 视频模型在 67 GB 显存内全帧训练提速 1.4 倍,运动质量提升 56 %。如果你受够了 RGB 奖励的显存黑洞,不妨把打分器搬进潜空间,让模型自己教自己。
引用
Mi, X., Yu, W., Lian, J. et al. Video Generation Models are Good Latent Reward Models. arXiv 2511.21541, 2025.

