高级功能¶
本页介绍 Smart-Diffusion 的高级能力与推荐用法。
FlexCache¶
FlexCache 通过跨步特征复用,在保持较好画质的同时提升推理效率。
统一参数¶
FlexCache 统一为以下参数组:
strategy:teacache、pab、ditangocache_ratio: 0 到 1 的质量-效率权衡参数(推荐唯一调节项)warmup: 前几步完整计算cooldown: 后几步完整计算
推荐示例¶
from chitu_diffusion.task import DiffusionUserParams, FlexCacheParams
user_params = DiffusionUserParams(
prompt="A cat walking on grass",
num_inference_steps=50,
flexcache_params=FlexCacheParams(
strategy="pab",
cache_ratio=0.35,
warmup=5,
cooldown=5,
),
)
三种策略¶
- TeaCache: 适合通用场景,基于时间步变化自适应复用。
- PAB: 基于注意力广播,常用于质量和速度均衡场景。
- DiTango: 基于 ASE 判据进行分组计算/复用控制。
DiTango 当前实现要点:
- Local partition 每步强制计算,并与 group 状态分开合并。
- Anchor gate 与 group 计算计划会在 CFG 正负分支间同步,避免分支决策不一致。
- cache_ratio 同时影响 anchor 触发激进程度和全局 ASE 阈值分位更新。
- 实现路径:chitu_diffusion/flex_cache/strategy/ditango/ditango.py。
- 决策可视化输出:<output_dir>/ditango_policy_step_layer_group.ppm。
更多细节见 FlexCache。
Context Parallelism¶
将长序列切分到多张 GPU 上执行。
CFG Parallelism¶
将正负分支拆分到不同 GPU。
自动触发条件:
- world_size >= 2
- guidance_scale > 0
提示词建议¶
更有效的提示词通常具备: - 明确主体和动作 - 明确场景和镜头 - 适当细节,不要过度堆砌