De transformer begrijpen

Introductie tot LLM’s in Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Wat is een transformer?

  • Deep learning-architecturen
  • Tekst verwerken, begrijpen en genereren
  • Gebruikt in de meeste LLM's
  • Verwerken lange tekstreeksen parallel

Illustratie van drie transformer-architecturen: alleen-encoder, alleen-decoder en encoder-decoder

Introductie tot LLM’s in Python

Transformer-architecturen

Illustratie van drie transformer-architecturen: alleen-encoder, alleen-decoder en encoder-decoder

  • Vind architectuurdetails in de Hugging Face modelkaart
Introductie tot LLM’s in Python

Alleen-encoder

Alleen-encoder illustratie

  • De inputtekst begrijpen
  • Geen sequentiële output
  • Veelvoorkomende taken:
    • Tekstclassificatie
    • Sentimentanalyse
    • Extractieve vraagbeantwoording (extraheren of labelen)
  • BERT-modellen
  • Voorbeeld: "distilbert-base-uncased-distilled-squad"
Introductie tot LLM’s in Python

Alleen-encoder

Alleen-encoder illustratie

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

Alleen-encoder

Alleen-encoder illustratie

print(llm.model.config.is_decoder)
False
  • Alternatief: llm.model.config.is_encoder_decoder
Introductie tot LLM’s in Python

Alleen-decoder

Alleen-decoder illustratie

  • Focus verschuift naar output
  • Veelvoorkomende taken:
    • Tekstgeneratie
    • Generatieve vraagbeantwoording (zin(nen) of alinea('s))
  • GPT-modellen
  • Voorbeeld: "gpt-3.5-turbo"
Introductie tot LLM’s in Python

Alleen-decoder

Alleen-decoder illustratie

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

Encoder-decoder

Encoder-decoder illustratie

  • Begrijpt en verwerkt input én output
  • Veelvoorkomende taken:
    • Vertaling
    • Samenvatten
  • T5-, BART-modellen
Introductie tot LLM’s in Python

Encoder-decoder

Encoder-decoder illustratie

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

Encoder-decoder

Encoder-decoder illustratie

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
Introductie tot LLM’s in Python

Laten we oefenen!

Introductie tot LLM’s in Python

Preparing Video For Download...