Pular para o conteúdo principal
InicioBlogInteligência Artificial (IA)

Explicação dos modelos de visão de linguagem (VLMs)

Os modelos de linguagem visual (VLMs) são modelos de IA que podem compreender e processar dados visuais e textuais, permitindo tarefas como legendas de imagens, respostas a perguntas visuais e geração de texto para imagem.
Actualizado 30 de ago. de 2024  · 8 min leer

Processamento de linguagem natural (NLP) e visão computacional (CV) avançaram significativamente nos últimos anos, permitindo que as máquinas compreendam textos e imagens. A integração desses campos levou ao desenvolvimento de modelos de linguagem de visão (VLMs), que podem processar e compreender dados visuais e textuais.

Os VLMs representam uma nova classe de modelos de IA que podem executar tarefas que envolvem imagens e texto, como legendas de imagens, respostas a perguntas visuais e geração de texto para imagens. Antes, essas tarefas exigiam sistemas separados e especializados, mas os VLMs oferecem uma abordagem unificada. Vamos saber mais sobre os modelos de linguagem de visão.

O que são VLMs?

No centro dos modelos de linguagem de visão está a integração da visão computacional e do processamento de linguagem natural.

O foco da visão computacional é permitir que as máquinas interpretem e analisem dados visuais, como imagens e vídeos, reconhecendo objetos, padrões e outros elementos visuais.

Por outro lado, o processamento de linguagem natural se preocupa com a compreensão e a geração de linguagem humana, permitindo que as máquinas compreendam, analisem e produzam textos.

Os VLMs preenchem a lacuna entre esses dois campos, criando modelos que podem processar e compreender simultaneamente entradas visuais e textuais. Isso é obtido por meio de arquiteturas avançadas de arquiteturas de aprendizagem profundaparticularmente modelos transformadores, que têm sido fundamentais para o sucesso de grandes modelos de linguagem, como o GPT-4o, Llama, Geminie Gemma.

Essas arquiteturas baseadas em transformadores foram adaptadas para lidar com entradas multimodaispermitindo que os VLMs capturem as relações complexas entre dados visuais e linguísticos.

Como os VLMs funcionam?

O modelo de transformador, inicialmente introduzido para tarefas de PNL, tornou-se a espinha dorsal de muitos sistemas avançados de IA devido à sua capacidade de lidar com dependências de longo alcance e capturar relações contextuais nos dados.

Arquitetura de transformador do papel Attention is All You need 2017.

Fonte: Vaswani et al., 2017

No contexto dos VLMs, os transformadores foram adaptados para processar imagens e textos, permitindo uma integração perfeita dessas duas modalidades.

Uma arquitetura VLM típica envolve dois componentes principais: um codificador de imagem e um decodificador de texto:

  • Codificador de imagem: Ele é responsável pelo processamento de dados visuais, extraindo recursos (objetos, cores, texturas etc.) e transformando-os em um formato que possa ser entendido pelo modelo.
  • Decodificador de texto: Ele processa dados textuais e gera resultados com base nos recursos visuais codificados. 

Fluxograma de como o codificador e o decodificador funcionam como fusão multimodal em um VLM

Figura 2: Função codificador-decodificador (Fonte: Viso.ai)

Ao combinar essas duas partes, os VLMs podem fazer coisas incríveis, como descrever imagens em detalhes, responder a perguntas sobre o que você vê e até mesmo gerar novas imagens com base em descrições de texto! O processo que os VLMs seguem segue as seguintes etapas:

  1. Análise de imagem: O codificador de imagem examina a imagem e cria um código que representa seus principais recursos visuais.
  2. Combinação de informações: O decodificador de texto pega esse código, combina-o com qualquer entrada de texto (como uma pergunta) e processa tudo junto.
  3. Geração de resultados: Em seguida, o decodificador de texto usa esse entendimento combinado para gerar uma resposta, como uma legenda que descreve a imagem ou uma resposta à pergunta.

A maioria dos VLMs utiliza um Vision Transformer (ViT) como codificador de imagem, que foi pré-treinado em conjuntos de dados de imagens em grande escala para garantir que ele possa capturar efetivamente os recursos visuais necessários para tarefas multimodais.

O decodificador de texto é baseado no modelo de linguagem, que foi ajustado com precisão para lidar com as complexidades da geração de linguagem no contexto de dados visuais. Essa combinação de recursos avançados de processamento visual e linguístico torna o VLM altamente versátil e avançado.

