🚀 FLUX.1-mini-GGUF
FLUX.1-mini-GGUF 是一款基於文本生成圖像的模型,它從 Flux-dev 蒸餾而來,在保持較強圖像生成能力的同時,模型規模更小,更適合在消費級設備上使用。
🚀 快速開始
本模型僅由 gpustack/llama-box v0.0.86+ 提供實驗性支持。
模型創建者:ARC Lab, Tencent PCG
原始模型:flux-mini
GGUF 量化:基於 stable-diffusion.cpp ac54e 並由 llama-box 進行補丁處理。
量化方式 |
OpenAI CLIP ViT-L/14 量化 |
Google T5-xxl 量化 |
VAE 量化 |
FP16 |
FP16 |
FP16 |
FP16 |
Q8_0 |
FP16 |
Q8_0 |
FP16 |
(純) Q8_0 |
Q8_0 |
Q8_0 |
FP16 |
Q4_1 |
FP16 |
Q8_0 |
FP16 |
Q4_0 |
FP16 |
Q8_0 |
FP16 |
(純) Q4_0 |
Q4_0 |
Q4_0 |
FP16 |
✨ 主要特性
🔥 Flux-Mini
如今,文本到圖像(T2I)模型的性能不斷提升,但模型規模也越來越大,這限制了它們的實際應用,尤其是在消費級設備上。為了縮小這一差距,我們將 12B 的 Flux-dev
模型蒸餾成了 3.2B 的 Flux-mini
模型,並努力保留其強大的圖像生成能力。具體來說,我們通過將原始 Flux-dev
的深度從 19 + 38
(雙塊和單塊的數量)減少到 5 + 10
來進行剪枝。剪枝後的模型在精心策劃的圖像 - 文本數據集上,以去噪和特徵對齊為目標進行了進一步微調。
然而,由於計算和數據資源有限,我們的 Flux-mini 在某些領域的能力仍然有限。為了促進基於 Flux 的模型的發展,我們在 此文件夾 中開源了蒸餾 Flux 的代碼。我們呼籲對這個項目感興趣的人共同合作,構建一個更實用、更強大的文本到圖像模型!
⏰ 時間線
[2024.11.26] 我們很高興地發佈了 Flux-Mini 的第一個版本!
⚡️ 效率對比
我們在 單塊 H20 GPU
上,以 BF16
精度、batch-size=1
、deepspeed stage=2
、gradient_checkpoint=True
的條件下,對我們的 Flux-Mini 和 Flux-Dev 進行了比較。推理時,我們採用 num_steps=50
,幷包含了 T5、CLIP 和 VAE 的成本。OOM
表示內存不足。
分辨率 |
訓練策略 |
模型 |
訓練速度(秒/圖像) |
訓練內存(GB) |
推理速度(秒/圖像) |
推理內存(GB) |
512 |
LoRA(r=16) |
Flux-dev |
1.10 |
35.91 |
11.11 |
35.11 |
512 |
LoRA(r=16) |
Flux-Mini |
0.33 |
19.06 |
3.07 |
18.49 |
512 |
全量微調 |
Flux-dev |
OOM |
OOM |
11.11 |
35.11 |
512 |
全量微調 |
Flux-Mini |
0.57 |
83.7 |
3.07 |
18.49 |
1024 |
LoRA(r=16) |
Flux-dev |
2.93 |
38.03 |
38.26 |
42.24 |
1024 |
LoRA(r=16) |
Flux-Mini |
1.05 |
22.21 |
10.31 |
25.61 |
1024 |
全量微調 |
Flux-dev |
OOM |
OOM |
38.26 |
42.24 |
1024 |
全量微調 |
Flux-Mini |
1.30 |
83.71 |
10.31 |
25.61 |
⛅ 侷限性
與先進的文本到圖像模型相比,我們的模型是在有限的計算資源和質量一般的合成數據上訓練的。因此,我們的模型在某些類別中的生成能力仍然有限。
當前模型在生成常見圖像(如人臉、動物臉、風景、奇幻和抽象場景)方面表現尚可。但不幸的是,它在許多場景中仍然表現不佳,包括但不限於:
- 細粒度細節,如人和動物的結構
- 排版
- 透視和幾何結構
- 動態和運動
- 常識知識,如品牌標誌
- 物理合理性
- 文化多樣性
由於我們的模型是使用 JourneyDB 中的提示進行訓練的,我們建議用戶使用 類似的提示格式(名詞和形容詞的組合)來應用我們的模型,以獲得最佳質量。例如:"悲傷的蘇格拉底半身像,全身,高細節,戲劇性場景,史詩般的動態動作,廣角,電影感,超寫實,概念藝術,由 Bernie Wrightson、Frank Frazetta 繪製的溫暖柔和色調。"
我們歡迎社區中的每個人為這個模型進行協作和提交拉取請求。
💻 Flux-NPU
NPU 的廣泛發展為模型訓練和推理提供了額外的設備選擇。為了方便 Flux 的使用,我們提供了一個代碼庫,可以在 NPU 上運行 FLUX 的訓練和推理代碼。
更多詳細信息請參考 此文件夾。
⚡️ NPU 上的效率對比
我們在單塊 Ascend 910B NPU
上,以 BF16
精度、batch-size=1
、deepspeed stage=2
、gradient_checkpoint=True
的條件下,對我們的 Flux-Mini 和 Flux-Dev 進行了比較。推理時,我們採用 num_steps=50
,幷包含了 T5、CLIP 和 VAE 的成本。OOM
表示內存不足。
分辨率 |
訓練策略 |
模型 |
訓練速度(秒/圖像) |
訓練內存(GB) |
推理速度(秒/圖像) |
推理內存(GB) |
512 |
LoRA(r=16) |
Flux-dev |
1.07 |
38.45 |
11.00 |
58.62 |
512 |
LoRA(r=16) |
Flux-Mini |
0.37 |
20.64 |
3.26 |
19.48 |
512 |
全量微調 |
Flux-dev |
OOM |
OOM |
11.00 |
58.62 |
512 |
全量微調 |
Flux-Mini |
OOM |
OOM |
3.26 |
19.48 |
1024 |
LoRA(r=16) |
Flux-dev |
3.01 |
44.69 |
OOM |
OOM |
1024 |
LoRA(r=16) |
Flux-Mini |
1.06 |
25.84 |
10.60 |
27.76 |
1024 |
全量微調 |
Flux-dev |
OOM |
OOM |
OOM |
OOM |
1024 |
全量微調 |
Flux-Mini |
OOM |
OOM |
10.60 |
27.76 |
📄 許可證
我們的 Flux-mini 模型權重遵循 Flux-Dev 非商業許可證。
其他代碼遵循 Apache-2.0 許可證。
🐾 免責聲明
用戶可以自由使用我們的模型和工具創建圖像,但應遵守當地法律並負責任地使用。開發者不對用戶可能的不當使用承擔任何責任。
👍 致謝
我們感謝以下倉庫的作者做出的傑出貢獻!