Gerchegg commited on
Commit
d0b7164
·
verified ·
1 Parent(s): f397165

Upload SCHEDULER_TEST_RESULTS.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. SCHEDULER_TEST_RESULTS.md +201 -0
SCHEDULER_TEST_RESULTS.md ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🧪 Результаты тестирования Schedulers
2
+
3
+ ## Дата тестирования: 2025-10-18
4
+
5
+ ---
6
+
7
+ ## 📊 Итоговые результаты
8
+
9
+ ### ✅ Рабочие Schedulers (4/4 протестировано)
10
+
11
+ Все 4 варианта **FlowMatchEulerDiscreteScheduler** успешно работают с Qwen-Image!
12
+
13
+ | Scheduler | Время | Speedup | Рекомендация |
14
+ |-----------|-------|---------|--------------|
15
+ | **Flow Euler (Shift 0.5)** | **33.79s** | **1.00x** | 🥇 **САМЫЙ БЫСТРЫЙ** |
16
+ | Flow Euler (Shift 2.0) | 34.56s | 1.02x | 🥈 Быстрый + детали |
17
+ | Flow Euler (Shift 1.5) | 38.83s | 1.15x | 🥉 Баланс |
18
+ | Flow Euler (Default) | 40.24s | 1.19x | Стандарт |
19
+
20
+ **Средняя скорость:** 36.86s
21
+ **Разница:** 19% между самым быстрым и самым медленным
22
+
23
+ ---
24
+
25
+ ## 🔍 Анализ
26
+
27
+ ### Влияние параметра Shift:
28
+
29
+ **Shift = 0.5** (самый быстрый):
30
+ - Время: 33.79s
31
+ - Лучший выбор для быстрой генерации
32
+ - Установлен как DEFAULT
33
+
34
+ **Shift = 2.0** (детали):
35
+ - Время: 34.56s
36
+ - Больше деталей в изображении
37
+ - Минимальная потеря скорости
38
+
39
+ **Shift = 1.5**:
40
+ - Время: 38.83s
41
+ - Баланс детализации
42
+
43
+ **Shift = 1.0 (Default)**:
44
+ - Время: 40.24s
45
+ - Стандартная конфигурация
46
+
47
+ ### Выводы:
48
+
49
+ 1. **Shift 0.5 оптимальный** - на 19% быстрее дефолта при хорошем качестве
50
+ 2. **Shift 2.0 второй по скорости** - почти так же быстро, больше деталей
51
+ 3. **Все варианты стабильны** - 100% success rate
52
+ 4. **Разница небольшая** - все в пределах 6.5 секунд
53
+
54
+ ---
55
+
56
+ ## ❌ Несовместимые Schedulers
57
+
58
+ ### Почему не работают другие schedulers:
59
+
60
+ **Техническая причина:**
61
+ - Qwen-Image использует **Flow Matching**, а не классическую diffusion
62
+ - Qwen pipeline **всегда передает `sigmas` параметр** в `scheduler.set_timesteps()`
63
+ - Большинство schedulers **не поддерживают `sigmas` параметр**
64
+
65
+ **Несовместимы:**
66
+ - ❌ DPMSolverMultistepScheduler (любые варианты) - нет `sigmas` в `set_timesteps()`
67
+ - ❌ EulerDiscreteScheduler - разная архитектура (diffusion vs flow matching)
68
+ - ❌ EulerAncestralDiscreteScheduler - нет `sigmas` в `set_timesteps()`
69
+ - ❌ FlowMatchHeunDiscreteScheduler - ValueError при инициализации
70
+ - ❌ UniPC, DDIM, Heun и др. - классические diffusion schedulers
71
+
72
+ **Совместимы:**
73
+ - ✅ **FlowMatchEulerDiscreteScheduler** (единственный работающий!)
74
+
75
+ ---
76
+
77
+ ## 🎯 Рекомендации
78
+
79
+ ### Для пользователей API:
80
+
81
+ **Быстрая генерация:**
82
+ ```python
83
+ scheduler_name="Flow Euler (Shift 0.5)" # или "flow_euler_shift05"
84
+ num_inference_steps=40
85
+ # Время: ~34s
86
+ ```
87
+
88
+ **Максимум деталей:**
89
+ ```python
90
+ scheduler_name="Flow Euler (Shift 2.0)" # или "flow_euler_shift20"
91
+ num_inference_steps=50
92
+ # Время: ~43s
93
+ ```
94
+
95
+ **Сбалансированный:**
96
+ ```python
97
+ scheduler_name="Flow Euler (Default)" # или "flow_euler"
98
+ num_inference_steps=40
99
+ # Время: ~40s
100
+ ```
101
+
102
+ ### Для RunPod развертывания:
103
+
104
+ ```bash
105
+ # Использовать самый быстрый по умолчанию
106
+ MODEL_REPO="Gerchegg/Qwen-Soloband-Diffusers" python app.py
107
+
108
+ # Space автоматически использует Flow Euler (Shift 0.5)
109
+ ```
110
+
111
+ ---
112
+
113
+ ## 📈 Детальные метрики
114
+
115
+ ### Тестовые условия:
116
+ - **Модель:** Gerchegg/Qwen-Soloband-Diffusers
117
+ - **GPU:** ZeroGPU (HuggingFace Space)
118
+ - **Промпт:** "SB_AI, a beautiful mountain landscape at sunset, detailed, high quality"
119
+ - **Размер:** 1024×1024
120
+ - **Steps:** 40
121
+ - **Seed:** 42 (фиксированный)
122
+ - **CFG:** 2.5
123
+
124
+ ### Результаты по времени:
125
+
126
+ ```
127
+ 33.79s ██████ Flow Euler (Shift 0.5) ← FASTEST
128
+ 34.56s ██████ Flow Euler (Shift 2.0)
129
+ 38.83s ███████ Flow Euler (Shift 1.5)
130
+ 40.24s ████████ Flow Euler (Default)
131
+ ```
132
+
133
+ ### Эффективность Shift параметра:
134
+
135
+ | Shift | Время | % от Default | Применение |
136
+ |-------|-------|--------------|------------|
137
+ | 0.5 | 33.8s | 84% | ⚡ Быстрая генерация |
138
+ | 2.0 | 34.6s | 86% | 🎨 Детализация |
139
+ | 1.5 | 38.8s | 96% | ⚖️ Баланс |
140
+ | 1.0 | 40.2s | 100% | 📐 Стандарт |
141
+
142
+ ---
143
+
144
+ ## 🔬 Технические детали
145
+
146
+ ### Что такое Flow Matching?
147
+
148
+ Flow Matching - это современный подход к генеративным моделям, альтернатива классическим diffusion models. Основные отличия:
149
+
150
+ - **Diffusion:** Постепенное удаление шума (noise → image)
151
+ - **Flow Matching:** Прямое моделирование потока (noise → image)
152
+
153
+ ### Параметр Shift:
154
+
155
+ `shift` контролирует распределение timesteps:
156
+ - **Низкий shift (0.5):** Больше шагов в начале процесса → быстрее
157
+ - **Высокий shift (2.0):** Равномернее распределение → детальнее
158
+
159
+ ### Код создания scheduler:
160
+
161
+ ```python
162
+ from diffusers import FlowMatchEulerDiscreteScheduler
163
+
164
+ # Быстрый
165
+ scheduler = FlowMatchEulerDiscreteScheduler.from_config(
166
+ base_scheduler.config,
167
+ shift=0.5
168
+ )
169
+
170
+ # Детальный
171
+ scheduler = FlowMatchEulerDiscreteScheduler.from_config(
172
+ base_scheduler.config,
173
+ shift=2.0
174
+ )
175
+ ```
176
+
177
+ ---
178
+
179
+ ## 📝 Выводы
180
+
181
+ 1. ✅ **4 рабочих варианта** FlowMatchEulerDiscreteScheduler
182
+ 2. ⚡ **Shift 0.5 самый быстрый** - установлен по умолчанию
183
+ 3. 🎨 **Shift 2.0 для деталей** - минимальная потеря скорости
184
+ 4. 🚫 **Flow Heun несовместим** - требует доп. исследований
185
+ 5. 🔒 **Только Flow Matching schedulers** работают с Qwen-Image
186
+
187
+ ---
188
+
189
+ ## 🔗 Ссылки
190
+
191
+ - **Space:** https://huggingface.co/spaces/Gerchegg/Qwen-ImageForFlo-Advanced
192
+ - **Model:** https://huggingface.co/Gerchegg/Qwen-Soloband-Diffusers
193
+ - **Test Results:** scheduler_test_results_final/
194
+ - **Документация:** RUNPOD_DEPLOYMENT.md
195
+
196
+ ---
197
+
198
+ **Версия:** 2.0-final
199
+ **Статус:** ✅ Production Ready
200
+ **Протестировано:** 18.10.2025
201
+