bert-base-uncased
Encoder (comprensión)
Ver en Hugging Face ↗Hugging Face · Transformers
Este notebook recorre los conceptos básicos de los modelos Transformer y muestra cómo usarlos con la librería transformers: desde un pipeline de una sola línea hasta cargar un tokenizer y un modelo a bajo nivel.
Un Transformer es una arquitectura de red neuronal que procesa secuencias (texto, audio, imágenes en forma de parches) usando atención: cada elemento de la entrada puede "mirar" a todos los demás a la vez para decidir qué información es relevante.
Según cómo se combinan sus bloques, se suelen agrupar en tres familias: encoder (entiende el texto, p. ej. BERT), decoder (genera texto, p. ej. GPT-2) y encoder-decoder (transforma una secuencia en otra, p. ej. T5).
En Colab, instala las librerías una sola vez por sesión.
!pip install -q transformers torchpipeline es la forma más rápida de usar un modelo: descarga el modelo y su tokenizer por defecto, y los envuelve en una función lista para usar.
from transformers import pipeline
# Modelo por defecto para análisis de sentimiento
clasificador = pipeline("sentiment-analysis")
clasificador("I love learning about transformers")Con un modelo de natural language inference puedes clasificar texto en etiquetas que tú defines, sin entrenar nada adicional.
from transformers import pipeline
clasificador_zs = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
clasificador_zs(
"El equipo ganó el campeonato anoche",
candidate_labels=["deportes", "política", "tecnología"],
)Los modelos decoder predicen el siguiente token una y otra vez. Con set_seed los resultados son reproducibles.
from transformers import pipeline, set_seed
generador = pipeline("text-generation", model="gpt2")
set_seed(42)
generador("Hugging Face makes it easy to", max_new_tokens=25)Por debajo de cada pipeline hay dos piezas: un tokenizer que convierte texto en IDs numéricos, y el modelo que procesa esos IDs. Aquí las usamos directamente.
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
nombre = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(nombre)
modelo = AutoModelForSequenceClassification.from_pretrained(nombre)
entradas = tokenizer("Transformers are amazing!", return_tensors="pt")
print(entradas["input_ids"])
with torch.no_grad():
logits = modelo(**entradas).logits
print(modelo.config.id2label, torch.softmax(logits, dim=-1))Filtra por arquitectura para ver algunos modelos populares del Hub de Hugging Face. Los nombres son identificadores del Hub; cada tarjeta enlaza a su página oficial.
Encoder (comprensión)
Ver en Hugging Face ↗Encoder (comprensión)
Ver en Hugging Face ↗Encoder (comprensión)
Ver en Hugging Face ↗Decoder (generación)
Ver en Hugging Face ↗Decoder (generación)
Ver en Hugging Face ↗Encoder-decoder (texto a texto)
Ver en Hugging Face ↗Encoder-decoder (texto a texto)
Ver en Hugging Face ↗Visión
Ver en Hugging Face ↗Audio
Ver en Hugging Face ↗Volver al inicio del notebook.