mede detalhe de alta frequencia: o Q4_K_M preserva mais que o TQ3P (97,9% vs 92,0%) e o K=2 perde 53% em 16/16 pares apesar de CLIP-score ACIMA do FP16 (dissociacao)
Browse files
README.md
CHANGED
|
@@ -122,7 +122,8 @@ havia medido no SD3.5-Medium em CPU (TQ3P 24,0 vs Q4_K_M 18,9 s/it).
|
|
| 122 |
|
| 123 |
| onde você roda | escolha | por quê |
|
| 124 |
|---|---|---|
|
| 125 |
-
| **GPU** | **TQ3P (este repo)** | 1,52× mais rápido que o `Q4_K_M`, empata com o FP16, 2,44× menos bytes que o FP16 |
|
|
|
|
| 126 |
| **CPU** | **`Q4_K_M`** ([unsloth](https://huggingface.co/unsloth/FLUX.2-klein-9B-GGUF)) | 1,51× mais rápido que este artefato; ternário não é o formato certo aí |
|
| 127 |
|
| 128 |
E, em qualquer hardware, **CPU não é um caminho confortável para o 9B**: no melhor caso (RAM
|
|
@@ -143,6 +144,35 @@ Inspeção visual das amostras pareadas (`samples/`): nos 4 braços a contagem d
|
|
| 143 |
rubber ducks" sai correta e o fotorrealismo se mantém; o que muda é a trajetória de denoise
|
| 144 |
(composição levemente diferente), não a qualidade.
|
| 145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
### Leitura honesta destes números
|
| 147 |
|
| 148 |
- **O que o TQ3P entrega, em uma frase:** velocidade de denoise **igual à do FP16** (dentro de
|
|
@@ -157,8 +187,9 @@ rubber ducks" sai correta e o fotorrealismo se mantém; o que muda é a trajetó
|
|
| 157 |
afirmar é mais fraco e mais honesto: **o placar par-a-par do TQ3P contra o FP16 é 8/8**, sem
|
| 158 |
tendência direcional (no run do SD3.5 o FP ganhava 11/16), e a inspeção visual não mostra
|
| 159 |
degradação.
|
| 160 |
-
- **CLIP-score não é FID.** Mede alinhamento imagem-texto pareado, não
|
| 161 |
-
|
|
|
|
| 162 |
- **Escopo da medição:** 1 modelo, 4 steps, euler, VAE `small-decoder`. **GPU** (A100-80 PCIe):
|
| 163 |
768² e 1024², 5 repetições em regime permanente. **CPU** (EPYC 4564P, 16 vCPU): 512², 1 execução
|
| 164 |
por braço, RAM folgada. Fidelidade: 1024² na GPU, 2 seeds, 8 prompts, 1 CLIP (ViT-L/14), N=16
|
|
|
|
| 122 |
|
| 123 |
| onde você roda | escolha | por quê |
|
| 124 |
|---|---|---|
|
| 125 |
+
| **GPU, throughput** | **TQ3P (este repo)** | 1,52× mais rápido que o `Q4_K_M`, empata com o FP16, 2,44× menos bytes que o FP16 |
|
| 126 |
+
| **GPU, detalhe máximo** | `Q4_K_M` | preserva 97,9 % da energia de detalhe contra 92,0 % do TQ3P |
|
| 127 |
| **CPU** | **`Q4_K_M`** ([unsloth](https://huggingface.co/unsloth/FLUX.2-klein-9B-GGUF)) | 1,51× mais rápido que este artefato; ternário não é o formato certo aí |
|
| 128 |
|
| 129 |
E, em qualquer hardware, **CPU não é um caminho confortável para o 9B**: no melhor caso (RAM
|
|
|
|
| 144 |
rubber ducks" sai correta e o fotorrealismo se mantém; o que muda é a trajetória de denoise
|
| 145 |
(composição levemente diferente), não a qualidade.
|
| 146 |
|
| 147 |
+
### Detalhe de alta frequência — a métrica que o CLIP-score NÃO vê
|
| 148 |
+
|
| 149 |
+
O CLIP-score mede alinhamento imagem-texto; ele **não penaliza perda de micro-textura**. Medindo os
|
| 150 |
+
mesmos 16 pares com energia de detalhe (variância do Laplaciano) e fração de energia espectral acima
|
| 151 |
+
de meia-Nyquist:
|
| 152 |
+
|
| 153 |
+
| braço | bpw | energia de detalhe | vs FP16 | energia de alta freq. | pares abaixo do FP16 |
|
| 154 |
+
|---|---|---|---|---|---|
|
| 155 |
+
| FP16 | 16 | 734,2 | 100 % | 100 % | 0/16 |
|
| 156 |
+
| Q4_K_M | ~4,5 | 718,4 | **97,9 %** | 97,7 % | 10/16 |
|
| 157 |
+
| **TQ3P (K=3)** | 6,1875 | 675,3 | **92,0 %** | 95,4 % | 13/16 |
|
| 158 |
+
| TQ2P (K=2) | 4,125 | 345,3 | **47,0 %** | 68,7 % | **16/16** |
|
| 159 |
+
|
| 160 |
+
**Isto qualifica o TQ3P para baixo e é preciso dizer:** por detalhe fino o `Q4_K_M` preserva mais
|
| 161 |
+
(97,9 %) que o TQ3P (92,0 %) — o **oposto** do que o CLIP-score sugeria (99,0 % vs 99,6 %). A perda de
|
| 162 |
+
8 % do TQ3P é modesta e não aparece a olho nu nas amostras, mas existe e é medida.
|
| 163 |
+
|
| 164 |
+
**E fecha a porta para o K=2**, que testamos exatamente porque a 4,125 bpw ele é **menor** que o
|
| 165 |
+
`Q4_K_M` e seria o único ponto onde este formato poderia dominar o baseline: o K2 é 12 % menor
|
| 166 |
+
(4,85 vs 5,50 GiB) e 1,48× mais rápido que o `Q4_K_M` na GPU — mas **perde 53 % da energia de detalhe,
|
| 167 |
+
em 16/16 pares**. Visualmente: textura de pele alisada, e cenas que perdem elementos acessórios
|
| 168 |
+
(torneira, ralo, reflexos). O CLIP-score do K2 ficou em **101,6 % do FP16** — *acima* do FP — porque
|
| 169 |
+
uma imagem mais "canônica" do prompt, com menos conteúdo secundário, é premiada por essa métrica.
|
| 170 |
+
**Dissociação de manual: a métrica subiu enquanto a imagem piorou.** Por isso o K2 **não** é publicado
|
| 171 |
+
aqui: o `Q4_K_M` o domina em qualidade-por-byte.
|
| 172 |
+
|
| 173 |
+
**Lição de método:** para difusão, CLIP-score sozinho não sustenta uma afirmação de fidelidade. Um par
|
| 174 |
+
CLIP-score + energia de alta frequência já separa "diz o prompt" de "tem a textura".
|
| 175 |
+
|
| 176 |
### Leitura honesta destes números
|
| 177 |
|
| 178 |
- **O que o TQ3P entrega, em uma frase:** velocidade de denoise **igual à do FP16** (dentro de
|
|
|
|
| 187 |
afirmar é mais fraco e mais honesto: **o placar par-a-par do TQ3P contra o FP16 é 8/8**, sem
|
| 188 |
tendência direcional (no run do SD3.5 o FP ganhava 11/16), e a inspeção visual não mostra
|
| 189 |
degradação.
|
| 190 |
+
- **CLIP-score não é FID, e sozinho ele engana.** Mede alinhamento imagem-texto pareado, não
|
| 191 |
+
fidelidade perceptual. Medido aqui: o K=2 pontua **acima do FP16** no CLIP-score enquanto perde
|
| 192 |
+
**53 % da energia de detalhe** — ver a seção de alta frequência. Nenhum FID de Fréchet foi computado.
|
| 193 |
- **Escopo da medição:** 1 modelo, 4 steps, euler, VAE `small-decoder`. **GPU** (A100-80 PCIe):
|
| 194 |
768² e 1024², 5 repetições em regime permanente. **CPU** (EPYC 4564P, 16 vCPU): 512², 1 execução
|
| 195 |
por braço, RAM folgada. Fidelidade: 1024² na GPU, 2 seeds, 8 prompts, 1 CLIP (ViT-L/14), N=16
|