Capire il transformer

Introduzione agli LLM in Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Cos’è un transformer?

  • Architetture di deep learning
  • Per elaborare, capire e generare testo
  • Usate nella maggior parte degli LLM
  • Gestiscono lunghe sequenze in parallelo

Illustrazione di tre architetture transformer: solo encoder, solo decoder ed encoder-decoder

Introduzione agli LLM in Python

Architetture transformer

Illustrazione di tre architetture transformer: solo encoder, solo decoder ed encoder-decoder

  • Trova i dettagli dell’architettura nella model card di Hugging Face
Introduzione agli LLM in Python

Solo encoder

Illustrazione solo encoder

  • Comprende il testo in input
  • Nessun output sequenziale
  • Task comuni:
    • Classificazione del testo
    • Analisi del sentiment
    • Q&A estrattiva (estrai o etichetta)
  • Modelli BERT
  • Esempio: "distilbert-base-uncased-distilled-squad"
Introduzione agli LLM in Python

Solo encoder

Illustrazione solo encoder

llm = pipeline(model="bert-base-uncased")
print(llm.model)
BertForMaskedLM(
  (bert): ...
    )
    (encoder): BertEncoder(
      ...
print(llm.model.config)
BertConfig {
...
  "architectures": [
    "BertForMaskedLM"
...
Introduzione agli LLM in Python

Solo encoder

Illustrazione solo encoder

print(llm.model.config.is_decoder)
False
  • In alternativa: llm.model.config.is_encoder_decoder
Introduzione agli LLM in Python

Solo decoder

Illustrazione solo decoder

  • Il focus passa all’output
  • Task comuni:
    • Generazione di testo
    • Q&A generativa (frase o paragrafo)
  • Modelli GPT
  • Esempio: "gpt-3.5-turbo"
Introduzione agli LLM in Python

Solo decoder

Illustrazione solo decoder

llm = pipeline(model="gpt2")
print(llm.model.config)
GPT2Config {
...
  "architectures": [
    "GPT2LMHeadModel"
  ],
...
  "task_specific_params": {
    "text-generation": {
...
print(llm.model.config.is_decoder)
False
Introduzione agli LLM in Python

Encoder-decoder

Illustrazione encoder-decoder

  • Capiscono ed elaborano input e output
  • Task comuni:
    • Traduzione
    • Riassunto
  • Modelli T5, BART
Introduzione agli LLM in Python

Encoder-decoder

Illustrazione encoder-decoder

llm = pipeline(model="Helsinki-NLP/opus-mt-es-en")
print(llm.model)
MarianMTModel(
...
    (encoder): MarianEncoder(
...
    (decoder): MarianDecoder(
...
Introduzione agli LLM in Python

Encoder-decoder

Illustrazione encoder-decoder

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
Introduzione agli LLM in Python

Passons à la pratique !

Introduzione agli LLM in Python

Preparing Video For Download...