Um dos desafios mais significativos no desenvolvimento de VLMs é a necessidade de conjuntos de dados grandes e diversificados que contenham informações visuais e textuais. Esses conjuntos de dados são essenciais para treinar os modelos para entender e gerar conteúdo multimodal.

O processo de treinamento de um VLM envolve alimentar o modelo com pares de imagens e suas descrições textuais correspondentes, permitindo que o modelo aprenda as relações complexas entre elementos visuais e expressões linguísticas.

Para lidar com esses dados, os VLMs geralmente usam camadas de incorporação que transformam as entradas visuais e textuais em um espaço de alta dimensão, onde elas podem ser comparadas e combinadas.

Esse processo de incorporação permite que o modelo compreenda as conexões entre as duas modalidades e gere resultados coerentes e contextualmente relevantes.

Visão geral dos modelos de linguagem de visão de código aberto

O cenário dos modelos de linguagem de visão (VLMs) é vasto, com vários modelos de código aberto disponíveis na Internet. Hugging Face Hub. Esses modelos variam em tamanho, recursos e licenciamento, oferecendo aos usuários uma gama de opções adaptadas a diferentes aplicações. A seguir, você encontrará uma visão geral de alguns dos VLMs de código aberto mais importantes, destacando seus principais recursos:

VLMs e seus principais recursos

VLMs mais recentes e seus principais recursos (Fonte: HuggingFace)

Selecionar o VLM mais adequado para o seu caso de uso específico pode ser um desafio, dada a variedade de opções disponíveis. Várias ferramentas e recursos podem ajudar nesse processo de seleção:

  1. Arena da Visão: Uma tabela de classificação dinâmica baseada em votação anônima de resultados de modelos. Os usuários inserem uma imagem e um prompt, e os resultados de dois modelos diferentes são amostrados anonimamente, permitindo que os usuários escolham seu resultado preferido. Assim, a tabela de classificação é construída exclusivamente com base nas preferências humanas, fornecendo uma classificação imparcial dos modelos.
  2. Tabela de classificação do Open VLM: Essa tabela de classificação classifica vários VLMs de acordo com métricas e pontuações médias, oferecendo filtros para classificar os modelos por tamanho, licenciamento e desempenho em diferentes métricas.
  3. VLMEvalKit: Um kit de ferramentas projetado para executar benchmarks em VLMs, alimentando o Open VLM Leaderboard. Outro conjunto de avaliação, LMMS-Eval, oferece uma interface de linha de comando para avaliar os modelos Hugging Face usando conjuntos de dados hospedados no Hub.

Embora o Vision Arena e o Open VLM Leaderboard ofereçam informações valiosas, eles se limitam aos modelos que foram enviados e exigem atualizações regulares para incluir novos modelos. 

Referências para avaliação de VLMs

Vários benchmarks são comumente usados para avaliar o desempenho dos VLMs:

  • MMMU: O benchmark Massive Multi-discipline Multimodal Understanding and Reasoning é uma ferramenta de avaliação abrangente que cobre 11,5 mil desafios multimodais que exigem conhecimento de nível universitário em disciplinas como artes e engenharia.
  • MMBench: Esse benchmark inclui 3.000 perguntas de escolha única em 20 habilidades diferentes, incluindo OCR e localização de objetos. A estratégia CircularEval é usada aqui, onde as opções de resposta são embaralhadas e o modelo deve selecionar consistentemente a resposta correta.
  • Benchmarks específicos de domínio: Outros benchmarks, como o MathVista (raciocínio visual matemático), AI2D (compreensão de diagramas), ScienceQA (resposta a perguntas científicas) e OCRBench (compreensão de documentos), oferecem avaliações mais especializadas.

Detalhes técnicos: VLMs de pré-treinamento

O pré-treinamento de VLMs envolve a unificação de representações de imagem e texto para alimentá-las em um decodificador de texto para geração. A estrutura normalmente inclui um codificador de imagem, um projetor de incorporação para alinhar as representações de imagem e texto e um decodificador de texto. No entanto, diferentes modelos empregam diferentes estratégias de pré-treinamento.

Em muitos casos, o pré-treinamento de um VLM é até desnecessário se você puder ajustar os modelos existentes para o seu caso de uso específico. Ferramentas como Transformers e SFTTrainer simplificam o processo de ajuste fino dos modelos para tarefas específicas, tornando-o acessível até mesmo para aqueles com recursos limitados.

Implementação de VLMs de código aberto 

Aqui você encontra uma implementação do HuggingFace para usar o modelo de código aberto VLM LlavaNext gratuitamente em seu Colab ou máquina local com a biblioteca Transformers do HuggingFace.

