Qu’est-ce que CLIP d’OpenAI ?
CLIP, qui signifie Contrastive Language-Image Pre-training, est un réseau de neurones développé par OpenAI. Il est conçu pour comprendre des concepts visuels à partir du langage naturel. Au lieu d’être entraîné sur un ensemble de données organisé avec des étiquettes spécifiques (comme “chat” ou “chien”), CLIP apprend à partir d’un ensemble de données massif et bruyant d’images et de leurs légendes textuelles correspondantes extraites d’Internet. Cette méthode d’entraînement unique lui permet d’effectuer une grande variété de tâches de classification d’images sans y avoir été explicitement entraîné, une capacité connue sous le nom d’apprentissage “zero-shot”.
Fonctionnalités Clés
- Classification d’images Zero-Shot : Classifiez des images dans des catégories que vous définissez à la volée en utilisant des invites en langage naturel, sans aucun réentraînement du modèle.
- Similarité Image-Texte : Étant donné une image et un ensemble de descriptions textuelles, CLIP peut déterminer quel texte décrit le mieux l’image.
- Représentation Visuelle Robuste : Le modèle apprend une compréhension flexible et robuste des concepts visuels qui se généralise souvent mieux que les modèles traditionnels entraînés sur des ensembles de données spécifiques comme ImageNet.
- Interface en Langage Naturel pour la Vision : Il comble le fossé entre la vision et le langage, permettant aux utilisateurs d’interagir avec les images et de les rechercher en utilisant le langage de tous les jours.
Cas d’Utilisation
- Modération de Contenu : Signaler automatiquement les images qui correspondent à des descriptions textuelles de contenu inapproprié ou sensible.
- Recherche d’Images Améliorée : Créer des moteurs de recherche qui permettent aux utilisateurs de trouver des images en utilisant des phrases descriptives complexes au lieu de simples mots-clés.
- Guidage de Modèles Génératifs : La capacité de CLIP à évaluer la correspondance entre une image et une invite a été un élément clé de la première révolution texte-image, célèbre pour son utilisation avec des modèles comme VQGAN.
- Outils d’Accessibilité : Créer des applications capables de décrire le contenu d’une image pour les utilisateurs malvoyants.
Pour Commencer
Voici un exemple simple de type “Hello World” utilisant la bibliothèque transformers pour voir comment CLIP fait correspondre une image avec des invites textuelles.
Assurez-vous d’abord d’avoir installé les bibliothèques nécessaires : ```bash pip install transformers torch Pillow requests
Ensuite, vous pouvez exécuter le code Python suivant : ```python from PIL import Image import requests from transformers import CLIPProcessor, CLIPModel
Charger le modèle pré-entraîné et le processeur depuis Hugging Face
model = CLIPModel.from_pretrained(“openai/clip-vit-base-patch32”) processor = CLIPProcessor.from_pretrained(“openai/clip-vit-base-patch32”)
URL d’une image à tester
url = “http://images.cocodataset.org/val2017/000000039769.jpg” image = Image.open(requests.get(url, stream=True).raw)
Préparer les invites textuelles et l’image
Le modèle déterminera quelle invite est une meilleure description de l’image
inputs = processor( text=[“une photo d’un chat”, “une photo d’un chien”], images=image, return_tensors=”pt”, padding=True )
Passer les entrées au modèle
outputs = model(**inputs)
Les logits_per_image représentent le score de similarité entre l’image et chaque invite textuelle
logits_per_image = outputs.logits_per_image
Appliquer softmax pour obtenir des probabilités
probs = logits_per_image.softmax(dim=1)
print(f”Probabilités : {probs.tolist()[0]}”)
La sortie montrera une probabilité plus élevée pour “une photo d’un chat”
Tarification
Le modèle CLIP d’OpenAI est Open Source et publié sous la licence permissive MIT License. Les poids du modèle et le code source sont disponibles gratuitement pour la recherche et l’intégration dans des applications. Bien que le modèle lui-même soit gratuit, son utilisation via une API tierce ou sur une plateforme cloud peut entraîner des coûts.