Aller au contenu principal

Chapitre 1 : Bibliothèque Transformers

La Fondation de l'Entraînement Moderne des LLM​

La bibliothèque Transformers fournit tout ce qui est nécessaire pour charger, configurer et entraîner des modèles de langage.


Composants Principaux​

AutoModelForCausalLM​

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-3.1-8B",
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)

AutoTokenizer​

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B")
tokenizer.pad_token = tokenizer.eos_token
tokenizer.padding_side = "right"

Options de Chargement du Modèle​

model = AutoModelForCausalLM.from_pretrained(
model_name,
# Précision
torch_dtype=torch.bfloat16,

# Placement des dispositifs
device_map="auto", # ou "cuda:0"

# Quantification
quantization_config=bnb_config,

# Flash Attention 2
attn_implementation="flash_attention_2",

# Code distant
trust_remote_code=True,
)

Tokenisation​

# Tokenisation de base
inputs = tokenizer("Hello, world!", return_tensors="pt")

# Avec remplissage et troncature
inputs = tokenizer(
texts,
padding=True,
truncation=True,
max_length=512,
return_tensors="pt",
)

# Modèle de chat
messages = [{"role": "user", "content": "Hello!"}]
text = tokenizer.apply_chat_template(messages, tokenize=False)

Points Clés à Retenir​

✅ AutoModelForCausalLM pour les modèles de génération de texte ✅ Utilisez torch_dtype=bfloat16 pour l'efficacité ✅ device_map="auto" pour le placement automatique ✅ Définissez pad_token = eos_token pour l'entraînement


Continuez au Chapitre 2 →