from transformers import LlavaNextProcessor, LlavaNextForConditionalGeneration
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
processor = LlavaNextProcessor.from_pretrained(
    "llava-hf/llava-v1.6-mistral-7b-hf"
)
model = LlavaNextForConditionalGeneration.from_pretrained(
    "llava-hf/llava-v1.6-mistral-7b-hf",
    torch_dtype=torch.float16,
    low_cpu_mem_usage=True
)
model.to(device)

Aplicações de VLMs

Os recursos dos modelos de linguagem de visão vão muito além da legenda de imagens. Os VLMs abriram as portas para muitos aplicativos que usam sua capacidade de preencher a lacuna entre as informações visuais e textuais. Vamos explorar algumas das aplicações mais impactantes dos VLMs em vários setores.

Resposta visual a perguntas

A resposta a perguntas visuais (VQA) é uma tarefa que envolve responder a perguntas sobre o conteúdo de uma imagem.

Esse aplicativo exige que o modelo compreenda os elementos visuais da imagem e o contexto linguístico da pergunta. Por exemplo, com uma imagem de uma paisagem urbana movimentada, um VLM pode responder a perguntas como "Qual é a cor do edifício mais alto?" ou "Quantas pessoas são visíveis na imagem?".

O VQA tem inúmeras aplicações práticas, especialmente nos setores em que os dados visuais desempenham um papel fundamental. Em saúdepor exemplo, o VQA pode ser usado para analisar imagens médicas e fornecer respostas a perguntas que ajudam no diagnóstico e no planejamento do tratamento. No varejoNo varejo, o VQA pode aprimorar a experiência de compra, permitindo que os clientes interajam com as imagens dos produtos de maneira mais natural e intuitiva.

Geração de texto para imagem

Um dos recursos mais interessantes dos VLMs é a geração de texto para imagem. Essa tarefa envolve a geração de uma representação visual de uma cena ou objeto com base em uma descrição textual. Por exemplo, um VLM pode receber uma solicitação como "Um pôr do sol sereno sobre uma cadeia de montanhas com um rio fluindo pelo vale" e gerar uma imagem correspondente.

A geração de texto para imagem tem um imenso potencial em áreas criativas, como design e publicidade. Designers e publicitários podem usar essa tecnologia para gerar rapidamente ideias visuais com base em avisos textuais. A geração de texto para imagem pode simplificar o processo de criação de conteúdo visual que se alinha a mensagens de marketing específicas.

Recuperação de imagens

A recuperação de imagens é o processo de encontrar imagens relevantes com base em uma consulta textual. Os VLMs se destacam nessa tarefa usando sua capacidade de entender tanto o conteúdo visual das imagens quanto o contexto linguístico da consulta.

Esse recurso faz com que os mecanismos de pesquisa mais eficientes e precisos, permitindo que os usuários encontrem as imagens exatas que estão procurando com mais facilidade.

A recuperação de imagens tem aplicações em vários domínios, desde o comércio eletrônico até a análise de imagens médicas. No comércio eletrônico, a recuperação de imagens pode ajudar os clientes a encontrar produtos que correspondam às suas preferências com base em descrições visuais e textuais. No setor de saúde, a recuperação de imagens pode ajudar os profissionais da área médica a encontrar imagens médicas relevantes para fins de pesquisa ou diagnóstico.

Compreensão de vídeo

Embora os exemplos acima se concentrem em imagens, os VLMs também podem ser estendidos para entender e gerar legendas para vídeos. A compreensão de vídeo envolve a análise do conteúdo visual de um vídeo e a geração de um texto descritivo que capture a essência das cenas retratadas.

A compreensão de vídeo tem aplicações em pesquisa de vídeo, resumo e moderação de conteúdo. Na pesquisa de vídeo, os VLMs podem ajudar os usuários a encontrar clipes de vídeo específicos com base em consultas textuais. Em tarefas de resumo, os VLMs podem gerar resumos concisos de vídeos longos, facilitando a compreensão rápida do conteúdo pelos usuários. Na moderação de conteúdo, os VLMs podem ajudar a identificar conteúdo inadequado ou prejudicial nos vídeos, garantindo que as plataformas mantenham um ambiente seguro e amigável.

Desafios e considerações

Vamos agora considerar os desafios associados aos VLMs, bem como os aspectos éticos.

Demandas computacionais

O treinamento e a implementação de VLMs requerem recursos computacionais significativosespecialmente para modelos grandes como o PaliGemma. Isso pode ser uma barreira para organizações com acesso limitado à infraestrutura de computação de alto desempenho.

