从Flux Dev蒸馏出来的模型——Flux.1 Lite
flux.1-lite-8B-alpha 是 Freepik 发布的 FLUX.1-dev 模型的精简版。 这个 80 亿参数的变压器模型使用的内存比原来少了 7 GB,运行速度比原来快了 23%,但精度保持不变(bfloat16)。 正如 Ostris 所指出的那样,原始模型中并非所有区块的贡献都相同,因此 Freepik 团队分析了每个区块输入和输出之间的均方误差 (MSE),以识别并移除最不重要的区块,从而创建了这个更高效的 flux.1-lite-8B-alpha 模型。
模型输入和输出
flux.1-lite-8B-alpha 是一个文本到图像模型,能够根据文本提示生成高质量的图像。 该模型是在一个大型网络图像数据集上训练出来的,尤其适合用户希望将文字描述转化为视觉表现的创意任务。
功能
flux.1-lite-8B-alpha 可生成与所提供文本提示密切匹配的详细、高质量图像。 该模型擅长角色设计、景观创作和想象场景等任务。 为达到最佳效果,Freepik 团队建议使用 3.5 的指导尺度,并将推理步骤数设置在 22 到 30 之间。
import torch
from diffusers import FluxPipeline
base_model_id = "Freepik/flux.1-lite-8B-alpha"
torch_dtype = torch.bfloat16
device = "cuda"
# Load the pipe
model_id = "Freepik/flux.1-lite-8B-alpha"
pipe = FluxPipeline.from_pretrained(
model_id, torch_dtype=torch_dtype
).to(device)
# Inference
prompt = "A close-up image of a green alien with fluorescent skin in the middle of a dark purple forest"
guidance_scale = 3.5 # Keep guidance_scale at 3.5
n_steps = 28
seed = 11
with torch.inference_mode():
image = pipe(
prompt=prompt,
generator=torch.Generator(device="cpu").manual_seed(seed),
num_inference_steps=n_steps,
guidance_scale=guidance_scale,
height=1024,
width=1024,
).images[0]
image.save("output.png")
动机
受 Ostris 研究结果的启发,我们分析了每个区块的输入和输出之间的均方误差 (MSE),以量化它们对最终结果的贡献,结果发现了显著的差异。
正如 Ostris 所指出的,并非所有区块的贡献都相同。 虽然跳过早期 MMDiT 或晚期 DiT 中的一个区块会对模型性能产生重大影响,但跳过中间的任何一个区块都不会对最终图像质量产生重大影响。
未来工作
敬请期待! 我们的目标是进一步提炼 FLUX.1-dev,直到它能在 24GB 消费级 GPU 显卡上流畅运行,保持原有精度(bfloat16),运行速度更快,让每个人都能获得高质量的人工智能模型。
ComfyUI
我们还精心设计了 ComfyUI 工作流程,让 Flux.1 Lite 的使用更加无缝! 请参见 comfy/flux.1-lite_workflow.json。
The safetensors checkpoint is available here: flux.1-lite-8B-alpha.safetensors