Ao vivo 18/11 · Turma 318 nov às 19:00 MSK — aula prática gratuita de agentes de IA · Turma 3 ao vivo começa 23/11Aula 18/11 →Turma 3 (23/11)
LançamentoAnálise · No radarHabr AI→ original

Passos do sampler por ângulo de rotação igual reduziram o erro de um modelo de flow em 30–43%

A ideia é simples: um sampler multipasso já guarda a velocidade anterior, e o cosseno entre a velocidade antiga e a nova indica o quanto a trajetória está curvando. O autor tentou transformar isso em um passo adaptativo no modelo Anima. O controlador perdeu para o cronograma padrão por causa do primeiro passo às cegas. Já a grade de passos construída previamente, com ângulo de rotação igual em cada passo, trouxe um ganho expressivo.

Processado por IA de Habr AI; editado por Hamidun News
Passos do sampler por ângulo de rotação igual reduziram o erro de um modelo de flow em 30–43%
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dado-chave #1Erro 30–43% menor que o cronograma do ComfyUI com 8–24 chamadas à rede
Dado-chave #2O controlador de "passo pelo cosseno" perde: o primeiro passo é dado às cegas
Dado-chave #3Apenas Anima, 12 amostras; em texturas, o resultado por LPIPS é pior

Cada passo de um modelo de flow na geração de imagens custa uma passagem completa por uma rede grande. Por isso, todo mundo quer menos passos com a mesma qualidade, e a questão central é onde posicionar esses passos. O autor de um estudo publicado no Habr testou uma ideia elegante: tirar uma pista de algo que o sampler já calcula de graça. A ideia sobreviveu só pela metade, e a segunda metade se mostrou mais prática que a primeira.

Um sinal gratuito e o que ele enxerga

Um sampler multipasso, como o Adams-Bashforth, guarda a velocidade anterior. O cosseno entre a velocidade antiga e a nova não exige chamadas extras à rede. Se ele fica próximo de 1, a trajetória é quase reta e o passo pode aumentar. Se a direção muda de forma brusca, é melhor dividir o passo.

O sinal tem um ponto cego: o cosseno enxerga a rotação da velocidade, mas não a mudança no seu comprimento. No Anima, isso quase não atrapalha no meio da trajetória, onde o comprimento responde por 0,3–0,4% da energia de aceleração. Nas extremidades, a contribuição do comprimento sobe para 8–9%, e em alguns pontos chega a 23%.

A estimativa de erro do passo de Euler, E = (h/2)·|v|·θ, em que θ é o ângulo entre velocidades vizinhas, funciona bem. Sua razão mediana em relação ao erro real é de 80–84%, e a correlação entre unidades (combinações de prompt e seed) chega a 91–92%. Falta apenas uma constante de calibração.

Há também um piso de ruído. Em bf16 com classifier-free guidance, o ângulo entre cálculos vizinhos de velocidade oscila em cerca de 1,7°. Isso é arredondamento numérico, não irregularidade do fluxo. Um controlador que mira um ângulo abaixo desse piso colapsa para o passo mínimo.

O controlador perdeu, a grade venceu

O controlador adaptativo h_next = h · (ângulo_alvo / ângulo_medido), com o mesmo número de chamadas, ficou pior que o cronograma padrão. O erro dependeu não do ângulo-alvo, mas do passo inicial: 0,80 com passo de 0,06, 0,51 com 0,02 e 0,26 com 0,01. O motivo é que o primeiro passo não tem histórico, e o controlador fica cego justamente onde a curvatura é máxima.

Então o autor construiu previamente uma grade estática. Ele fez a média do ritmo de rotação da velocidade nas outras 11 unidades e distribuiu os passos de modo que o ângulo de rotação fosse igual em cada um. Depois, rodou o Euler comum.