Para enfrentar esse desafio, os pesquisadores estão explorando maneiras de tornar os VLMs mais eficientes, por exemplo, usando técnicas de compactação de modelos, otimizando a arquitetura do modelo e aproveitando aceleradores de hardware como GPUs e TPUs.

Considerações éticas e atenuação de preconceitos

O desenvolvimento de VLMs levanta várias preocupações éticas, especialmente em relação ao potencial de viés nos resultados do modelo. Os VLMs treinados em dados de texto e imagem do mundo real em grande escala podem refletir preconceitos socioculturais incorporados no material de treinamento. Essas tendências podem se manifestar nos resultados do modelo, levando a conteúdo prejudicial ou ofensivo.

Para lidar com essas preocupações, os pesquisadores estão implementando várias técnicas de atenuação de vieses, como o uso de conjuntos de dados de treinamento equilibrados, a incorporação de algoritmos de aprendizado com consciência de justiça e a realização de avaliações rigorosas dos resultados do modelo para identificar e lidar com possíveis vieses.

Além disso, organizações como o Google estão implementando filtros de segurança de conteúdo para garantir que os dados de treinamento usados por modelos como o PaliGemma sejam limpos e livres de conteúdo prejudicial.

Privacidade e segurança de dados

Outra consideração importante no desenvolvimento de VLMs é a privacidade e segurança dos dados. Os VLMs geralmente exigem acesso a grandes quantidades de dados, incluindo informações potencialmente confidenciais. Garantir que esses dados sejam tratados com segurança e em conformidade com as normas de privacidade é fundamental para manter a confiança dos usuários e das partes interessadas.

Para abordar as preocupações com a privacidade, os pesquisadores estão explorando técnicas como a aprendizagem federada, que permite que os modelos sejam treinados em dados descentralizados sem a necessidade de transferir informações confidenciais para um servidor central.

Além disso, organizações como o Google estão implementando medidas de responsabilidade de dados, como a filtragem de informações pessoais e dados confidenciais dos conjuntos de dados de treinamento, para proteger a privacidade dos indivíduos.

Conclusão

Os modelos de linguagem visual representam um avanço significativo na inteligência artificial, oferecendo o potencial de aprimorar vários aplicativos por meio de sua capacidade de processar dados visuais e textuais.

Com o avanço das pesquisas nesse campo, podemos prever o desenvolvimento de VLMs mais sofisticados, capazes de executar tarefas complexas e fornecer percepções valiosas.

A integração da compreensão visual e textual abre novas possibilidades de inovação, tornando os VLMs uma área promissora de pesquisa e desenvolvimento.

Temas

Aprenda IA com estes cursos!

Course

Image Processing in Python

4 hr
44.8K
Learn to process, transform, and manipulate images at your will.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

blog

Entendendo e atenuando o viés em modelos de idiomas grandes (LLMs)

Mergulhe em um passo a passo abrangente sobre a compreensão do preconceito nos LLMs, o impacto que ele causa e como atenuá-lo para garantir a confiança e a justiça.
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

12 min

blog

Avaliação do LLM: Métricas, metodologias, práticas recomendadas

Saiba como avaliar modelos de linguagem grandes (LLMs) usando métricas importantes, metodologias e práticas recomendadas para tomar decisões informadas.
Stanislav Karzhev's photo

Stanislav Karzhev

9 min

blog

Explicação sobre a compreensão de linguagem natural (NLU)

A compreensão de linguagem natural (NLU) é um subcampo do processamento de linguagem natural (NLP) focado em permitir que as máquinas compreendam o significado, o contexto e a intenção da linguagem humana.
Dimitri Didmanidze's photo

Dimitri Didmanidze

7 min

blog

O que é reconhecimento de imagens?

O reconhecimento de imagens usa algoritmos e modelos para interpretar o mundo visual, convertendo imagens em informações simbólicas para uso em vários aplicativos.
Abid Ali Awan's photo

Abid Ali Awan

8 min

blog

O que são embeddings vetoriais? Uma explicação intuitiva

As incorporações de vetores são representações numéricas de palavras ou frases que capturam seus significados e relacionamentos, ajudando os modelos de machine learning a entender o texto com mais eficiência.
Tom Farnschläder's photo

Tom Farnschläder

9 min

tutorial

Guia de Introdução ao Ajuste Fino de LLMs

O ajuste fino dos grandes modelos de linguagem (LLMs, Large Language Models) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de textos. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos pelo processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

12 min

See MoreSee More