Os limites visuais dos modelos de visão e linguagem
(vlmsareblind.github.io)- Modelos de visão e linguagem (VLMs) como GPT-4o, Gemini-1.5 Pro, Sonnet-3 e Sonnet-3.5 obtêm pontuações altas em benchmarks de compreensão visual, mas ficam em média com apenas 58,57% de precisão em tarefas visuais de baixo nível que humanos resolvem facilmente
- O BlindTest verifica a percepção espacial precisa com 7 tarefas simples, como contar interseções de linhas, contato e sobreposição entre dois círculos, encontrar letras marcadas, contar formas sobrepostas, retângulos aninhados, linhas e colunas de tabelas e rotas de metrô
- A média geral é maior que a linha de base aleatória de 24%, mas mesmo o melhor modelo, Sonnet-3.5, fica em 74,94%, uma diferença grande em relação aos 100% esperados de humanos
- Mesmo alterando a resolução e a espessura das linhas, os modelos não conseguem lidar de forma estável com elementos geométricos básicos próximos ou sobrepostos e relações de posição precisas
- Quando há texto nas tabelas, o desempenho ao contar linhas e colunas melhora, mas em entradas que exigem rastreamento espacial, como mapas de metrô com mais rotas, o desempenho cai bastante
Configuração do problema e resultados gerais do BlindTest
- Paper (ArXiv), Code e Dataset foram publicados
- Os avaliados são quatro VLMs: GPT-4o, Gemini-1.5 Pro, Sonnet-3 e Sonnet-3.5
- O BlindTest verifica a percepção espacial precisa dos VLMs por meio de tarefas visuais de baixo nível que humanos resolvem facilmente
- A precisão média geral é de 58,57%, acima da linha de base aleatória de 24%, mas abaixo da precisão esperada de 100%
- Na média geral por modelo, o Sonnet-3.5 é o melhor, com 74,94%
- As principais falhas se repetem em relações de posição precisas, pequenos espaçamentos, sobreposição, rastreamento de caminhos e reconhecimento de elementos geométricos básicos
Contagem de interseções de linhas
- A tarefa consiste em contar se duas polilinhas, uma azul e uma vermelha, compostas por 2 segmentos, se cruzam 0, 1 ou 2 vezes
- As imagens foram geradas como 1.800 gráficos de linhas 2D sobre uma tela branca
- Cada linha é definida por três pontos com coordenadas x fixas e igualmente espaçadas
- As coordenadas y são amostradas aleatoriamente para produzir exatamente 0, 1 ou 2 interseções
- As opções de resposta são {0, 1, 2}, e a linha de base aleatória é de 33%
- A precisão média é GPT-4o 41,61%, Gemini-1.5 Pro 66,94%, Sonnet-3 43,41% e Sonnet-3.5 75,36%
- Nos resultados de exemplo, os VLMs não conseguem contar pontos de interseção de forma estável
Detecção de contato e sobreposição entre dois círculos
- A tarefa pergunta, em formato Yes/No, se 2 círculos preenchidos de mesmo tamanho se tocam ou se sobrepõem
- São 672 imagens, geradas variando tamanho, distância e direção dos círculos, além do tamanho da tela
- O diâmetro dos círculos é 1/4, 1/5, 1/6 ou 1/7 do tamanho da tela
- A distância entre as circunferências vai de -0,15 vez a 0,5 vez o diâmetro
- As direções são 90°, 0°, -45° e 45°
- Os tamanhos de tela são 384, 769 e 1155 pixels
- A resposta correta é determinada pela distância d entre as circunferências
- d < 0: sobrepõem-se e se tocam
- d = 0: não se sobrepõem, mas se tocam
- d > 0: não se sobrepõem e não se tocam
- A precisão média é GPT-4o 72,69%, Gemini-1.5 Pro 92,78%, Sonnet-3 84,52% e Sonnet-3.5 91,66%
- Em espaçamentos pequenos, os VLMs falham continuamente; mesmo em espaçamentos grandes, há casos em que o GPT-4o é instável
Encontrar a letra marcada com uma elipse vermelha
- Um VLM consegue identificar sozinho formas básicas, como um círculo vermelho, e também ler palavras em inglês, mas, quando uma elipse vermelha é sobreposta a uma letra específica em uma palavra, ele tem dificuldade de descobrir exatamente qual letra é
- As strings usadas são Acknowledgement, Subdermatoglyphic e tHyUiKaRbNqWeOpXcZvM
- As três strings têm larguras e alturas de letras variadas
- Todos os quatro modelos conseguem ler todas as letras quando apenas a string é fornecida como imagem
- A string aleatória foi incluída para estimar o impacto da familiaridade com a palavra na precisão
- Para cada combinação de string e letra marcada, foram criadas imagens 512×512, combinando 3 espessuras de linha da elipse vermelha, 2 tamanhos de fonte e 4 posições na tela
- Acknowledgement tem 360 imagens
- Subdermatoglyphic tem 408 imagens
- tHyUiKaRbNqWeOpXcZvM tem 480 imagens
- A precisão média é GPT-4o 70,18%, Gemini-1.5 Pro 92,81%, Sonnet-3 73,34% e Sonnet-3.5 89,22%
- Quando o modelo erra, ele tende a prever uma letra vizinha à letra marcada
Contagem de formas sobrepostas e retângulos aninhados
- A tarefa de contar círculos ou pentágonos sobrepostos, como no logotipo olímpico, verifica se VLMs que conseguem contar círculos separados também têm dificuldade com formas sobrepostas
- Na tarefa de formas sobrepostas, 5 a 9 formas de mesmo tamanho são dispostas em duas linhas em telas de 384, 769 e 1155 pixels
- O diâmetro dos círculos é C/5 ou C/10
- O comprimento do lado dos pentágonos é C/5 ou C/10
- Foram geradas 120 imagens no total
- As respostas corretas são {5, 6, 7, 8, 9}, e a linha de base aleatória é 20%
- A precisão em círculos sobrepostos é GPT-4o 42,50%, Gemini-1.5 Pro 20,83%, Sonnet-3 31,66% e Sonnet-3.5 44,16%
- A precisão em pentágonos sobrepostos é GPT-4o 19,16%, Gemini-1.5 Pro 9,16%, Sonnet-3 11,66% e Sonnet-3.5 75,83%
- A tarefa de retângulos aninhados coloca outros retângulos dentro do retângulo mais externo, sem que se toquem, e pede contar de 2 a 5 retângulos
- Foram geradas 120 imagens no total
- A precisão é GPT-4o 55,83%, Gemini-1.5 Pro 87,08%, Sonnet-3 65,00% e Sonnet-3.5 92,08%
- Nos exemplos, apenas o Sonnet-3.5 consegue contar os retângulos em várias imagens
Contagem de linhas e colunas em tabelas e rastreamento de rotas de metrô
- A tarefa de contar linhas e colunas de tabelas verifica se, mesmo em situações em que VLMs têm bom desempenho com entradas que incluem tabelas, eles conseguem contar corretamente uma estrutura de grade simples
- As grades têm formatos N×N, N×N' e N'×N, em que N vai de 3 a 9 e N' é N+1
- Os tamanhos de tela são 500, 1250 e 2000 pixels
- Há 2 tipos de espessura de linha
- Incluindo grades vazias e grades com palavras aleatórias em cada célula, há 444 imagens no total
- Para a resposta ser correta, é preciso acertar linhas e colunas; a precisão média é GPT-4o 39,58%, Gemini-1.5 Pro 39,39%, Sonnet-3 36,17% e Sonnet-3.5 74,26%
- A média em grades vazias é 34,37%
- A média em grades com texto é 60,33%
- Quando as células contêm texto, o desempenho de todos os VLMs melhora, especialmente no Sonnet-3.5
- A tarefa do mapa de metrô pede contar o número de rotas de uma única cor que conectam dois pares específicos entre as estações A, B, C e D
- Usa telas de 512 ou 1024 pixels
- As rotas são geradas por busca em profundidade em uma grade invisível 18×18
- Cada estação tem exatamente N∈{1, 2, 3} rotas de saída
- Foram gerados 180 mapas no total
- A precisão média nas rotas de metrô é GPT-4o 47,89%, Gemini-1.5 Pro 41,60%, Sonnet-3 23,24% e Sonnet-3.5 55,53%
- Com 1 rota por estação, a média é 59,16%
- Com 2 rotas, a média é 40,69%
- Com 3 rotas, a média é 26,35%
- Conforme aumenta o número de rotas saindo de cada estação, o desempenho dos VLMs tende a piorar
1 comentários
Opiniões do Hacker News
É interessante, mas a conclusão parece bem equivocada. Escrever no resumo que “a visão deles é, na melhor das hipóteses, parecida com uma miopia em que os detalhes aparecem borrados” é um exagero, e também fico em dúvida se essa hipótese foi testada de forma adequada.
Se eu pudesse compartilhar exemplos do GPT-4v realizando tarefas visuais detalhadas bastante difíceis no trabalho, isso bastaria para contestar essa conclusão. Pessoalmente, dou mais valor a este artigo: https://arxiv.org/abs/2404.04125, cuja tese é que grandes modelos generativos de IA se saem muito bem quando se pressupõe que viram muitos dados daquele tipo durante o treinamento. Se você criar tarefas deliberadamente estranhas, eles podem ir muito mal e a primeira impressão de AGI fica mais fraca, mas, na prática, não usamos apenas tarefas feitas para derrubar o modelo. Em tarefas específicas, o desempenho pode ser bom, e este artigo não apresenta evidências substanciais suficientes para esses dois aspectos
Esses modelos não estão realmente no nível humano, mas dão a entender que chegam perto disso. O artigo mostra que ainda existe uma grande lacuna, com o modelo ficando inesperadamente confuso até em problemas simples. É preciso expor mais esse tipo de tarefa para que as pessoas entendam que são necessárias proteções e alertas suficientes antes de acreditarem que eles são adequados para uso geral
Mas chamar o modelo de “cego” ou insinuar que, em geral, seu desempenho é baixo é algo facilmente refutado só pegando o celular e colocando uma foto no app do ChatGPT. Há reações que falam do BeMyEyes e criticam os “advogados da IA”, mas com uma assinatura de 20 dólares por mês e um celular dá para testar na hora. Em tarefas do mundo real, ele funciona surpreendentemente bem e, embora não seja perfeito, é útil o suficiente na prática, muitas vezes melhor do que as alternativas ou em casos em que nem há alternativa
A tecnologia pode ser extremamente boa em tarefas de nicho isoladas. Sistemas de OCR de 10 anos atrás também eram muito confiáveis em uma única tarefa configurada. O que a IA prometeu foi um novo paradigma que não ficasse preso a nichos específicos definidos por desenvolvedores, mas, se ela deixa passar de forma consistente coisas simples que uma pessoa comum não erraria, toda a proposta de valor desmorona
Ontem tive uma experiência bastante impressionante com o GPT-4o. O portão da garagem começou a cair recentemente e, ao verificar, vi que o proprietário tinha instalado um grampo para cabo de aço de forma errada, deixando a tensão do cabo de torção solta.
Eu não sabia o nome da peça, então perguntei ao ChatGPT e, como esperado, ele identificou o componente. Para testar, perguntei se havia algo chamando atenção na foto, e ele identificou corretamente que o cabo tinha sido instalado ao contrário: o lado que deveria estar sob tensão estava por cima da ponta solta, em vez de pressioná-la e prendê-la firmemente. Para diagnosticar isso, seria preciso seguir o cabo no espaço e inferir, pela geometria, qual lado está sob tensão; claro, não dá para descartar que tenha sido um palpite sortudo. O que realmente me surpreendeu foi que um dos dois parafusos estava obviamente faltando e, mesmo depois de apontar um segundo problema de instalação, ele não percebeu isso. Screenshot: https://imgur.com/a/QqCNzOM
Ele também trouxe a mnemônica “never saddle a dead horse”, o que é uma evidência de que esse problema é comum. Seria bom fazer a mesma pergunta de novo depois de consertar
Como em outra resposta, sou cético quanto à possibilidade de o LLM simplesmente ter acertado por sorte
Até agora, VLMs não se saíam bem em tarefas como contar objetos ou relações espaciais, por exemplo, verificar se o café está à direita do micro-ondas.
Há formas de ajudar VLMs; um exemplo representativo é o Set of Marks da Microsoft https://github.com/microsoft/SoM. A abordagem consiste em, antes de enviar a imagem ao VLM, contornar regiões por segmentação e atribuir rótulos a elas. Dar às regiões rótulos “expressáveis em palavras” ajuda a fundamentar a capacidade visual do VLM, e neste artigo isso também explica por que, em “Task 6: Counting the rows and columns of a grid”, o desempenho é muito melhor quando há palavras dentro da grade.
Era um computador analógico paralelo com “neurônios” equipados com células fotoelétricas dispostos em uma grade, e dizem que conseguia contar o “número de objetos independentemente de tamanho, posição, forma e intensidade da iluminação”. Para pessoas da área, o artigo de Heinz Von Foerster de 1962, “Perception of Form in Biological and Man Made Systems”, pode ser interessante: https://distributedmuseum.illinois.edu/exhibit/biological_computer_laboratory/, https://sites.evergreen.edu/arunchandra/wp-content/uploads/sites/395/2018/05/bcl082.pdf
É como descrever uma imagem como “pássaros pousados em fios elétricos diante de um céu azul com nuvens” e então alinhar o embedding dessa descrição ao embedding da foto. Se você perguntar se há pássaros, ele consegue saber, mas não sabe quantos são. Isto é, a menos que, nos dados de treinamento, fosse comum descrever o número de pássaros pousados sobre objetos, e esse número coincidisse com frequência suficiente com a contagem real na descrição da imagem. Se quiser contar objetos, é preciso algo como YOLO.
Vision Transformers fazem uma quantidade surpreendentemente grande de compressão no tokenizer. No artigo do Chameleon, é dito que o tokenizer “codifica uma imagem de 512 × 512 em 1024 tokens discretos provenientes de um codebook de tamanho 8192”.
Isso equivale a 256 pixels por token e, considerando pixels de 24 bits, é como comprimir 256 * 24 = 6144 bits para 13 bits, que é log2(8192). An Image is Worth 32 Tokens for Reconstruction and Generation leva isso ainda mais longe. Se esses modelos funcionam de maneira parecida, não é estranho que sofram em algumas tarefas visuais.
Portanto, em certa medida, ele está “vendo”. Só que parece faltar a lógica para responder a perguntas desse tipo. Dá para testar diretamente o dataset completo aqui: https://huggingface.co/datasets/XAI/vlmsareblind/viewer/default/train
Pode ser mais uma questão de capacidade do que uma falha estrutural de generalização, e talvez se resolva naturalmente com mais escala.
Se modelos de ponta atuais como GPT-4o, Gemini-1.5 Pro, Sonnet-3 e Sonnet-3.5 estão nesse nível, o desempenho é ruim a ponto de ser bem constrangedor. Esses modelos são anunciados e vendidos como capazes de entender imagens, como orientar pessoas cegas ou ensinar geometria a uma criança.
As tarefas em que eles falham são absurdamente simples para humanos. Por exemplo, contar quantas vezes duas linhas se cruzam, detectar se dois círculos se sobrepõem, escolher a letra circulada em uma palavra, contar o número de círculos em um desenho parecido com o logotipo das Olimpíadas. Este post deveria estar no topo da primeira página.
Não é nada surpreendente que um modelo não consiga lidar com muitos casos que “são óbvios para humanos”. Aprendizado de máquina tem essas características desde o começo, e esse é um erro clássico que as pessoas cometem ao lidar com esses sistemas. Quando um modelo de aprendizado de máquina tem precisão maior que a humana na tarefa X, humanos presumem que ele também terá essa capacidade em todas as outras tarefas. No caso de uma pessoa com uma habilidade excepcional, é provável que ela também se destaque em outras tarefas, mas isso não se aplica a modelos de aprendizado de máquina. Por outro lado, também é errado concluir que, porque o modelo não vai bem na tarefa Y, sua capacidade na tarefa X é ilusória e não confiável.
A esteira das expectativas ficou mesmo tão rápida que, agora, ter desempenho abaixo do humano em qualquer categoria de problema virou algo constrangedor?
A descoberta em si é interessante, mas o título “Vision language models are blind” é exagerado e induz a uma interpretação errada dos resultados. É verdade que a forma como os VLMs detectam e processam entradas de imagem é muito diferente da dos humanos e que, em baixa resolução, a imagem é dividida em blocos e depois mapeada para tokens discretos
Esse mapeamento tem bastante perda, então, na prática, eles não conseguem acessar detalhes finos. Nesse sentido, os resultados fazem todo sentido e não são surpreendentes, mas a expressão “cegos” tem uma conotação forte, e este estudo não a sustenta. Só olhando o primeiro exemplo, com quatro gráficos de linhas 2D, quando perguntei ao Sonnet 3.5 cinco vezes, em duas ele deu respostas bastante boas. Ele errou ao dizer que o terceiro gráfico tinha 1 interseção, quando na verdade eram 2, mas no geral foi bem, e nas outras 3 vezes também respondeu que o terceiro gráfico tinha 1
Do ponto de vista de alguém que só entende superficialmente como os VLMs funcionam, aqui dá a impressão de que as pessoas que falam em corporificação podem estar parcialmente certas. Humanos conseguem refinar o reconhecimento de imagens de forma iterativa e focar em áreas de interesse, enquanto um VLM precisa processar a imagem inteira com a mesma fidelidade
Fico me perguntando se haveria uma forma de imitar isso. Por exemplo, começar com tokens visuais de baixa fidelidade e permitir que o VLM emita tokens que “foquem” em uma área específica da imagem em resolução mais alta. Mas não sei se seria possível treinar o modelo de forma eficiente com esse tipo de dado “interativo”
Mesmo que não seja necessariamente uma resolução mais alta, é uma forma de focar em uma área por meio de conexões neurais mais fortes
Pessoas em países pobres que têm a catarata removida um pouco mais tarde deveriam, em termos do hardware disponível naquele momento, passar a ter visão perfeita, mas ainda parecem carregar déficits pelo resto da vida. Não se sabe completamente o quanto o aprendizado inicial em baixa resolução afeta humanos, e isso pode ter mais a ver com a neurobiologia específica dos humanos do que com uma verdade geral sobre sistemas conexionistas. Ainda assim, é interessante pensar que alguns resultados em redes neurais artificiais podem depender muito do paradigma de treinamento, e que nem todas as falhas talvez sejam resolvidas apenas com atualizações na estrutura central
É irônico que eles falhem em testes simples que até uma criança provavelmente conseguiria resolver. Mas, quando pedi ao Gemini para ler um cartão-postal manuscrito em cursiva russa com muito ruído visual, ele leu o texto e até o traduziu para o inglês
Nem precisei dizer que o texto estava em russo. Por um lado, o que os LLMs conseguem fazer é incrivelmente impressionante; por outro, eles frequentemente tropeçam feio em problemas que parecem simples. Em carros autônomos, vemos algo parecido: acidentes em situações que quase qualquer motorista humano evitaria facilmente
Do ponto de vista algorítmico, essas tarefas visuais são, na prática, bem difíceis de programar explicitamente
Já dei algumas aulas de geometria computacional, e calcular de forma eficiente as interseções de N segmentos de reta não é tão simples quanto parece à primeira vista. Em algum ponto, é necessário haver computação para reconhecer isso, e como o LLM não foi treinado especificamente para essa tarefa, não surpreende que tenha dificuldade
No geral, geometria básica parece ser uma área pouco explorada do ponto de vista de aprendizado
Parece haver uma diferença entre os tipos de raciocínio que esses modelos aprenderam e os tipos de raciocínio necessários para um raciocínio matemático específico
Não recebemos visualmente as linhas no plano e calculamos onde elas se cruzam. Sabemos como uma interseção se parece, vemos uma, incrementamos o contador e procuramos a próxima. Se forem menos do que algo em torno de 5, processamos de uma vez; se forem mais, contamos de fato, às vezes em pequenos grupos, às vezes uma por uma
Todos os modelos, especialmente o Claude 3.5 Sonnet, parecem se sair muito melhor do que o acaso, então claramente não são cegos. A única tarefa em que o Claude Sonnet 3.5 não foi melhor que o acaso foi a de seguir vários caminhos, isto é, quando a resposta de A até C era 3, e até eu levei alguns segundos para resolver
Fica a impressão de que decidiram primeiro o título do artigo e depois avaliaram o novo Claude 3.5 Sonnet com imagens abstratas. A frase “a visão deles é, no máximo, parecida com uma miopia em que os detalhes aparecem borrados” também não faz sentido. Essas imagens avaliam a capacidade abstrata do modelo, não sua acuidade visual