Resultado: o erro em relação à solução convergida ficou 30–43% menor com 8, 12, 16 e 24 chamadas, em comparação com o cronograma padrão do ComfyUI. Ao incluir o perfil de propagação do erro (o erro inicial pesa cerca de quatro vezes mais no final), o ganho chega a 41–50%. Com isso, 8 chamadas produzem menos erro que o cronograma padrão com 24. Em um prompt com rosto, a grade chega à composição de referência já em 8 passos, enquanto o cronograma padrão desenha outra.

Adaptar a grade a uma imagem específica não acrescentou nada. Uma grade obtida de uma imagem e aplicada a outra resultou no mesmo erro. Ou seja, o ganho vem do formato da grade, não do ajuste à trajetória.

Onde isso quebra

A métrica muda o quadro. Por LPIPS, a grade ganha 30–35% e vence em 9–11 das 12 unidades. Em preenchimentos planos, rostos e grades geométricas, o LPIPS é 39–48% menor. Mas, em um prompt de textura (pelo), o LPIPS fica cerca de 16% pior, embora a distância no espaço latente tenha melhorado. A grade concentra passos no início, onde a composição é decidida, e coloca poucos no final, onde surge a textura fina, por isso a imagem sai mais lisa.

O autor lista as limitações com honestidade:

  • um modelo (Anima), uma resolução, uma escala de guidance;
  • 12 unidades, então efeitos menores que 5–8% não aparecem;
  • as hipóteses não foram fixadas antes das medições, e a descoberta sobre o primeiro passo veio post hoc;
  • só Euler e Adams-Bashforth 2 foram testados, e nessas grades o segundo é pior que o Euler;
  • a ideia não é nova: uma abordagem semelhante foi proposta no CAT-Flow, com o qual o autor não fez comparação.

O que fazer com isso

Se você roda um modelo de flow no ComfyUI e conta as chamadas à rede, não vale presumir que o cronograma padrão seja ótimo para poucos passos. Para o Anima, o repositório traz listas prontas de sigmas para 8, 12, 16 e 24 chamadas. Elas podem ser passadas ao nó de sigmas manuais com o sampler euler padrão (576×768, CFG 5).

Para outro modelo, é preciso coletar trajetórias de referência e calcular o perfil de ritmo de rotação. Cada imagem leva cerca de dois minutos. O autor não verificou quantas imagens são suficientes. Em cenas com textura, vale comparar a grade a olho, e não apenas pela métrica latente. O código, 30 testes e o preprint estão disponíveis no repositório YakovSava/zero-cost-proxy-research.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Um sinal gratuito e o que ele enxerga?

Um sampler multipasso, como o Adams-Bashforth, guarda a velocidade anterior. O cosseno entre a velocidade antiga e a nova não exige chamadas extras à rede. Se ele fica próximo de 1, a trajetória é quase reta e o passo pode aumentar. Se a direção muda de forma brusca, é melhor dividir o passo. O sinal tem um ponto cego: o cosseno enxerga a rotação da velocidade, mas não a mudança no seu comprimento.

O que se sabe sobre O controlador perdeu, a grade venceu?

O controlador adaptativo h_next = h · (ângulo_alvo / ângulo_medido), com o mesmo número de chamadas, ficou pior que o cronograma padrão. O erro dependeu não do ângulo-alvo, mas do passo inicial: 0,80 com passo de 0,06, 0,51 com 0,02 e 0,26 com 0,01. O motivo é que o primeiro passo não tem histórico, e o controlador fica cego justamente onde a curvatura é máxima. Então o autor construiu previamente uma grade estática.

Onde isso quebra?

A métrica muda o quadro. Por LPIPS, a grade ganha 30–35% e vence em 9–11 das 12 unidades. Em preenchimentos planos, rostos e grades geométricas, o LPIPS é 39–48% menor. Mas, em um prompt de textura (pelo), o LPIPS fica cerca de 16% pior, embora a distância no espaço latente tenha melhorado. A grade concentra passos no início, onde a composição é decidida, e coloca poucos no final, onde surge a textura fina, por isso a imagem sai mais lisa.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…