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