云计算百科
云计算领域专业知识百科平台

(论文速读)Consistency Models:把扩散模型的迭代生成压缩到一步

论文题目: Consistency Models(一致性模型)
会议: ICML 2023

摘要: 扩散模型极大推动了图像、音频和视频生成的发展,但它们依赖迭代式采样过程,因此生成速度较慢。为解决这一限制,本文提出 Consistency Models(一致性模型),一种能够将噪声直接映射到数据的新型生成模型。Consistency Models 天生支持快速的一步生成,同时也允许采用多步采样,在计算量与样本质量之间进行权衡。它还支持零样本数据编辑,例如图像修复、着色和超分辨率,而无需针对这些任务进行显式训练。Consistency Models 既可以通过蒸馏预训练扩散模型进行训练,也可以完全独立地作为生成模型训练。大量实验表明,在一步和少步采样场景下,它优于已有的扩散模型蒸馏技术,一步生成在 CIFAR-10 和 ImageNet 64 × 64 上分别取得 FID = 3.55 和 FID = 6.20。当独立训练时,Consistency Models 构成了一类新的生成模型,在 CIFAR-10、ImageNet 64 × 64 和 LSUN 256 × 256 等标准基准上能够超过已有的一步、非对抗式生成模型。


一、研究背景与核心问题:扩散模型效果很好,但为什么一定要一步一步去噪?

扩散模型的生成逻辑大家已经比较熟悉:先从随机噪声出发,然后不断调用神经网络进行去噪,最终得到真实数据。问题在于,这种“逐步生成”的机制虽然带来了很高的生成质量,却也天然带来了推理速度瓶颈。

论文指出,与 GAN、VAE、Normalizing Flow 这类单步生成模型相比,传统扩散模型的采样通常需要 10~2000 倍的计算量。即使使用更快的 ODE Solver,想获得有竞争力的样本质量,往往仍然需要十次以上网络评估。
但这里有一个很容易被忽略的问题:扩散模型的“多步”不仅是缺点。

多步推理同时带来了两个很重要的能力。第一,可以通过增加采样步数,用更多计算换更高的图像质量;第二,很多 Zero-Shot 图像编辑能力,例如 Inpainting、Colorization、Super-Resolution、SDEdit,本质上都依赖这种迭代式采样过程。

所以这篇论文真正想解决的并不是简单的:

“怎样把扩散模型加速?”

而是一个更苛刻的问题:

能不能设计一种生成模型,默认一步就能从噪声得到数据,但需要的时候仍然可以多步生成,而且还能保留扩散模型的 Zero-Shot 编辑能力?

这就是 Consistency Models 的出发点。

作者的关键洞察来自连续时间扩散模型里的 Probability Flow ODE(PF ODE)。

对于扩散模型,数据分布可以通过 SDE 不断加入 Gaussian Noise;与此同时,存在一条具有相同边缘分布的 PF ODE。论文采用 Karras et al. 的设定后,经验 PF ODE 可以写成:

其中 (s_\\phi(x_t,t)) 是训练好的 Score Model,它近似当前噪声分布的 Score Function。传统做法需要从 (x_T) 出发,用 Euler、Heun 等数值 ODE Solver 一步一步求解到 (x_\\epsilon)。

Consistency Models 的思路却是:既然同一条 PF ODE 轨迹上的所有点最终都会回到同一个起点,那么为什么不直接学习“轨迹上的任意一点 → 起点”这个映射?

这一步,基本就是整篇论文最核心的思想。

论文 Figure 1:PF ODE 轨迹与 Consistency Model 的基本思想

