Grundlagen zum Transformer

Einführung in LLMs mit Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Was ist ein Transformer?

  • Deep-Learning-Architekturen
  • Verarbeitung, Verständnis und Erstellung von Texten
  • Wird bei den meisten LLMs eingesetzt
  • Parallele Bearbeitung langer Textsequenzen

Abbildung von drei Transformer-Architekturen: Encoder-only, Decoder-only und Encoder-Decoder

Einführung in LLMs mit Python

Transformer-Architekturen

Abbildung von drei Transformer-Architekturen: Encoder-only, Decoder-only und Encoder-Decoder

  • Details zur Architektur in der Model Card von Hugging Face
Einführung in LLMs mit Python

Encoder-only

Abbildung zu Encoder-only

  • Verständnis des eingegebenen Textes
  • Keine sequenzielle Ausgabe
  • Häufige Aufgaben:
    • Textklassifikation
    • Stimmungsanalyse
    • Extraktive Antwortgenerierung (Extraktion oder Label)
  • BERT-Modelle
  • Beispiel: "distilbert-base-uncased-distilled-squad"
Einführung in LLMs mit Python

Encoder-only

Abbildung zu Encoder-only

llm = pipeline(model="bert-base-uncased")
print(llm.model)
BertForMaskedLM(
  (bert): ...
    )
    (encoder): BertEncoder(
      ...
print(llm.model.config)
BertConfig {
...
  "architectures": [
    "BertForMaskedLM"
...
Einführung in LLMs mit Python

Encoder-only

Abbildung zu Encoder-only

print(llm.model.config.is_decoder)
False
  • Oder auch: llm.model.config.is_encoder_decoder
Einführung in LLMs mit Python

Decoder-only

Decoder-only Illustration

  • Fokus wird auf Ausgabe gelegt
  • Häufige Aufgaben:
    • Textgenerierung
    • Generative Antwortgenerierung in Form von Sätzen oder Absätzen
  • GPT-Modelle
  • Beispiel: "gpt-3.5-turbo"
Einführung in LLMs mit Python

Decoder-only

Abbildung zu Decoder-only

llm = pipeline(model="gpt2")
print(llm.model.config)
GPT2Config {
...
  "architectures": [
    "GPT2LMHeadModel"
  ],
...
  "task_specific_params": {
    "text-generation": {
...
print(llm.model.config.is_decoder)
False
Einführung in LLMs mit Python

Encoder-Decoder

Abbildung zum Encoder-Decoder

  • Verständnis und Verarbeitung von Eingabe und Ausgabe
  • Häufige Aufgaben:
    • Übersetzung
    • Zusammenfassung
  • T5-, BART-Modelle
Einführung in LLMs mit Python

Encoder-Decoder

Abbildung zum Encoder-Decoder

llm = pipeline(model="Helsinki-NLP/opus-mt-es-en")
print(llm.model)
MarianMTModel(
...
    (encoder): MarianEncoder(
...
    (decoder): MarianDecoder(
...
Einführung in LLMs mit Python

Encoder-Decoder

Abbildung zum 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
Einführung in LLMs mit Python

Lass uns üben!

Einführung in LLMs mit Python

Preparing Video For Download...