O almoço grátis escondido no seu codificador de visão: O que o SigLIP-HD acerta
Baseado em: SigLIP-HD by Fine-to-Coarse Supervision — Lihe Yang, Zhen Zhao, Hengshuang Zhao
Um corredor passa correndo por uma faixa no meio da corrida. A faixa diz "HOKA TIME TO FLY", anunciando a marca de tênis de corrida. Envie essa foto para um modelo de visão-linguagem de última geração e pergunte o que a faixa diz, e você receberá: "HOOKA TIME TO FLY." Não é um erro de digitação na imagem. É um erro de digitação inventado pelo modelo, porque na resolução em que ele estava olhando, as letras ficaram borradas o suficiente para transformar um nome de marca real em uma palavra que não existe.
Esse é o modo de falha que um novo artigo chamado SigLIP-HD foi construído para corrigir, e a correção é quase suspeitadamente simples. Sem imagens maiores. Sem computação extra no momento da inferência. Sem nova arquitetura. Apenas uma maneira diferente de treinar o mesmo codificador de visão que já está dentro de uma grande parte dos modelos multimodais de hoje. Os autores, da Universidade de Hong Kong e do Shanghai AI Lab, obtêm OCR e compreensão de documentos significativamente melhores a partir do SigLIP 2 (um codificador de imagem amplamente utilizado) sem pedir que ele olhe para um único pixel extra no momento da inferência.

O instinto que todos têm, e por que é mais caro do que parece
Quando um LLM multimodal (MLLM, um modelo que recebe imagens e texto e gera texto, como o GPT-4V ou o LLaVA) lê incorretamente textos pequenos, a solução óbvia é fornecer uma imagem maior. Mais pixels de entrada, mais tokens visuais de granulação fina na saída, maiores chances de capturar cada caractere. Esta é exatamente a direção para a qual o campo se moveu: sistemas iniciais como o LLaVA redimensionavam tudo para uma imagem fixa de 336×336, e os mais recentes, como Qwen2.5-VL ou InternVL, tentam preservar a resolução nativa, às vezes dividindo um documento em uma grade de tiles (blocos) e executando o codificador de visão em cada tile separadamente.
Funciona, mas não é de graça. Dividir uma imagem em tiles significa múltiplas passes forward (encaminhamentos) pelo codificador para uma única entrada. Mais tiles significam mais tokens visuais fluindo para o modelo de linguagem, o que fica caro rapidamente, já que o custo do transformer escala com o comprimento da sequência. Portanto, os sistemas adicionam resamplers ou truques de pixel-unshuffle para comprimir esses tokens de volta, o que adiciona superfície de engenharia e modos de falha próprios. Cada aumento de resolução é um aumento de latência e custo, o tipo de coisa que aparece como timeouts (tempo esgotado) em produção muito antes que alguém atualize um número de benchmark.
Os autores fazem uma pergunta mais afiada antes de se comprometerem com qualquer uma dessas soluções: extraímos realmente tudo do que já estamos usando em termos de resolução? Sua ilustração é boa. Pegue um infográfico alto, algo como um pôster esportivo cheio de estatísticas, nativamente com 1722 pixels de altura. Reduza a resolução para uma resolução "média" padrão de 512 pixels. O texto fica borrado. Um humano, apertando os olhos na versão menor, ainda consegue ler a maior parte. Somos bons em reconstruir texto degradado a partir do contexto e de formas de letras aproximadas. Um modelo de visão está fazendo a mesma reconstrução, ou simplesmente... não está olhando com atenção suficiente para o que já tem? Se a resposta for esta última, você não precisa de uma imagem maior. Você precisa ensinar o modelo a extrair mais do que ele já está pagando para processar.
Ensinando uma imagem barata a ver como uma cara
O método é chamado de supervisão de fino para grosso (fine-to-coarse supervision), e, assim que você vê o diagrama, leva cerca de trinta segundos para entender. Comece com um codificador SigLIP 2 pré-treinado e congelado. "Congelado" significa que seus pesos estão bloqueados e intocados durante esta etapa. Alimente-o com a mesma imagem em duas escalas: uma versão base barata de 512×512 pixels e uma versão ampliada mais cara de 1024×1024. Ambas as passadas produzem uma grade de vetores de características (pense neles como o resumo interno do modelo do que há em cada pequeno patch da imagem). A passada de alta resolução obviamente captura mais detalhes finos, texto menor, bordas mais nítidas, mas produz uma grade maior, que não corresponde à forma da versão barata.
Então, os autores fazem o downsampling da grade de características de alta resolução com interpolação bilinear simples até que ela tenha a mesma forma da grade de resolução base, e depois apenas fazem a média das duas, patch por patch. Esse resultado médio é a característica "professora": algo que realmente viu o detalhe fino da passada cara, mas está empacotado na mesma forma da saída barata.
Agora, para a etapa real de treinamento. Pegue uma segunda cópia do mesmo codificador pré-treinado. Este é treinável, não congelado, e só é mostrado a imagem barata de 512×512. Ajuste-o finamente para que as características que ele produz a partir dessa única imagem barata correspondam à característica professora, patch por patch, usando uma perda L1 simples (em resumo: minimize a diferença absoluta entre as duas grades de características). Sem rótulos de texto, sem legendas sintéticas, nada anotado manualmente. A "supervisão" aqui é o modelo se ensinando usando apenas imagens brutas em tamanhos diferentes.
Após o treinamento, você descarta completamente a configuração cara do professor multi-escala. O que sobra é um único codificador que recebe exatamente a mesma entrada de 512×512, produz exatamente o mesmo número de tokens e se encaixa em um MLLM como uma troca de checkpoint drop-in, mas agora codifica, em seus pesos, alguma noção de como seria a versão de maior detalhe dessa imagem. Mesma entrada, mesmo custo, melhor saída. Esse é o truque inteiro: destilação não de um modelo professor maior e separado (a configuração usual na destilação de conhecimento), mas do mesmo modelo olhando para mais pixels da mesma imagem.
Também é barato de produzir. Os autores o treinaram em 4,5 milhões de imagens por 90.000 etapas, e toda a execução levou 34 horas em 32 GPUs A100. Compare isso com o pré-treinamento de um codificador de visão do zero, que, conforme observado no artigo, pode consumir "milhões de horas de GPU" e conjuntos de dados com um bilhão de imagens. Este é um polimento leve acoplado a um codificador existente, não um novo modelo construído do zero.

Paris - Mapa do Metrô de 1973 — por roger4336 via flickr, BY-SA 2.0.
O que a experimentação com escalas e perdas realmente revelou
Antes de chegar à receita final, os autores realizaram uma série de estudos piloto que valem a pena analisar, pois as respostas são mais interessantes do que o simples "maior é melhor".
Ao testar entradas de escala única versus múltiplas escalas para o sinal do professor, eles descobriram que combinar uma visão base de 512² com uma visão ampliada de 1024² melhorou o desempenho em 10 dos 12 benchmarks em relação ao uso de qualquer uma delas isoladamente. No entanto, adicionar uma terceira escala (1536²) ou uma quarta (2048²) parou de ajudar na maioria dos casos e, por vezes, piorou os resultados. Uma única visão de alta resolução, sem uma visão de escala base como complemento, na verdade teve desempenho inferior à combinação. O modelo parece precisar da visão global e grosseira junto com a visão local e detalhada, e não apenas de mais detalhes finos empilhados.
Eles também testaram como processar uma imagem de alta resolução quando o codificador foi treinado apenas em um tamanho menor fixo. A abordagem intuitiva, emprestada de tarefas de predição densa como segmentação, é deslizar janelas sobrepostas pela imagem para que nenhum elemento importante fique desajeitadamente na fronteira de um bloco. Aqui, isso teve efeito contrário: janelas não sobrepostas venceram. A melhor suposição deles é que as regiões sobrepostas recebem tratamento inconsistente (alguns patches são efetivamente "contados duas vezes") ou que os embeddings posicionais entram em conflito quando o mesmo conteúdo aparece em mais de uma janela. De qualquer forma, um pouco de sabedoria prévia de outro ramo da visão computacional não foi transferível.
E quando se tratava de combinar os recursos de múltiplas escalas, a opção mais simples venceu novamente: interpolação bilinear para alinhar as formas, seguida de uma média simples não ponderada, superou tanto a concatenação canal a canal quanto o downsampling por pixel-unshuffle. Eles até tentaram inclinar a média em direção aos recursos de alta resolução especificamente para benchmarks intensivos em detalhes, como VQA de documentos, na teoria de que mais detalhes finos deveriam ajudar mais onde os detalhes finos são mais importantes. Não funcionou. Uma média direta de 1:1 permaneceu a melhor opção durante todo o processo.
Os números reais e alguns erros de leitura corrigidos
Integrado ao pipeline de treinamento padrão do LLaVA com um LLM Vicuna de 7 bilhões de parâmetros, utilizando os dados de ajuste de instruções mais focados em OCR do LLaVA-NeXT, o SigLIP-HD elevou o DocVQA (um benchmark para leitura de texto em documentos digitalizados) de 56,0 para 59,6, o ChartQA (leitura de dados em gráficos e tabelas) de 61,6 para 65,2 e o HRBench (um benchmark construído especificamente em torno de detalhes visuais finos) de 43,5 para 48,3, todos em comparação com a linha de base SigLIP 2, mantendo o mesmo custo de inferência. Em média, em todos os benchmarks testados, essa configuração de treinamento passou de 62,8 para 64,4.
Os ganhos não foram específicos de um único LLM. Substituindo por um Llama-3.2-3B menor, o ChartQA saltou de 45,2 para 49,8; substituindo por Qwen2.5-7B, o DocVQA passou de 62,5 para 64,2. E não é apenas uma história do SigLIP 2: acoplado ao codificador OpenAI CLIP muito mais antigo de 2021, o mesmo truque de auto-distilação elevou o DocVQA de 22,4 para 33,2. O que quer que este método esteja fazendo, não está atrelado às peculiaridades de um codificador específico.
Dois resultados se destacam como mais do que ruído nos rankings. Primeiro, o método se soma à abordagem de "usar resolução nativa" (tiling AnyRes) em vez de competir com ela. Aplicado sobre o AnyRes, o SigLIP-HD ainda elevou o ChartQA em mais 3,5 pontos. Segundo, e é aqui que a afirmação do resumo do artigo se manifesta na prática: os exemplos qualitativos no artigo incluem exatamente o erro de leitura HOKA/HOOKA mencionado no início deste texto, além de uma foto de um quadro branco onde o modelo de linha de base lê um nome manuscrito como "Brian Owens" e a versão ajustada obtém corretamente "Bryan Owens". Pequenos, específicos, o tipo de erro que realmente aparece quando você aponta uma câmera para caligrafia ou um banner borrado no mundo real, em vez de uma página digitalizada limpa.
Por que isso importa se você está construindo ou comprando um pipeline de OCR
A lição principal não é realmente sobre o SigLIP especificamente. É que "resolução" e "orçamento de tokens", os números que os fornecedores citam ao descrever um mecanismo de OCR ou de IA para documentos, não dizem tudo sobre quanto da imagem o modelo está realmente extraindo. Dois codificadores podem receber uma imagem idêntica de 512×512, produzir um número idêntico de tokens, custar o mesmo na hora da inferência e ainda assim diferir em vários pontos nos benchmarks de documentos e gráficos, puramente devido à forma como o treinamento foi realizado. Se você está avaliando mecanismos apenas por especificações de resolução e contagem de tokens, está perdendo uma variável que importa tanto quanto.
Na prática, isso também é uma boa notícia para quem está implantando OCR em volume real, em vez de apenas benchmarking em laboratório. Pipelines de tiling em alta resolução são uma maneira legítima de capturar texto pequeno, mas eles multiplicam as passes forward e a contagem de tokens, o que multiplica a latência e o custo por documento — um número real quando você está processando milhares de páginas por dia. Um ajuste fino auto-supervisionado único, de 34 horas, que melhora a precisão sem tocar no custo de serviço é o tipo de mudança fácil de justificar e, notavelmente, fácil de reverter se não ajudar, já que se trata de uma troca de checkpoint e não de uma reestruturação.
O aviso honesto, que os autores afirmam claramente em vez de esconder: isso não torna a alta resolução nativa obsoleta. Alguns detalhes realmente são destruídos quando você faz downsample de uma imagem; nenhuma quantidade de treinamento inteligente recupera pixels que foram médios antes que o modelo os visse. O que isso te dá é espremer mais precisão do orçamento de resolução que você já comprometeu, o que, para equipes que não podem pagar para passar cada documento por um pipeline multi-tile caro, pode ser a alavanca mais útil para puxar primeiro.