Comprendre le transformer

Introduction aux LLM en Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Qu'est-ce qu'un Transformer ?

  • Architectures de deep learning
  • Traitement, compréhension et génération de texte
  • Utilisé dans la plupart des LLM
  • Traiter de longues séquences de texte en parallèle

Illustration of three transformer architectures: encoder-only, decoder-only, and encoder-decoder

Introduction aux LLM en Python

Architectures de Transformer

Illustration of three transformer architectures: encoder-only, decoder-only, and encoder-decoder

  • Consulter les détails architecturaux dans la fiche technique du modèle Hugging Face
Introduction aux LLM en Python

Encodeur uniquement

Encoder-only illustration

  • Compréhension du texte saisi
  • Aucune sortie séquentielle
  • Tâches courantes :
    • Classification de texte
    • Analyse des opinions
    • Réponse à des questions extractives (extraire ou étiqueter)
  • Modèles BERT
  • Exemple : "distilbert-base-uncased-distilled-squad"
Introduction aux LLM en Python

Encodeur uniquement

Encoder-only illustration

llm = pipeline(model="bert-base-uncased")
print(llm.model)
BertForMaskedLM(
  (bert): ...
    )
    (encoder): BertEncoder(
      ...
print(llm.model.config)
BertConfig {
...
  "architectures": [
    "BertForMaskedLM"
...
Introduction aux LLM en Python

Encodeur uniquement

Encoder-only illustration

print(llm.model.config.is_decoder)
False
  • Alternativement : llm.model.config.is_encoder_decoder
Introduction aux LLM en Python

Décodeur uniquement

Decoder-only illustration

  • L'accent est mis sur le résultat
  • Tâches courantes :
    • Génération de texte
    • Réponse générative aux questions (phrase(s) ou paragraphe(s))
  • Modèles GPT
  • Exemple : "gpt-3.5-turbo"
Introduction aux LLM en Python

Décodeur uniquement

Decoder-only illustration

llm = pipeline(model="gpt2")
print(llm.model.config)
GPT2Config {
...
  "architectures": [
    "GPT2LMHeadModel"
  ],
...
  "task_specific_params": {
    "text-generation": {
...
print(llm.model.config.is_decoder)
False
Introduction aux LLM en Python

Encodeur-décodeur

Encoder-decoder illustration

  • Comprendre et traiter les données d'entrée et de sortie
  • Tâches courantes :
    • Traduction
    • Résumé
  • Modèles T5 et BART
Introduction aux LLM en Python

Encodeur-décodeur

Encoder-decoder illustration

llm = pipeline(model="Helsinki-NLP/opus-mt-es-en")
print(llm.model)
MarianMTModel(
...
    (encoder): MarianEncoder(
...
    (decoder): MarianDecoder(
...
Introduction aux LLM en Python

Encodeur-décodeur

Encoder-decoder illustration

print(llm.model.config)
MarianConfig {
...
  "decoder_attention_heads": 8,
...
  "encoder_attention_heads": 8,
...
  "is_encoder_decoder": true,
...
print(llm.model.config.is_encoder_decoder)
True
Introduction aux LLM en Python

Passons à la pratique !

Introduction aux LLM en Python

Preparing Video For Download...