Capítulo 1: Biblioteca Transformers
La base del entrenamiento moderno de LLM
La biblioteca Transformers proporciona todo lo necesario para cargar, configurar y entrenar modelos de lenguaje.
Componentes principales
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"
Opciones de carga de modelos
model = AutoModelForCausalLM.from_pretrained(
model_name,
# Precision
torch_dtype=torch.bfloat16,
# Device placement
device_map="auto", # or "cuda:0"
# Quantization
quantization_config=bnb_config,
# Flash Attention 2
attn_implementation="flash_attention_2",
# Remote code
trust_remote_code=True,
)
Tokenización
# Basic tokenization
inputs = tokenizer("Hello, world!", return_tensors="pt")
# With padding and truncation
inputs = tokenizer(
texts,
padding=True,
truncation=True,
max_length=512,
return_tensors="pt",
)
# Chat template
messages = [{"role": "user", "content": "Hello!"}]
text = tokenizer.apply_chat_template(messages, tokenize=False)
Puntos clave
✅ AutoModelForCausalLM para modelos de generación de texto
✅ Utilice torch_dtype=bfloat16 para mayor eficiencia
✅ device_map="auto" para asignación automática
✅ Asigne pad_token = eos_token para el entrenamiento