Modèles et tokenizeurs automatiques

Travailler avec Hugging Face

Jacob H. Marquez

Lead Data Engineer

Pipelines : rapide et simple

from transformers import pipeline  

my_pipeline = pipeline(
    "text-classification",
    model="distilbert-base-uncased-finetuned-sst-2-english"))

print(my_pipeline("Wi-Fi is slower than a snail today!"))
[{'label': 'NEGATIVE', 'score': 0.99}]
Travailler avec Hugging Face

Classes Auto : souples et puissantes

$$

  • Classes Auto : accès souple aux modèles et aux tokenizeurs
  • Plus de contrôle sur le comportement et les sorties du modèle
  • Idéales pour les tâches avancées

$$

  • Pipelines = rapide ; classes Auto = souples

Trois curseurs avec bascules et une main en ajuste un, illustrant plus de contrôle.

Travailler avec Hugging Face

AutoModels

  • Choisir une classe AutoModel pour télécharger directement un modèle

$$

from transformers import AutoModelForSequenceClassification

# Télécharger un modèle de classification de texte préentraîné model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
Travailler avec Hugging Face

AutoTokenizers

  • Préparer les données textuelles en entrée
  • Recommandé : utiliser le tokenizer jumelé au modèle

$$

from transformers import AutoTokenizer


# Récupérer le tokenizer jumelé au modèle tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
Travailler avec Hugging Face

Tokeniser du texte avec AutoTokenizer

  • Les tokenizeurs nettoient l'entrée et découpent le texte en jetons

$$

tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")

# Tokeniser un texte en entrée tokens = tokenizer.tokenize("AI: Helping robots think and humans overthink:)") print(tokens)
['ai', ':', 'helping', 'robots', 'think', 'and', 
 'humans', 'over', '##thi', '##nk', ':', ')']
Travailler avec Hugging Face

Différents modèles, différents tokenizeurs

  • Notre modèle (distilbert-base-uncased) :

    ['ai', ':', 'helping', 'robots', 'think', 'and', 'humans', 'over', '##thi',
    '##nk', ':', ')']
    
  • Tokenizer BERT-Base-Cased :

    ['AI', ':', 'Help', '##ing', 'robots', 'think', 'and', 'humans', 'over',
    '##thin', '##k', ':', ')']
    
Travailler avec Hugging Face

Créer une pipeline avec les classes Auto

from transformers import AutoModelForSequenceClassification,
AutoTokenizer, pipeline

# Télécharger le modèle et le tokenizer my_model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english") my_tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english")
# Créer la pipeline personnalisée my_pipeline = pipeline( task="sentiment-analysis", model=my_model, tokenizer=my_tokenizer)
Travailler avec Hugging Face

Cas d'usage pour AutoModels et AutoTokenizers

$$

  • 🔧 À utiliser pour plus de contrôle et de personnalisation

  • 📝 Prétraitement de texte : nettoyer et tokeniser selon le cas d'usage

  • 🏆 Seuils : prioriser les catégories clés en classification
  • 🚀 Flux complexes : maîtriser le traitement multiétapes et l'intégration

$$ Plus de contrôle et de personnalisation

Travailler avec Hugging Face

Passons à la pratique !

Travailler avec Hugging Face

Preparing Video For Download...