Figure 1 想表达的其实很简单:同一条 PF ODE 轨迹上的 (x_t)、(x_{t'})、(x_T),无论从哪个位置开始,都应该映射到同一个数据端点 (x_0)。因此模型需要学习的不是“下一步往哪里走”,而是“这条轨迹最终从哪里出发”。


二、Consistency Model 到底在学什么:核心不是 Denoising,而是 Self-Consistency

2.1 Consistency Function:一条轨迹上的所有点,都应该输出同一个结果

给定 PF ODE 上的一条轨迹 (),论文定义 Consistency Function:

也就是说,不管输入的是噪声很大的 (x_T),还是已经接近数据端的 (x_t),模型都试图直接预测这条 ODE 轨迹的起点 (x_\\epsilon)。

因此,如果 (x_t) 与 (x_{t'}) 位于同一条 PF ODE 轨迹,那么必须满足:

f(x_t,t)=f(x_{t'},t')

这就是论文所谓的 Self-Consistency(自一致性)。

论文 Figure 2:Consistency Model 将同一条 PF ODE 轨迹上的不同点映射到同一个起点

Figure 2 是理解全文最重要的一张图。传统扩散模型更像是在学习一个局部方向:当前位置应该怎样继续去噪;Consistency Model 则直接学习一个全局映射:当前位置属于哪条轨迹,这条轨迹的数据端点在哪里。

这也解释了为什么它可以一步生成。测试时直接采样 (x_T\\sim\\mathcal N(0,T^2I)),然后只执行一次:

一次网络前向传播就完成了从 Gaussian Noise 到数据样本的映射。

2.2 Boundary Condition:模型不能在数据端把样本改坏

Consistency Function 还必须满足一个边界条件:

f(x_\\epsilon,\\epsilon)=x_\\epsilon

直观理解就是:当输入已经处在轨迹的数据端时,模型什么也不要做,直接输出输入本身。

为了自动满足这个条件,论文最终采用 Skip Connection 参数化:

其中要求 (c_{\\mathrm{skip}}(\\epsilon)=1),(c_{\\mathrm{out}}(\\epsilon)=0)。于是当 (t=\\epsilon) 时,不管神经网络 (F_\\theta) 输出什么,都有 (f_\\theta(x,\\epsilon)=x)。

这个设计看起来只是一个工程细节,实际上非常关键。论文后面的理论分析指出,该边界条件能够排除 (f_\\theta(x,t)\\equiv0) 这样的 trivial solution,否则只靠“一致性”很容易出现所有输入都输出同一个东西这种无意义解。

2.3 为什么一步模型仍然可以多步采样?

Consistency Models 并没有因为支持一步生成,就把多步生成能力扔掉。

Algorithm 1 的做法是先执行一次:

x\\leftarrow f_\\theta(\\hat{x}_T,T)

如果想继续提升质量,就重新向当前结果加入一定强度的 Gaussian Noise,再调用 Consistency Model 映射回数据端,如此循环:

x \\rightarrow \\text{add noise }\\tau_1 \\rightarrow f_\\theta \\rightarrow \\text{add noise }\\tau_2 \\rightarrow f_\\theta \\rightarrow\\cdots

因此它形成了一种很有意思的推理方式:一步生成是默认能力,多步生成则是可选的质量增强机制。

论文实际通过 Greedy Search + Ternary Search 逐个选择多步采样中的时间点,使采样 FID 尽可能低。作者同时明确指出,这里假设下一时间点对应的 FID 近似为单峰函数,更优的时间点选择策略留作未来工作。


三、Consistency Distillation:怎样把一个扩散模型压缩成一步生成器?

Consistency Models 提供了两种完全不同的训练方式。

第一种叫 Consistency Distillation(CD):已经有一个训练好的 Diffusion / Score Model,现在希望把它的 PF ODE 动力学压缩进 Consistency Model。

第二种叫 Consistency Training(CT):完全不要预训练扩散模型,直接从真实数据训练 Consistency Model。

先看更容易理解的 CD。

3.1 CD 的核心:让相邻轨迹点得到相同预测

将时间区间 ([\\epsilon,T]) 离散成:

t_1=\\epsilon<t_2<\\cdots<t_N=T

假设现在有一个带噪样本 (x_{t_{n+1}})。利用预训练 Score Model 和一个 ODE Solver,可以从 (t_{n+1}) 向前走一步,得到对前一个轨迹点 (x_{t_n}) 的估计:

这里 (\\Phi) 就是一阶 ODE Solver 的更新函数。

如果 Consistency Model 真的学到了 Self-Consistency,那么同一条轨迹上相邻的两个位置 (x_{t_{n+1}}) 和 (\\hat{x}^{\\phi}_{t_n}),经过模型以后就应该给出相同的数据端预测。

因此论文定义 Consistency Distillation Loss:

其中 (f_\\theta) 是 Online Network,(f_{\\theta^-}) 是 Target Network,(d(\\cdot,\\cdot)) 是两个输出之间的距离。训练时,Online Network 正常梯度更新,而 Target Network 使用 EMA 更新,并配合 Stop Gradient。

这套结构和 Deep Q-Learning、Momentum Contrastive Learning 中的 Target Network 非常相似。作者发现,相比直接令 (\\theta^-=\\theta),EMA + StopGrad 可以明显稳定训练并改善最终性能。

所以 CD 可以压缩成一句话:

先用预训练扩散模型告诉你“相邻两个 PF ODE 轨迹点在哪里”,再要求 Consistency Model 从这两个位置给出相同的数据端预测。

3.2 理论上为什么这样真的能学到 PF ODE 的 Consistency Function?

论文的 Theorem 1 给出了比较重要的理论结果:假设 Consistency Model 满足 Lipschitz 条件,而所使用的 ODE Solver 是 (p) 阶方法,那么当 Consistency Distillation Loss 达到 0 时,模型与真实 Consistency Function 之间的最大误差量级为 (O((\\Delta t)^p))。

直观来说就是:

时间离散越细,ODE Solver 阶数越高,通过 CD 学到的 Consistency Model 就越接近真实 PF ODE 上对应的 Consistency Function。

这个理论结论随后也得到了 Figure 3 实验的支持:同样的离散步数 (N) 下,二阶 Heun Solver 始终优于一阶 Euler Solver。


四、Consistency Training:没有 Teacher Diffusion Model,也能直接训练吗?

CD 仍然有一个限制:它虽然把推理变成了一步,但训练之前还是得先有一个强大的 Diffusion Model。

作者更进一步提出:

Consistency Model 能不能不再只是 Diffusion Distillation,而是自己成为一个独立的生成模型?

这就是 Consistency Training(CT)。

4.1 从 Score Function 的无偏估计开始

CD 依赖预训练 Score Model (s_\\phi(x_t,t)) 去估计 (\\nabla\\log p_t(x_t))。

论文利用了一个关键关系:

其中真实数据 (x\\sim p_{\\mathrm{data}}),并且 (x_t\\sim\\mathcal N(x,t^2I))。

也就是说,只要有真实样本 (x) 和 Gaussian Noise,就可以利用 (-(x_t-x)/t^2) 构造 Score Function 的无偏估计,而不一定要让一个预训练神经网络提供 Score。

经过理论推导,作者发现,当使用 Euler Solver 且时间离散趋于无穷细时,Consistency Distillation Loss 可以由一个完全不含 Teacher 参数 (\\phi) 的 Consistency Training Loss 近似:

其中 (z\\sim\\mathcal N(0,I))。

这个公式其实很好理解。

从一个真实样本 (x) 出发,采样同一个噪声 (z),分别按照 (t_n) 和 (t_{n+1}) 两个强度加噪:

x \\rightarrow x+t_nz

x \\rightarrow x+t_{n+1}z

它们可以被理解为同一条局部噪声路径上的两个状态。CT 就要求模型从这两个状态恢复出一致的结果。这样一来:

真实数据 + Gaussian Noise + Self-Consistency Training,就可以替代 Teacher Diffusion Model。

这也是论文为什么强调 Consistency Models 不仅是一种 Distillation Technique,而可以成为一个独立 Generative Model。

4.2 CT 最大的工程问题:N 怎么选?

CT 中有一个非常重要的 Bias-Variance Trade-off。

当时间离散步数 (N) 比较小时,相邻时间点距离较远,训练目标具有更大的 Bias,但 Variance 较低,因此比较容易优化、收敛很快;当 (N) 很大时,离散误差更小,Bias 更低,但训练目标的 Variance 增大,优化反而更困难。

作者因此没有固定 (N),而是采用 Progressive Schedule:

训练早期使用较小的 N,让模型快速收敛;训练后期逐渐增大 N,降低离散误差。

与此同时,Target Network 的 EMA 系数 (\\mu) 也随 (N) 一起变化。

论文 Figure 3:CD 和 CT 的关键设计消融

Figure 3 是全文最重要的消融图之一,里面可以得到四个很明确的结论:

  • CD 使用 LPIPS 明显优于 ℓ1 和 ℓ2;

  • 相同 (N) 下,Heun Solver 优于 Euler;

  • CD 中 (N=18) 表现最好,而且当 (N) 足够大后,对 (N) 不再特别敏感;

  • CT 对 (N) 非常敏感,采用动态增长的 (N) 和 (\\mu) 后,收敛速度和最终生成质量明显改善。
    这一组消融很重要,因为它并不只是告诉我们“某个超参数设置更好”,而是直接验证了前面的理论:CD 的误差与 ODE Solver 精度有关,而 CT 的关键困难是离散 Bias 与优化 Variance 之间的平衡。


  • 五、实验结果与消融分析:一步生成到底能做到什么程度?

    论文在 CIFAR-10、ImageNet 64 × 64、LSUN Bedroom 256 × 256 和 LSUN Cat 256 × 256 上进行了实验,主要使用 FID、IS、Precision 和 Recall 评估生成质量。FID 越低越好,IS、Precision 和 Recall 越高越好。

    这里要明确区分两个实验目标:

    • CD 要回答:能不能把一个已有 Diffusion Model 蒸馏成高质量的一步/少步模型?

    • CT 要回答:完全不依赖预训练 Diffusion Model 时,Consistency Model 能不能独立成为生成模型?

    5.1 Figure 4:CD 对 Progressive Distillation 的优势非常明显

    与 CD 最直接的对手是 Progressive Distillation(PD)。

    相比一些需要提前让 Diffusion Model 生成大规模 Synthetic Dataset 再进行蒸馏的方法,CD 和 PD 都可以直接利用原模型进行蒸馏,不需要提前构造额外生成数据。论文保证 PD 与 CD 蒸馏的是同一批 EDM Teacher,因此比较相对公平。

    论文 Figure 4:CD 与 PD 在不同数据集、不同采样步数下的 FID 对比

    Figure 4 的结果非常直观:随着采样步数增加,PD 和 CD 都会变好,但 CD 在几乎所有数据集、采样步数和距离函数设置下都优于 PD。唯一例外是 LSUN Bedroom 256 × 256 的一步生成中,使用 ℓ2 的 CD 略差于使用 ℓ2 的 PD。
    所以论文的结论并不是“Consistency Model 所有情况下全面领先”,而是:

    在作者测试的大部分 few-step diffusion distillation 场景中,CD 都比 PD 更有效,而且优势在一步和两步这种极低 NFE 区域尤其明显。

    5.2 Table 1:CIFAR-10 一步 FID = 3.55,两步已经到 2.93

    Table 1 是全文最值得记住的一张结果表。

    在 CIFAR-10 上:

    最明显的是 CD:一步 FID 从 PD 的 8.34 降到了 3.55,两步进一步降到 2.93。

    而 Teacher EDM 自己需要 35 次网络评估才能达到 FID = 2.04。换句话说,CD 用极少的 NFE 保留了相当一部分 Teacher 的生成能力。

    当然,不能把 FID = 3.55 写成“超过所有单步生成模型”。Table 1 中 StyleGAN2-ADA 的 FID = 2.92,StyleGAN-XL 更达到 1.85。Consistency Model 的优势重点不是击败最强 GAN,而是在非对抗训练 + 一步/少步生成 + 多步可扩展 + Zero-Shot 编辑这几种能力之间取得了新的组合。

    5.3 Table 2:ImageNet 和 LSUN 上,CD 的优势继续保持

    ImageNet 64 × 64 上:

    • PD 一步 FID = 15.39,CD 一步降到 6.20;

    • PD 两步 FID = 8.95,CD 两步进一步降到 4.70。

    LSUN Bedroom 256 × 256 上,CD 一步和两步分别达到 7.80 / 5.22;LSUN Cat 256 × 256 上分别达到 11.0 / 8.84。

    这里尤其能看出 Consistency Distillation 与 Progressive Distillation 的差距。例如 Cat 数据集上一阶生成,PD 的 FID 是 29.6,而 CD 是 11.0;到了两步,PD 是 15.5,CD 已经降到 8.84。

    因此,如果只看这篇论文最强的实验结论,可以概括为:

    Consistency Distillation 把 Diffusion Model 压到 1~2 次网络评估时,生成质量显著优于此前的 Progressive Distillation。

    5.4 CT:不靠 Teacher 能生成,但质量与 CD 仍有明显差距

    CT 的意义和 CD 不一样,它没有 Teacher Diffusion Model,因此不能只用最终 FID 与 CD 硬比较。

    CIFAR-10 上 CT 的一步 FID = 8.70、两步 FID = 5.83;ImageNet 上分别为 13.0 和 11.1;LSUN Bedroom 为 16.0 和 7.85;LSUN Cat 为 20.7 和 11.7。
    这些数字明显弱于 CD,但 CT 完全没有访问预训练 Diffusion Teacher。

    论文指出,在 CIFAR-10 上,CT 已经明显优于 Glow、Residual Flow、DenseFlow、DC-VAE 等一步、非对抗生成模型,同时可以达到与一步 PD 相近的质量。另一方面,StyleGAN 系列仍然明显更强,因此这里更准确的说法是:CT 证明了 Consistency Model 可以脱离 Diffusion Distillation 独立存在,但它在本文版本中还没有取代最强 GAN 或多步 Diffusion Model。

    论文 Figure 5:EDM、CT 一步生成和 CT 两步生成的样本

    Figure 5 还有一个有意思的现象:作者让 EDM、一步 CT 和两步 CT 使用相同初始 Noise,结果对应样本之间保持了明显的结构相似性。虽然 CT 与 EDM 是独立训练的,作者仍据此认为 CT 不太可能存在严重 Mode Collapse。

    5.5 Figure 7:离散时间与连续时间目标并不是谁都全面更强

    论文 Appendix 还专门比较了 Discrete-Time 和 Continuous-Time 的 CD / CT。

    Figure 7a 中,Continuous-Time CD 采用 StopGrad 后明显优于不使用 StopGrad 的版本,LPIPS 仍然是最佳距离函数;不过最终 Discrete-Time CD 仍然优于 Continuous-Time CD。作者认为其中一个原因是 Continuous-Time Objective 方差更大,而离散 CD 又能够直接使用高阶 ODE Solver。

    Figure 7b 则出现了不同结果:在相同 LPIPS 下,Continuous-Time CT 优于 Discrete-Time CT。作者认为,这是因为离散 CT 存在有限 (\\Delta t) 带来的 Bias,而连续时间目标等价于让 (\\Delta t\\to0)。不过 Continuous-Time CT 的训练稳定性又更差,实验中甚至需要从预训练 EDM 初始化才能稳定比较。

    这组结果说明 Consistency Models 并不是“连续时间一定最好”或者“离散时间一定最好”,CD 和 CT 的优化性质实际上并不相同。

    5.6 Table 3:推理虽然快,但训练本身并不便宜

    Table 3 给出了完整训练超参数。CIFAR-10 使用 8 张 GPU,而 ImageNet 64 × 64 和 LSUN 256 × 256 实验使用 64 张 GPU;训练迭代数从 600k 到 1000k 不等。作者还说明实验运行在 Nvidia A100 GPU 集群上。
    从工程角度看,这一点很值得区分:

    Consistency Models 解决的是 Sampling Cost,而不是让整个生成模型训练过程突然变得便宜。

    尤其 CD 本身需要预训练 EDM,而大规模 CT 同样需要相当可观的训练资源。因此“一步生成”说的是推理阶段只需要一次网络评估,并不意味着训练成本也只有传统 Diffusion 的几十分之一。


    六、Zero-Shot 编辑与总结:Consistency Models 真正有意思的地方不只是“一步生成”

    如果 Consistency Models 只是把 Diffusion Model 蒸馏成一步网络,它本质上仍然只是又一种 Acceleration / Distillation Method。

    这篇论文真正有意思的地方,是它虽然可以一步生成,却没有完全牺牲 Diffusion Model 那套灵活的迭代式推理机制。

    6.1 Figure 6:没有为编辑任务训练,却可以直接做 Colorization、Super-Resolution 和 SDEdit

    论文在 LSUN Bedroom 256 × 256 上使用 CD 训练 Consistency Model,然后直接进行 Zero-Shot Image Editing。

    论文 Figure 6:Consistency Model 的 Zero-Shot 图像编辑结果

    Figure 6a 输入 Gray-Scale Image,模型直接生成多个合理的彩色版本;Figure 6b 从 32 × 32 Low-Resolution Image 恢复到 256 × 256;Figure 6c 输入人工绘制的 Stroke,模型则完成类似 SDEdit 的 Stroke-Guided Generation。

    关键在于:这个模型从来没有针对 Colorization、Super-Resolution 或 Stroke Input 专门训练。

    这些任务主要通过修改 Multistep Sampling 实现。核心操作是在每一次 Consistency Denoising 后,将已知条件重新写回样本,再加入噪声进入下一步。

    Algorithm 4 将这一过程统一成一个线性变换 (A) 和 Mask (\\Omega) 的框架:Inpainting 中 (A) 可以直接取 Identity;Colorization 和 Super-Resolution 则把已知信息变换到一个更容易 Mask 的空间,再在每一步生成后重新注入。
    Appendix 中的 Figure 8~13 进一步给出了 Colorization、Super-Resolution、Inpainting、Interpolation、Denoising 和 Stroke-Guided Generation 的更多结果。特别是 Denoising 更直接:如果图像被方差为 (\\sigma^2) 的 Gaussian Noise 污染,只要 (\\sigma\\in[\\epsilon,T]),直接调用 (f_\\theta(x,\\sigma)) 就能进行一步去噪。
    Figure 14~21 则补充展示了 CD 和 CT 在 CIFAR-10、ImageNet、LSUN Bedroom、LSUN Cat 上的一步与两步样本。其中 CD 从一步增加到两步后,CIFAR-10 FID 从 3.55 降到 2.93,ImageNet 从 6.20 降到 4.70,Bedroom 从 7.80 降到 5.22,Cat 从 10.99 降到 8.84;CT 同样表现出明显的多步质量提升。

    6.2 如果把这篇论文压缩成一句话

    Consistency Models 的核心并不是:

    “训练一个网络直接把 Noise 变成 Image。”

    真正关键的是:

    把 PF ODE 上“同一条轨迹的所有位置应该对应同一个数据端点”这一 Self-Consistency 关系变成学习目标,从而让原本需要数值积分逐步求解的生成过程,可以直接学习成一个全局映射。

    前者解决 Diffusion Acceleration,后者则试图把 Consistency Model 从“蒸馏方法”提升成“一类新的生成模型”。

    6.3 最后应该记住什么?

    这篇论文最值得记住的,我认为有四点。

    第一,它改变了快速扩散生成的建模视角。 过去很多方法是在研究怎样把 1000 步变成 100 步、20 步、10 步;Consistency Model 则直接问:如果最终目标始终是轨迹的数据端点,为什么不直接学习这个映射?

    第二,Self-Consistency 是整个方法的核心。 同一条 PF ODE 轨迹上的不同噪声状态必须预测同一个结果,一步生成只是这个性质产生的自然结果,而不是人为规定“网络只能跑一步”。

    第三,一步生成与迭代生成并不矛盾。 Consistency Model 可以一次网络调用直接生成,同时也允许重新加噪后继续调用模型,用额外计算提升质量。这使它保留了 Diffusion Model 很重要的 Compute-Quality Trade-off 和 Zero-Shot Editing 能力。论文最终也在 Inpainting、Colorization、Super-Resolution、Denoising、Interpolation 和 Stroke-Guided Generation 上展示了这一点。

    第四,CD 和 CT 的意义不同。 CD 在本文中已经展示出非常强的一步/少步蒸馏性能,例如 CIFAR-10 一步 FID = 3.55、ImageNet 64 × 64 一步 FID = 6.20;CT 的绝对质量还明显弱于最强 GAN 和多步 Diffusion,但它证明了一件更基础的事情——Consistency Model 并不必须依附于 Diffusion Teacher,它可以直接从数据训练,作为独立的 Generative Model 存在。

    从方法设定上看,论文仍然留下了一些明显空间:多步采样时间点目前通过 Greedy + Ternary Search 选择;Continuous-Time Objective 存在较大的训练方差和 Forward-Mode Automatic Differentiation 依赖;而大规模训练本身依旧需要相当可观的计算资源。
    但它提出的核心问题非常有启发性:

    生成模型真的必须完整模拟一条从 Noise 到 Data 的轨迹吗?还是只要学会这条轨迹上所有状态最终应该“保持一致地指向哪里”就够了?

    Consistency Models 给出的答案是后者。

    而这,也正是这篇论文最值得记住的地方。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » (论文速读)Consistency Models:把扩散模型的迭代生成压缩到一步
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!