La fonction pipeline() assemble le prétraitement, un modèle et le post-traitement derrière une interface simple. Elle est idéale pour valider rapidement une tâche avant d’écrire une boucle d’inférence spécialisée.
Créer un premier pipeline
pip install -U transformers torchfrom transformers import pipeline
classifier = pipeline(
task="text-classification",
model="distilbert/distilbert-base-uncased-finetuned-sst-2-english",
)
print(classifier("This library is easy to use."))Indiquez toujours le modèle. Le modèle par défaut d’une tâche peut évoluer et rendre un exemple non reproductible. Vérifiez sa model card, sa licence, ses langues et ses limites.
Ce que le pipeline automatise
Pour du texte, le pipeline charge généralement un tokenizer, applique la troncature ou le padding, exécute le modèle puis transforme les tenseurs en résultats lisibles. Pour l’audio, l’image ou le multimodal, il utilise les processeurs adaptés.
Choisir le matériel
Utilisez device="cpu", device="cuda:0" ou device="mps" selon l’environnement. device_map="auto" peut répartir un grand modèle avec Accelerate ; ne le combinez pas avec device. Mesurez sur vos propres données avant d’activer le batching : des séquences de tailles très différentes peuvent augmenter le padding, ralentir le traitement ou provoquer une erreur mémoire.
Contrôler les entrées
Fixez une longueur maximale et gérez explicitement la troncature. Pour un traitement par lots, journalisez les entrées trop longues plutôt que de les couper silencieusement. Une prédiction avec un score élevé n’est pas une vérité : elle reflète le modèle et ses données d’entraînement.
Rester prudent avec le code distant
trust_remote_code=True autorise l’exécution de code fourni par un dépôt du Hub. Gardez la valeur par défaut False, sauf si vous avez audité le dépôt et fixé une révision précise.
Lorsque le prototype est validé, chargez explicitement tokenizer et modèle si vous avez besoin de contrôler le batching, les tenseurs, la génération ou l’instrumentation.