🚀 KOALA-Lightning-700Mモデルカード
KOALA-Lightning-700Mは、自己注意ベースの知識蒸留法を用いて訓練されたテキストから画像を生成するモデルです。SDXL-Lightningを教師モデルとし、LAION-POPデータセットの一部を使って訓練されています。このモデルは、SDXLに比べてモデルサイズを大幅に削減し、推論速度を向上させています。
📚 詳細ドキュメント
概要
- 訓練手法:自己注意ベースの知識蒸留法を用いて訓練されています。
- 教師モデル:SDXL-Lightning
- 訓練データセット:LAION-POPデータセットの一部
- 訓練反復回数:バッチサイズ128で500K回
- 訓練GPU:4台のNVIDIA A100 (80GB)
KOALA-Lightningモデル
モデル |
リンク |
koala-lightning-1b |
https://huggingface.co/etri-vilab/koala-lightning-1b |
koala-lightning-700m |
https://huggingface.co/etri-vilab/koala-lightning-700m |
概要説明
全文を表示
テキストから画像への合成モデルが大規模化するにつれ、より高価で大容量のGPUが必要となり、推論コストが増加します。これにより、モデルの再現が困難になり、訓練データセットへのアクセスも制限されます。本研究では、これらの推論コストを削減し、公開されているデータセットとオープンソースモデルのみを使用して、テキストから画像への生成能力をどこまで拡張できるかを探ります。このため、事実上の標準的なテキストから画像へのモデルであるStable Diffusion XL (SDXL)を使用して、効率的なテキストから画像へのモデルを構築するための3つの重要な手法を提案します。
1. **知識蒸留**:SDXLの生成能力を効果的に効率的なU-Netに蒸留する方法を探索し、自己注意が最も重要な部分であることを見出しまし。
2. **データ**:少ないサンプルでも、豊富なキャプションを持つ高解像度の画像は、短いキャプションを持つ多数の低解像度の画像よりも重要です。
3. **教師モデル**:ステップ蒸留された教師モデルにより、テキストから画像へのモデルはノイズ除去ステップを減らすことができます。
これらの知見に基づいて、2種類のコンパクトなU-Net (1Bと700M)を持つ効率的なテキストから画像へのモデルであるKOALA-TurboとKOALA-Lightningを構築し、SDXLのU-Netのモデルサイズを最大54%と69%削減しまし。特に、KOALA-Lightning-700MはSDXLよりも4倍速く、十分な生成品質を維持しています。また、SDXLとは異なり、KOALAモデルは8GBのVRAMを持つコンシューマーグレードのGPU (3060Ti)でも1024pxの高解像度画像を生成できます。我々は、KOALAモデルが、資源制約のある環境での学術研究者や一般ユーザーにとって、SDXLの費用対効果の高い代替手段として大きな実用的影響を与えると信じています。
これらの1024x1024のサンプルは、NVIDIA 4090 GPU上で0.66秒で10回のノイズ除去ステップを使用してKOALA-Lightning-700Mによって生成されました。
アーキテクチャ
残差ブロックとトランスフォーマーブロックを削減することで実現された2種類の圧縮U-Net、KOALA-1BとKOALA-700Mがあります。
U-Net比較
U-Net |
SDM-v2.0 |
SDXL-Base-1.0 |
KOALA-1B |
KOALA-700M |
パラメータ数 |
865M |
2,567M |
1,161M |
782M |
チェックポイントサイズ |
3.46GB |
10.3GB |
4.4GB |
3.0GB |
トランスフォーマーブロック |
[1, 1, 1, 1] |
[0, 2, 10] |
[0, 2, 6] |
[0, 2, 5] |
ミッドブロック |
✓ |
✓ |
✓ |
✗ |
レイテンシー |
1.131s |
3.133s |
1.604s |
1.257s |
- Txはトランスフォーマーブロック、CKPTは訓練されたチェックポイントファイルを意味します。
- レイテンシーは、NVIDIA 4090 GPU (24GB)でFP16精度、25回のノイズ除去ステップで測定されました。
- SDM-v2.0は768x768の解像度を使用し、SDXLとKOALAモデルは1024x1024の解像度を使用します。
異なるGPUでのレイテンシーとメモリ使用量の比較
NVIDIA 3060Ti (8GB)、2080Ti (11GB)、および4090 (24GB)などのさまざまなコンシューマーグレードのGPUを使用して、SDXL-TurboとKOALA-Turboモデルの推論時間を512x512の解像度で、その他のモデルを1024x1024の解像度で測定しました。'OOM'はメモリ不足を示します。SDXLモデルは8GBのVRAMを持つ3060Tiでは動作できませんが、我々のKOALAモデルはすべてのGPUタイプで動作できます。
主な特徴
- 効率的なU-Netアーキテクチャ:KOALAモデルは、前作のStable Diffusion XL (SDXL)と比較して、モデルサイズを最大54%と69%削減する簡略化されたU-Netアーキテクチャを使用しています。
- 自己注意ベースの知識蒸留:KOALAの核心技術は、自己注意特徴の蒸留に焦点を当てており、これが画像生成品質を維持するために重要であることが証明されています。
モデルの説明
💻 使用例
基本的な使用法
ノイズ除去ステップ25での推論コードは次の通りです。
import torch
from diffusers import StableDiffusionXLPipeline, EulerDiscreteScheduler
pipe = StableDiffusionXLPipeline.from_pretrained("etri-vilab/koala-lightning-700m", torch_dtype=torch.float16)
pipe = pipe.to("cuda")
pipe.scheduler = EulerDiscreteScheduler.from_config(
pipe.scheduler.config, timestep_spacing="trailing"
)
prompt = "A portrait painting of a Golden Retriever like Leonard da Vinci"
negative = "worst quality, low quality, illustration, low resolution"
image = pipe(prompt=prompt, negative_prompt=negative, guidance_scale=3.5, num_inference_steps=10).images[0]
用途
直接的な使用
このモデルは研究目的のみを想定しています。可能な研究分野やタスクには以下が含まれます。
- アートワークの生成とデザインやその他のアートプロセスでの使用。
- 教育用または創造的なツールでの応用。
- 生成モデルの研究。
- 有害なコンテンツを生成する可能性のあるモデルの安全な展開。
- 生成モデルの制限とバイアスの調査と理解。
- 以下に説明する除外される使用法は除きます。
想定外の使用
このモデルは、人やイベントの事実的または真実の表現として訓練されていないため、このようなコンテンツを生成するためにモデルを使用することは、このモデルの能力範囲外です。
制限とバイアス
- テキストレンダリング:モデルは、画像内に長い読みやすいテキストをレンダリングする際に課題に直面しています。
- 複雑なプロンプト:KOALAは、複数の属性を含む複雑なプロンプトに対処するのに苦労することがあります。
- データセット依存性:現在の制限は、部分的に訓練データセット(LAION-aesthetics-V2 6+)の特性に起因しています。
引用
@misc{Lee@koala,
title={KOALA: Empirical Lessons Toward Memory-Efficient and Fast Diffusion Models for Text-to-Image Synthesis},
author={Youngwan Lee and Kwanyong Park and Yoorhim Cho and Yong-Ju Lee and Sung Ju Hwang},
year={2023},
eprint={2312.04005},
archivePrefix={arXiv},
primaryClass={cs.CV}
}