Memahami transformer

Pengantar LLM di Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Apa itu transformer?

  • Arsitektur deep learning
  • Memproses, memahami, dan menghasilkan teks
  • Dipakai di sebagian besar LLM
  • Menangani urutan teks panjang secara paralel

Ilustrasi tiga arsitektur transformer: encoder-saja, decoder-saja, dan encoder-decoder

Pengantar LLM di Python

Arsitektur transformer

Ilustrasi tiga arsitektur transformer: encoder-saja, decoder-saja, dan encoder-decoder

  • Cari detail arsitektur di model card Hugging Face
Pengantar LLM di Python

Encoder-saja

Ilustrasi encoder-saja

  • Memahami teks input
  • Tanpa output berurutan
  • Tugas umum:
    • Klasifikasi teks
    • Analisis sentimen
    • Tanya jawab ekstraktif (ekstrak atau label)
  • Model BERT
  • Contoh: "distilbert-base-uncased-distilled-squad"
Pengantar LLM di Python

Encoder-saja

Ilustrasi encoder-saja

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

Encoder-saja

Ilustrasi encoder-saja

print(llm.model.config.is_decoder)
False
  • Alternatif: llm.model.config.is_encoder_decoder
Pengantar LLM di Python

Decoder-saja

Ilustrasi decoder-saja

  • Fokus bergeser ke output
  • Tugas umum:
    • Generasi teks
    • Tanya jawab generatif (kalimat atau paragraf)
  • Model GPT
  • Contoh: "gpt-3.5-turbo"
Pengantar LLM di Python

Decoder-saja

Ilustrasi decoder-saja

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

Encoder-decoder

Ilustrasi encoder-decoder

  • Memahami dan memproses input serta output
  • Tugas umum:
    • Penerjemahan
    • Ringkasan
  • Model T5, BART
Pengantar LLM di Python

Encoder-decoder

Ilustrasi encoder-decoder

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

Encoder-decoder

Ilustrasi 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
Pengantar LLM di Python

Ayo berlatih!

Pengantar LLM di Python

Preparing Video For Download...