Recent submissions

Comment · 1 year ago
hahahah i'm doing well tianpei good to hear from you!
Comment · 1 year ago
yeah data really is everything that was the number one lesson from this whole project
Comment · 1 year ago
yoo i'm also a researcher on the krea 1 project and happy to answer any questions :)
Comment · 3 years ago
LCMs are actually exactly SD architecture. LCM is initialized from a regular SD unet and finetuned on a new objective. We are already compiling to get to these times. A lot of other people getting sub-100ms times are using fewer inference steps than we do, at a quality tradeoff.
Comment · 3 years ago
i worked on the gpu/infra side of this, so feel free to AMA Ultimately the LCM is just a SD Unet trained with a new objective, so a lot of SD optimizations are transferable to LCMs
Comment · 3 years ago
I actually worked on this feature at krea, happy to answer any technical questions about how this works / is trained
Comment · 3 years ago
In the decoder, the features from the unet blocks get concatenated with features from the encoder layer through 'skip connections'. The paper discusses how rescaling the backbone features (element-wise multiplication by some scalar) before concatenation improves image quality.
Comment · 3 years ago
Improve SD image quality and reduce artefacts without any additional training, simply by reweighting skip connections in the decoder stage of a diffusion Unet decoder
Comment · 3 years ago
"Native refiner swap inside one single k-sampler. The advantage is that now the refiner model can reuse the base model's momentum (or ODE's history parameters) collected from k-sampling to achieve more coherent sampling. In Automatic1111's high-res fix and ComfyUI's node system, the base model and refiner use two independent k-samplers, which means the momentum is largely wasted, and the sampling continuity is broken. Fooocus uses its own advanced k-diffusion sampling that ensures seamless, native, and continuous swap in a refiner setup."

This is so interesting and seems obvious in retrospect, but super impressive! The code is simple too, going to hack around with this over the weekend :)

Comment · 3 years ago
I work at krea.ai. We are for sure making art extremely accessible, but we consider it enhancing creativity rather than replacing.

I fully agree that being able to generate an aesthetically pleasing image with an AI that has been optimized to do exactly that is a banal application of creativity.

I do think that AI has incredible potential to make (and become art).

The best AI artists don't just throw art into midjourney, they experiment, create their own secret sauce.

Training models has become an art form in and of itself: ai artists curate incredible datasets and devise recipes for training stunning models. Their workflows span multiple companies / tools / models.

AI just means that the goalposts for creativity are shifting. Boring people will use AI to make boring art, artists will find completely unexpected ways to use the tools we build to create art forms we've never imagined before.

Comment · 3 years ago
So we're using a color space that has two channels dedicated entirely to color, which is the only thing the model needs to learn.

The model doesn't need to touch the lightness channel at all, only predict the noised added to the color channels at train time.

At inference time, we start with a real lightness channel (b/w image), and initialize the color channels to random noise. The model iteratively denoises the color channels while keeping the lightness channel locked.

Comment · 3 years ago
Think inference time was on the order of 4-5seconds per image on a v100, which you can rent for like .80 cents an hour, though you can get way better gpus like a100s for ~1.1 usd/h now. But ofc this is at 64px res in pixel space.

If you wanted to do this at high res, you would definitely use a latent diffusion model. The autoencoder is almost free to run, and reduces the dimensionality of high res images significantly, which makes it a lot cheaper to run the autoregressive diffusion model for multiple steps.

Comment · 3 years ago
Comment · 3 years ago
Depends, given the low res, the 3x64x64 pixel space image is smaller than the latents you would get from encoding a higher-res image with models like VQGAN or the stablediff VAE at their native resolutions.

It's easier to get a sense of what's going wrong with a pixel space model though. With latent space, there's always the question of how color is represented in latent space / how entangled it is with other structure / semantics.

Starting in pixel space removed a lot of variables from the equation, but latent diffusion is the obvious next step

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton