当前位置: 首页 > article >正文

从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


http://www.kler.cn/a/374437.html

相关文章:

  • 深度学习基础知识-Batch Normalization(BN)超详细解析
  • centos7 安装python3.9.4,解决import ssl异常
  • node.js_npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1
  • ApplicationListener<ContextRefreshedEvent> 的使用和作用
  • 多租户系统的应用架构
  • 安宝特分享 | AR技术引领:跨国工业远程协作创新模式
  • rom定制系列------红米note8_miui14安卓13定制修改固件 带面具root权限 刷写以及界面预览
  • 灵动AI视频 —— 创意无界,视频新生
  • Qt限制QGraphicsScene QGraphicsItem内部的移动范围
  • mac 使用命令卸载Node.js
  • Qt指定程序编译生成文件的位置
  • 使用 pkg 打包 Puppeteer 应用:跨平台自动化的轻量级选择
  • 管家婆财贸ERP BB072.销售单草稿明细生成组装拆分单
  • [实战-11] FlinkSql设置时区(table.local-time-zone)
  • MySQL 的 select * 会用到事务吗?
  • Ethernet 系列(6)-- 基础学习::OSI Model
  • 金融小白两周完成一个量化系统 (二)项目进度以及数据获取
  • 数据分析可视化:散点图矩阵与雷达图的生成
  • 时序数据分析:工业时序数据的特点
  • 【python ASR】win11-从0到1使用funasr实现本地离线音频转文本
  • golang的多表联合orm
  • 关于回溯与分支限界的一些介绍
  • 【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频
  • 神经网络:解析人工智能的智慧基石
  • WPF+MVVM案例实战(十四)- 封装一个自定义消息弹窗控件(下)
  • 二:Linux学习笔记(第一阶段)-- Linux命令