Saltar al contenido principal

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


Continuar al Capítulo 2 →