Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

支持 sd3 #154

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

CallmeZhangChenchen
Copy link

@CallmeZhangChenchen CallmeZhangChenchen commented Jul 16, 2024

  1. 支持sd3
  2. T5模块 text_encoder_3 不能使用sfast,优化的代码不会debug,出来的结果全为nan,所以现在 直接这样写的 m.text_encoder_3.forward = m.text_encoder_3.forward
  3. SCHEDULER 设置为 FlowMatchEulerDiscreteScheduler
  4. config.enable_xformers = True 需要关闭xformers,要不跑不通,维度对不齐
  5. 希望指条明路,方便去debug T5 以及 xformers

@CallmeZhangChenchen
Copy link
Author

class TracedPosArgOnlyModuleWrapper(torch.nn.Module):

    def __init__(self, module, *, training=None):
        super().__init__()
        self.module = module
        if training is None:
            training = getattr(module, 'training', False) if isinstance(
                module, torch.nn.Module) else False
        self.train(training)

    def forward(self, *args, **kwargs):
        outputs = self.module(*self.convert_inputs(args, kwargs))
        unflat_outputs = flat_tensors.unflattern(outputs)
        return unflat_outputs

我只能追到这里,self.module(*self.convert_inputs(args, kwargs)) 内部的代码就不能追了,之后outputs就为nan

@chengzeyi 请问你感觉我下一步应该往哪个方向追呢

@CallmeZhangChenchen
Copy link
Author

我现在感觉 t5这个模块不能使用这个编译:

lazy_trace_ = _build_lazy_trace(config)
 m.text_encoder_3.forward = lazy_trace_(m.text_encoder_3.forward)

应该使用 类似 compile_unet 与 compile_vae 的形式

@CallmeZhangChenchen
Copy link
Author

抱歉猜错了,不是这个原因, 现在整个sd3 在4090上 1024*1024 大概1s,也能用,等有思路了再研究

@ginobilinie
Copy link

抱歉猜错了,不是这个原因, 现在整个sd3 在4090上 1024*1024 大概1s,也能用,等有思路了再研究

生成1024x1024大小的图像,用你的代码,在3090上要7s左右。你的4090上1s左右,是做了什么优化么

@CallmeZhangChenchen
Copy link
Author

@ginobilinie 很久没看了, 可能是 steps 或者 显卡的影响吧

@ginobilinie
Copy link

@ginobilinie 很久没看了, 可能是 steps 或者 显卡的影响吧

有可能。不知道方便加个联系方式讨论下这块么,最近在做这个。

@frankyifei
Copy link

能不能加速flux

@CallmeZhangChenchen
Copy link
Author

能不能加速flux

可以的,我试过, 而且加速效果不是很明显,10%~20% 左右

@CallmeZhangChenchen
Copy link
Author

@ginobilinie 很久没看了, 可能是 steps 或者 显卡的影响吧

有可能。不知道方便加个联系方式讨论下这块么,最近在做这个。

可以的 可以的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants