- O GPT-4 with Vision da OpenAI é um modelo multimodal que recebe imagens e texto juntos como entrada e responde em linguagem natural; o acesso via API foi aberto em 6 de novembro de 2023
- Na avaliação, ele foi forte em perguntas e respostas visuais (VQA) e OCR de imagens de documentos, mas apresentou erros em OCR de campo, como números de série de pneus com ângulo e contraste ruins
- Em imagens de problemas de matemática, apresentou a solução por trigonometria e a resposta correta, mas, devido à possibilidade de omissão de símbolos matemáticos, expressões manuscritas ou fórmulas complexas exigem validação separada
- Em tarefas que retornam a posição de objetos como coordenadas, as bounding boxes não correspondiam à localização real, dificultando substituir modelos dedicados de detecção de objetos
- Em tarefas que exigem leitura de estruturas em grade, como CAPTCHA, palavras cruzadas e sudoku, e em pedidos de identificação de pessoas, há limitações; por isso, é necessário testar caso a caso antes de usá-lo como camada de inferência em pipelines de compreensão de imagens
Características e forma de acesso do GPT-4V
- O GPT-4 with Vision também é chamado de GPT-4V ou GPT-4V(ision), e é um modelo multimodal desenvolvido pela OpenAI
- O usuário pode fazer upload de uma imagem e depois fazer perguntas sobre ela; essa tarefa corresponde a perguntas e respostas visuais (VQA)
- Ele pertence à categoria de grandes modelos multimodais (LMMs), que processam múltiplas modalidades de entrada, como texto e imagem
- Modelos da mesma categoria incluem CogVLM, IDEFICS, LLaVA e Kosmos-2
- Modelos open source podem ser implantados offline e no dispositivo, mas o GPT-4V é acessado por uma API hospedada
- O GPT-4V pode ser usado no app iOS do ChatGPT da OpenAI, na interface web e na API
- O uso da ferramenta web exige assinatura do GPT-4
- O uso da API exige acesso de desenvolvedor
- O identificador da API é
gpt-4-vision-preview
Seis tarefas de avaliação
- A avaliação usou seis tipos de tarefa para observar o alcance do que o GPT-4V consegue processar
-
Perguntas e respostas visuais (VQA)
-
Reconhecimento óptico de caracteres (OCR)
-
OCR matemático
-
Detecção de objetos
-
Leitura de CAPTCHA
-
Palavras cruzadas e sudoku
Resultados de perguntas e respostas visuais
- Em uma imagem de meme sobre visão computacional, ele explicou por que era engraçada, usando vários componentes da imagem e as relações entre eles
- Também leu o texto dentro da imagem e o usou na resposta
- Porém, leu incorretamente o rótulo do frango frito como “NVIDIA BURGER” em vez de “GPU”
- Em uma foto de uma moeda de 1 centavo dos EUA, identificou com sucesso a origem e o valor nominal
- Em uma imagem com várias moedas, quando perguntado “How much money do I have?”, identificou a quantidade de moedas, mas não reconheceu imediatamente o tipo de moeda
- Em uma pergunta seguinte, identificou com sucesso o tipo de moeda
- Ao perguntar “Is it a good movie?” sobre uma foto de uma cena do filme Pulp Fiction, ele forneceu uma descrição do filme e respondeu à pergunta mesmo sem o nome do filme ter sido dado em texto
- Em uma pergunta seguinte sobre a nota no IMDB, respondeu com a pontuação vigente em janeiro de 2022
- Isso mostra, como em outros modelos GPT da OpenAI, a ausência de conhecimento depois de determinado ponto no tempo
- Ao perguntar “Where is this?” em uma foto de San Francisco, identificou o local como San Francisco e mencionou a Transamerica Pyramid na imagem como um importante ponto de referência da cidade
- Ao perguntar o nome da planta e como cuidar dela em uma foto de um peace lily, identificou a planta como peace lily e ofereceu conselhos de cuidado
- Foi possível obter uma resposta em linguagem natural sem um processo em duas etapas de primeiro identificar a planta com um modelo de classificação separado e depois perguntar ao GPT-4 sobre os cuidados
OCR e OCR matemático
- A avaliação de OCR geral foi feita com texto escrito em um pneu e uma imagem de parágrafos de um documento digital
- Na imagem do pneu, ele não identificou corretamente o número de série
- Alguns números estavam corretos, mas o resultado continha vários erros
- Isso revelou limitações em OCR em ambientes reais com baixo contraste ou ângulos inclinados
- Em uma imagem de documento contendo texto de uma página web, leu com sucesso o texto na imagem
- Mostrou resultados úteis para tarefas de extração de texto de documentos
- No teste de OCR matemático, foi fornecida uma captura de tela de um problema de matemática de um documento e solicitado “Solve it.”
- O modelo identificou que era um problema que podia ser resolvido por trigonometria
- Escolheu a função a ser usada e forneceu uma solução passo a passo
- Também apresentou a resposta correta
- O system card do GPT-4V da OpenAI lista como limitação que o modelo pode deixar passar símbolos matemáticos
- Em testes com fórmulas escritas à mão em papel ou outros tipos de equações, podem aparecer falhas na capacidade de responder a problemas de matemática
Limitações em detecção de objetos e compreensão espacial
- Detecção de objetos é uma tarefa básica na área de visão computacional, e a avaliação verificou a capacidade de identificar a localização de vários objetos em uma imagem
- Ao detectar um cachorro em uma imagem com um cachorro e solicitar os valores
x_min, y_min, x_max, y_max, as coordenadas retornadas pelo GPT-4V não correspondiam à posição real do cachorro
- Embora sua capacidade de responder perguntas sobre imagens seja forte, ele não consegue substituir um modelo de detecção de objetos ajustado especificamente em situações em que é necessário saber onde um objeto está dentro da imagem
CAPTCHA, palavras cruzadas e sudoku
- O teste de CAPTCHA foi conduzido com uma tarefa que a OpenAI pesquisou e abordou no system card
- O GPT-4V identificou que havia um CAPTCHA na imagem, mas frequentemente falhou no teste em si
- No exemplo de CAPTCHA com semáforos, deixou de marcar algumas células que continham semáforos
- No exemplo de CAPTCHA com faixa de pedestres, classificou corretamente algumas células, mas classificou incorretamente uma célula como faixa de pedestres
- Ao pedir “Solve it.” em uma foto de palavras cruzadas, ele inferiu que a imagem era de palavras cruzadas e tentou resolvê-las
- As pistas pareciam ter sido lidas corretamente, mas a estrutura do tabuleiro foi interpretada de forma errada, levando a uma resposta incorreta
- No teste de sudoku, também identificou o jogo em si, mas interpretou mal a estrutura do tabuleiro e retornou um resultado impreciso
- Em tarefas nas quais a estrutura em grade e o arranjo espacial são essenciais, as limitações de interpretação estrutural do GPT-4V afetam a precisão das respostas na prática
Usando a API do GPT-4V com Python
- A API do GPT-4V pode ser chamada de qualquer linguagem de programação, e a OpenAI fornece um pacote oficial para Python
- O pacote Python é instalado com o comando a seguir
pip install openai
- Obtenha a chave de API no site da OpenAI e exporte-a como a variável de ambiente
OPENAI_API_KEY
export OPENAI_API_KEY=""
- O código de exemplo envia texto e uma URL de imagem ao modelo
gpt-4-vision-preview para solicitar a leitura do texto dentro da imagem
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Read the text in this image."},
{
"type": "image_url",
"image_url": {
"url": "https://media.roboflow.com/swift.png",
},
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
- Por meio do pacote Python, é possível fornecer como entrada uma URL de imagem ou uma imagem codificada em base64
- O formato da API pode ser conferido na documentação do OpenAI GPT-4 with Vision
- Na imagem de exemplo, o GPT-4V identificou com sucesso como texto o parágrafo dentro da imagem
Segurança, limitações e uso prático
- A OpenAI realizou pesquisas com uma versão alfa do modelo de visão disponibilizada a um pequeno número de usuários, e também conduziu red teaming, no qual especialistas externos avaliaram qualitativamente as limitações e os riscos do modelo e do sistema
- As limitações no system card do GPT-4V são as seguintes
- Pode deixar passar textos ou caracteres dentro de imagens
- Pode deixar passar símbolos matemáticos
- Pode não reconhecer posições espaciais e cores
- A OpenAI tentou identificar, pesquisar e mitigar diversos riscos relacionados ao modelo
- O GPT-4V não identifica pessoas específicas em imagens
- Não responde a prompts relacionados a símbolos de ódio
- O system card também inclui casos em que são necessárias proteções adicionais
- Dado um prompt, o GPT-4 pode gerar conteúdo que elogia determinado grupo de ódio menos conhecido com base em símbolos desse grupo
- O GPT-4V consegue responder fluentemente a perguntas gerais sobre imagens e perguntas de acompanhamento, mas pode retornar informações incorretas por alucinação
- Em uma solicitação perguntando quem era Taylor Swift em uma foto de uma pessoa, ele se recusou a responder; segundo o system card da OpenAI, esse é o comportamento esperado
- Ele é útil para fazer perguntas e raciocinar sobre imagens, mas atualmente não é adequado para tarefas que exigem saídas precisas de visão computacional, como calcular a localização de objetos
1 comentários
Opiniões do Hacker News
Há alguns casos de borda que falham e erros, mas ainda assim só dá para chamar de impressionante
Se o ritmo atual de melhoria continuar, parece que esses modelos de IA vão se tornar uma interface de usuário melhor para quase tudo: celulares, tablets, desktops, carros, lava-louças, casas, escritórios etc.
Parece muito provável que as interfaces de muitos apps, serviços e dispositivos — e os próprios apps — sejam substituídos por uma IA que faz o que você quer, quando você quer
Muita gente vai detestar isso por achar assustador, mas parece inevitável; no fim, provavelmente vão acoplar também um corpo robótico e vai virar algo como “computador, prepare o café da manhã de que eu gosto”
O ponto central é que não há affordance nenhuma, e ela também é lenta. A experiência do usuário deve permitir entender intuitivamente, de relance, quais funções estão disponíveis, executá-las com um toque e mostrar o novo estado imediatamente
Onde a IA vai brilhar é no papel de assistente que ajuda a aprender e usar interfaces existentes. Por exemplo, ela pode fazer melhor o trabalho que antes era perguntar ao Google “como faço recuo deslocado na página Works Cited no Microsoft Word?”
Para tarefas ocasionais, será uma ajuda enorme, mas vai complementar as interfaces, não substituí-las. Em 99% das tarefas feitas por hábito repetitivo, uma UI tradicional é muito mais eficiente, e também há muitos ambientes em que usar uma interface de voz é difícil ou inadequado
Parece uma cabeça dentro de um pote de Futurama, que não consegue fazer nada sozinha
Qualquer coisa que se chame “eletrodoméstico” deveria poder ser consertada por um técnico local; caso contrário, é só jogar dinheiro fora
Chatbots baseados em LLM podem ser muito atraentes para usuários entre os 30% mais alfabetizados dos países desenvolvidos, mas não são uma boa UI universal
Ainda é preciso oferecer caminhos para que o usuário conclua o que precisa sem necessariamente formular seus requisitos de forma explícita em palavras
É por isso que muita gente senta diante de serviços como o ChatGPT, pergunta “para que eu uso isso?” e nunca mais usa
Um funcionário também é uma espécie de UI de uso geral, mas muitas vezes eu sei melhor do que um agente — humano ou computador — o que eu quero. Isso já antes de considerar o problema principal-agente
A análise de gráficos é impressionante: https://imgur.com/a/iOYTmt0
Também parece possível transformar uma UI em frontend. Parece entender não só texto, mas também os elementos gráficos e o layout da UI
https://twitter.com/skirano/status/1706823089487491469
Também consegue descrever corretamente imagens de quadrinhos painel por painel: https://twitter.com/ComicSociety/status/1698694653845848544?...
Há muitos exemplos aqui também: https://www.reddit.com/r/ChatGPT/comments/16sdac1/i_just_got...
Basicamente, parece visão computacional reforçada. Multimodalidade era um fruto relativamente baixo, então é bom ver isso começando agora
Fico imaginando como seria se o GPT-4 conseguisse manipular sons e imagens com metade da capacidade com que lida com texto. Ainda não há modelos multimodais treinados em grande escala desde o início, então muitas das sinergias possíveis ainda são desconhecidas
O teste “por que esta imagem é engraçada?” lembra https://karpathy.github.io/2012/10/22/state-of-computer-visi...
Em 10 anos, passamos de “nem o estado da arte sabe por onde começar para conseguir isso” para “são US$ 0,0004 por token, tenha um bom dia”
O engraçado é que agora o chefe dele seguiu exatamente esse caminho e trouxe isto
A expressão “entendeu mal a estrutura” soa como um erro pequeno, mas o tabuleiro de sudoku é quase uma alucinação completa
Há algumas regiões parecidas, mas parece bem provável que seja coincidência. Acho que palavras cruzadas teriam dado um resultado parecido mesmo fornecendo apenas as pistas, sem a grade
Os outros casos depois do OCR e do reconhecimento básico também parecem errar de forma semelhante. Não é que “o GPT-4V deixou passar alguns quadrados com semáforos”; ele mandou clicar em quadrados que nem existiam
Uso o ChatGPT com bastante frequência, mas ele hesita tanto para responder a qualquer pergunta um pouco subjetiva que muitas vezes irrita
Até na resposta sobre Pulp Fiction vem uma frase como “mas se você pessoalmente considera Pulp Fiction um bom filme depende do seu gosto cinematográfico”
Para evitar esse ruído, se eu coloco na consulta algo como “omita qualquer introdução ou ressalva dizendo que x é subjetivo”, os resultados ficam muito melhores
“Sempre responda diretamente. Não inclua explicações adicionais, isenções de responsabilidade, limitações de especialidade nem diretrizes de interação humana. Seja conciso. Não dê conselhos nem explicações que não foram solicitados. Mantenha neutralidade em todos os assuntos. Nunca peça desculpas.”
A piada do hambúrguer da NVIDIA parece não ter sido explicada direito
A imagem zomba da forma como a NVIDIA faz discriminação de preço ao não colocar a quantidade necessária de VRAM nas GPUs de consumo, e tenta não irritar os gamers enquanto vende GPUs completas de data center por preços absurdos
A explicação do GPT-4V não chegou nem perto desse ponto central
Mesmo dando uma olhada no que parece ser o original no Facebook, não vejo gamers falando de discriminação de preços nem fazendo interpretações próximas disso
Pode ser que esse seja o motivo para economizar VRAM, mas essa explicação acrescenta muito mais contexto do que aquele em que o autor do meme ou quem o recebe está focando ou entende
Disse que o pão pequeno era “GPU and VRAM” e que o frango frito enorme era “NVIDIA BURGER”, mas na verdade o pão pequeno deveria ser “VRAM” e o frango frito enorme, “GPU”
Alguém com acesso poderia dizer o que o GPT-4V fala sobre esta imagem?
http://karpathy.github.io/assets/obamafunny.jpg
É uma imagem que Andrej Karpathy usou em 2012 como exemplo que seria muito difícil para um modelo interpretar. Fico curioso para saber como é 11 anos depois
A resposta 1 explicou que era um momento casual em um lugar que parecia um corredor ou passagem, com o homem à esquerda olhando para dentro de uma sala, o homem ao lado em pé sobre uma balança fazendo anotações, e as pessoas ao fundo conversando
Disse que o clima parecia leve e alegre, e que a arquitetura e o interior lembravam um espaço institucional, como um escritório ou uma instalação governamental
A resposta 2 foi: “Desculpe, mas não posso ajudar com isso”
Em um novo chat, ao perguntar “Por que esta imagem é engraçada?”, ele citou como motivos o fato de figuras oficiais terem sido capturadas em um momento informal, a diferença de altura, as expressões faciais e o contraste entre o cenário parecido com uma escola ou ginásio e o uso de ternos
Em um novo chat, ao perguntar “O que a pessoa no meio está fazendo com o pé e por quê?”, ele respondeu que a pessoa no meio parecia estar pisando brincando na balança enquanto a pessoa alta se pesava, para aumentar temporariamente o número
No geral, ele não percebeu sozinho que o pé estava sobre a balança nem conectou isso como o ponto central; parece que só acertou depois que essa informação foi fornecida. Antes disso, ficou perdido em generalidades sobre a imagem
A inconsistência entre as duas respostas sobre o conjunto de moedas incomoda bastante
Só pela primeira resposta, parece que ele não consegue distinguir a moeda, mas a segunda mostra que, na verdade, consegue
Como LLMs não refletem um modelo interno consistente desse tipo, fica difícil para o usuário decidir como deve raciocinar sobre um interlocutor de IA, e isso é um problema sério de usabilidade no momento
Se algum detalhe é importante, basta perguntar especificamente sobre ele. Não parece necessariamente relacionado a um problema de modelo interno consistente
Aí, em muitos casos, ele se corrige corretamente sozinho ou admite que algum item foi uma alucinação. Eu rio toda vez que vejo
Ela não está realmente revisando; é como se deixasse fluir na tela uma espécie de corrente linguística de pensamento
Então, quando você pede para ela repensar o que acabou de dizer, só aí parece que ela de fato olha de novo e reflete
Disseram que o GPT-4V chamou o frango frito de “NVIDIA BURGER”, mas qualquer pessoa do Meio-Oeste dos EUA diria que aquilo é claramente um tenderloin
https://www.seriouseats.com/best-breaded-pork-tenderloin-san...
Assim como a versão de texto, estranhamente ele ainda é muito fraco em jogo da velha
Dei uma foto de uma partida encerrada e perguntei “Quem ganhou?”, e ele respondeu que “X ganhou com uma coluna vertical na coluna do meio”, mas na verdade O tinha vencido, e havia apenas um X na coluna do meio
Ainda assim, foi muito impressionante em quase todo o resto que eu testei
Com instruções cuidadosas, dá para obter um jogo da velha perfeito