Entender el transformer

Introducción a los LLMs en Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

¿Qué es un transformer?

  • Arquitecturas de deep learning
  • Procesan, entienden y generan texto
  • Usadas en la mayoría de LLM
  • Manejan secuencias largas en paralelo

Ilustración de tres arquitecturas transformer: solo codificador, solo decodificador y codificador-decodificador

Introducción a los LLMs en Python

Arquitecturas transformer

Ilustración de tres arquitecturas transformer: solo codificador, solo decodificador y codificador-decodificador

  • Busca los detalles de la arquitectura en la model card de Hugging Face
Introducción a los LLMs en Python

Solo codificador

Ilustración solo codificador

  • Entender el texto de entrada
  • Sin salida secuencial
  • Tareas comunes:
    • Clasificación de texto
    • Análisis de sentimiento
    • Preguntas-respuestas extractivas (extraer o etiquetar)
  • Modelos BERT
  • Ejemplo: "distilbert-base-uncased-distilled-squad"
Introducción a los LLMs en Python

Solo codificador

Ilustración solo codificador

llm = pipeline(model="bert-base-uncased")
print(llm.model)
BertForMaskedLM(
  (bert): ...
    )
    (encoder): BertEncoder(
      ...
print(llm.model.config)
BertConfig {
...
  "architectures": [
    "BertForMaskedLM"
...
Introducción a los LLMs en Python

Solo codificador

Ilustración solo codificador

print(llm.model.config.is_decoder)
False
  • Alternativa: llm.model.config.is_encoder_decoder
Introducción a los LLMs en Python

Solo decodificador

Ilustración solo decodificador

  • El foco pasa a la salida
  • Tareas comunes:
    • Generación de texto
    • Preguntas-respuestas generativas (frase(s) o párrafo(s))
  • Modelos GPT
  • Ejemplo: "gpt-3.5-turbo"
Introducción a los LLMs en Python

Solo decodificador

Ilustración solo decodificador

llm = pipeline(model="gpt2")
print(llm.model.config)
GPT2Config {
...
  "architectures": [
    "GPT2LMHeadModel"
  ],
...
  "task_specific_params": {
    "text-generation": {
...
print(llm.model.config.is_decoder)
False
Introducción a los LLMs en Python

Codificador-decodificador

Ilustración codificador-decodificador

  • Entienden y procesan entrada y salida
  • Tareas comunes:
    • Traducción
    • Resumen
  • Modelos T5, BART
Introducción a los LLMs en Python

Codificador-decodificador

Ilustración codificador-decodificador

llm = pipeline(model="Helsinki-NLP/opus-mt-es-en")
print(llm.model)
MarianMTModel(
...
    (encoder): MarianEncoder(
...
    (decoder): MarianDecoder(
...
Introducción a los LLMs en Python

Codificador-decodificador

Ilustración codificador-decodificador

print(llm.model.config)
MarianConfig {
...
  "decoder_attention_heads": 8,
...
  "encoder_attention_heads": 8,
...
  "is_encoder_decoder": true,
...
print(llm.model.config.is_encoder_decoder)
True
Introducción a los LLMs en Python

¡Vamos a practicar!

Introducción a los LLMs en Python

Preparing Video For Download...