Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

SigLIP

Explore o SigLIP, a abordagem de perda sigmoide com baixo consumo de memória para modelos de visão-linguagem. Saiba como melhora a escalabilidade e o treino nosYOLO Ultralytics .

O SigLIP, sigla para «Sigmoid Loss for Language Image Pre-Training», é uma abordagem altamente eficiente para o treino de modelos de visão-linguagem. Originalmente introduzido por investigadores da Google , este método altera profundamente a forma como os modelos de IA aprendem a relação entre imagens e as respetivas descrições textuais. Ao substituir as funções de probabilidade tradicionais por uma abordagem de classificação binária mais simples, o SigLIP permite aos programadores treinar arquiteturas multimodais de grande dimensão com uma sobrecarga de memória significativamente menor e maior eficiência computacional.

Compreender a arquitetura

Nos fluxos de trabalho padrão de aprendizagem automática que associam dados visuais e textuais, os modelos dependem normalmente de uma visão global de todos os dados de um determinado lote para aprenderem corretamente. O SigLIP elimina este estrangulamento ao tratar cada par imagem-texto como um problema de classificação binária independente. Utilizando uma função sigmoide padrão, o modelo limita-se a prever se uma imagem específica e a respetiva descrição textual correspondem ou não.

Esta abordagem localizada à função de perda significa que a memória necessária durante o treino do modelo varia linearmente em vez de quadrativamente. Consequentemente, os engenheiros podem utilizar lotes substancialmente maiores em configurações de hardware padrão suportadas por frameworks como PyTorch, o que leva a um melhor desempenho em diversos conjuntos de dados sem exigir aumentos exponenciais nos GPU .

Distinguir o SigLIP do CLIP

Ao explorar as arquiteturas modernas de IA, é essencial distinguir o SigLIP do seu antecessor, o CLIP (Contrastive Language-Image Pre-training).

  • CLIP: Baseia-se numa função de perda softmax, que exige que o modelo compare uma imagem com todas as descrições de texto de um lote simultaneamente. Isto cria um grave estrangulamento de memória durante o treino de aprendizagem profunda à medida que o tamanho dos lotes aumenta.
  • SigLIP: Utiliza uma perda sigmoide por pares. Só precisa de avaliar se um único par imagem-texto é uma correspondência verdadeira ou uma correspondência falsa, tornando-o altamente escalável e mais fácil de distribuir por vários dispositivos ao otimizar fluxos de trabalho de inteligência artificial.

Aplicações no Mundo Real

O design eficiente em termos de memória do SigLIP torna-o uma base poderosa para diversas aplicações práticas em toda a indústria tecnológica:

  • Classificação de imagens sem treinamento prévio: O SigLIP destaca-se na categorização de imagens em novas classes que nunca viu explicitamente durante o treino. Isto é incrivelmente útil para sistemas dinâmicos de classificação de imagens, onde as categorias mudam frequentemente, eliminando a necessidade de rotulagem manual constante dos dados.
  • Motores de busca semânticos: Ao gerar incorporações multimodais de elevada precisão, o SigLIP alimenta sistemas de recuperação avançados. Os utilizadores podem introduzir consultas de texto complexas para pesquisar em bases de dados de imagens enormes e não estruturadas com elevada precisão.

Ao gerir dados personalizados para este tipo de tarefas complexas de visão computacional, as equipas recorrem frequentemente à Ultralytics para otimizar a anotação de conjuntos de dados na nuvem e integrar de forma harmoniosa as informações de texto e imagem antes de implementar modelos avançados como Ultralytics para inferência de ponta a alta velocidade.

Exemplo de implementação

Para compreender como o SigLIP calcula a perda a um nível fundamental, pode simular o processo utilizando operações básicas PyTorch . Este trecho de código demonstra como a abordagem sigmoide por pares substitui a lógica de probabilidade multiclase tradicional .

import torch
import torch.nn.functional as F

# Simulate image and text embeddings from a vision-language model
image_embeddings = torch.randn(4, 256)
text_embeddings = torch.randn(4, 256)

# Calculate pairwise similarities (logits)
logits = torch.matmul(image_embeddings, text_embeddings.T)

# SigLIP uses a binary formulation: 1 for positive pairs, -1 for negative pairs
labels = torch.eye(4) * 2 - 1
loss = -F.logsigmoid(labels * logits).mean()

print(f"Calculated SigLIP Loss: {loss.item():.4f}")

Ao tirar partido desta abordagem simplificada, a comunidade de IA em geral, incluindo investigadores que publicam em instituições como o IEEE e a ACM, continua a expandir os limites da aprendizagem multimodal, estabelecendo novas dicas de treino de modelos e melhores práticas para a próxima geração de IA de visão.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina