Skip to content

T-GATE

T-GATE 通过在交叉注意力计算收敛后跳过该计算,加速 Stable DiffusionPixArtLatency Consistency Model 管道的推理。此方法不需要任何额外的训练,并且可以将推理速度提高 10-50%。T-GATE 还兼容其他优化方法,如 DeepCache

在开始之前,请确保你已安装 T-GATE。

bash
pip install tgate
pip install -U torch diffusers transformers accelerate DeepCache

要使用 T-GATE 与管道配合,你需要使用其对应的加载器。

PipelineT-GATE Loader
PixArtTgatePixArtLoader
Stable Diffusion XLTgateSDXLLoader
Stable Diffusion XL + DeepCacheTgateSDXLDeepCacheLoader
Stable DiffusionTgateSDLoader
Stable Diffusion + DeepCacheTgateSDDeepCacheLoader

接下来,创建一个 TgateLoader,并设置管道、门步骤(停止计算交叉注意力的时间步骤)和推理步骤的数量。然后在管道上调用 tgate 方法,传入提示、门步骤和推理步骤的数量。

让我们看看如何为几种不同的管道启用这一功能。

T-GATE 还支持 [StableDiffusionPipeline] 和 PixArt-alpha/PixArt-LCM-XL-2-1024-MS

基准测试

ModelMACsParamLatencyZero-shot 10K-FID on MS-COCO
SD-1.516.938T859.520M7.032s23.927
SD-1.5 w/ T-GATE9.875T815.557M4.313s20.789
SD-2.138.041T865.785M16.121s22.609
SD-2.1 w/ T-GATE22.208T815.433 M9.878s19.940
SD-XL149.438T2.570B53.187s24.628
SD-XL w/ T-GATE84.438T2.024B27.932s22.738
Pixart-Alpha107.031T611.350M61.502s38.669
Pixart-Alpha w/ T-GATE65.318T462.585M37.867s35.825
DeepCache (SD-XL)57.888T-19.931s23.755
DeepCache w/ T-GATE43.868T-14.666s23.999
LCM (SD-XL)11.955T2.570B3.805s25.044
LCM w/ T-GATE11.171T2.024B3.533s25.028
LCM (Pixart-Alpha)8.563T611.350M4.733s36.086
LCM w/ T-GATE7.623T462.585M4.543s37.048

延迟在 NVIDIA 1080TI 上进行测试,MACs 和 Params 通过 calflops 计算,FID 通过 PytorchFID 计算。