Aller au contenu principal

Chapitre 1 : Objectifs de pré-entraînement

Introduction​

Le pré-entraînement est le processus d'entraînement d'un modèle de langage sur de grandes quantités de données textuelles non étiquetées. L'idée clé est que la prédiction du texte lui-même fournit un signal d'apprentissage riche.

Prédiction du Prochain Jeton (LM Causale)​

L'idée Principale​

Étant donné une séquence de jetons, prédire le prochain jeton :

P(xt∣x1,x2,...,xt−1)P(x_t | x_1, x_2, ..., x_{t-1})

Mise en Œuvre​

import torch
import torch.nn.functional as F

def causal_lm_loss(logits, targets):
"""
Compute causal language modeling loss.
logits: (batch, seq_len, vocab_size)
targets: (batch, seq_len)
"""
# Shift: predict next token from each position
shift_logits = logits[..., :-1, :].contiguous()
shift_targets = targets[..., 1:].contiguous()

# Cross-entropy loss
loss = F.cross_entropy(
shift_logits.view(-1, shift_logits.size(-1)),
shift_targets.view(-1),
ignore_index=-100 # Padding token
)
return loss

Utilisé Par​

  • Série GPT (OpenAI)
  • LLaMA (Meta)
  • Mistral

Modélisation de Langage Masqué (MLM)​

L'Approche BERT​

Masquer aléatoirement des jetons et les prédire :

def create_mlm_data(input_ids, tokenizer, mask_prob=0.15):
"""Create masked language modeling training data."""
labels = input_ids.clone()

# Create random mask
probability_matrix = torch.full(labels.shape, mask_prob)
masked_indices = torch.bernoulli(probability_matrix).bool()

# Don't mask special tokens
special_tokens_mask = [
tokenizer.get_special_tokens_mask(val)
for val in labels.tolist()
]
masked_indices &= ~torch.tensor(special_tokens_mask).bool()

# Replace with [MASK] token
input_ids[masked_indices] = tokenizer.mask_token_id

# Only compute loss on masked tokens
labels[~masked_indices] = -100

return input_ids, labels

Utilisé Par​

  • BERT
  • RoBERTa
  • Modèles encodeurs modernes

Causale vs Bidirectionnelle​

AspectCausale (GPT)Bidirectionnelle (BERT)
ContexteUniquement à gaucheLes deux directions
Meilleur pourGénérationCompréhension
EntraînementAutoregressifMasqué

Points Clés​

Résumé
  1. La prédiction du prochain jeton permet la génération autoregressive
  2. Le LM masqué fournit une compréhension contextuelle bidirectionnelle
  3. Les modèles causaux dominent les LLM modernes pour leur capacité de génération