#
Bagaimana Transformer Bekerja?

Di bagian ini, kita akan mempelajari arsitektur model Transformer dan memahami lebih dalam konsep seperti attention, arsitektur encoder-decoder, dan lainnya.

🚀 Kita mulai naik tingkat di sini. Bagian ini bersifat teknis dan detail, jadi jangan khawatir jika Anda tidak langsung memahaminya sepenuhnya. Kita akan mengulas konsep-konsep ini kembali di bab-bab berikutnya.

##
Sekilas Sejarah Transformer

Berikut beberapa titik penting dalam (sejarah singkat) model Transformer:

Arsitektur Transformer diperkenalkan pada Juni 2017, dengan fokus awal pada tugas penerjemahan. Setelah itu, muncul berbagai model penting lainnya, seperti:

- Juni 2018: GPT, model Transformer pra-latih pertama, digunakan untuk fine-tuning berbagai tugas NLP dan mencapai hasil terbaik saat itu
- Oktober 2018: BERT, model pra-latih besar lainnya yang dirancang untuk menghasilkan representasi kalimat yang lebih baik
- Februari 2019: GPT-2, versi lebih besar dan lebih baik dari GPT, yang sempat tidak dirilis sepenuhnya karena pertimbangan etis
- Oktober 2019: T5, implementasi Transformer sequence-to-sequence untuk multi-tasking
- Mei 2020: GPT-3, versi lebih besar dari GPT-2 yang mampu menyelesaikan berbagai tugas tanpa fine-tuning (zero-shot learning)
- Januari 2022: InstructGPT, versi GPT-3 yang dilatih agar lebih mampu mengikuti instruksi
- Januari 2023: Llama, model bahasa besar multibahasa
- Maret 2023: Mistral, model 7 miliar parameter yang melampaui Llama 2 13B di semua tolok ukur
- Mei 2024: Gemma 2, keluarga model ringan berkinerja tinggi dengan teknik attention baru
- November 2024: SmolLM2, model kecil dengan performa tinggi untuk perangkat edge/mobile
- Model tipe GPT (disebut juga sebagai Transformer model auto-regressive)
- Model tipe BERT (disebut juga sebagai Transformer model auto-encoding)
- Model tipe T5 (disebut juga sebagai Transformer model sequence-to-sequence)

Kita akan membahas tiap keluarga ini lebih dalam nanti.

##
Transformer Adalah Model Bahasa

Semua model Transformer yang disebutkan sebelumnya (GPT, BERT, T5, dll.) dilatih sebagai model bahasa. Artinya, mereka dilatih menggunakan sejumlah besar teks mentah dengan pendekatan self-supervised.

Self-supervised learning adalah metode pelatihan di mana tujuan pelatihan diturunkan langsung dari data masukan. Artinya, manusia tidak perlu memberikan label secara manual!

Model ini mengembangkan pemahaman statistik terhadap bahasa yang dilatihkan, tetapi kurang bermanfaat untuk tugas praktis tertentu. Oleh karena itu, model pra-latih umum kemudian melalui proses yang disebut transfer learning atau fine-tuning, yaitu pelatihan tambahan secara supervised menggunakan label yang diberikan manusia untuk tugas tertentu.

Contoh tugasnya adalah memprediksi kata berikutnya dalam kalimat setelah membaca kata-kata sebelumnya. Ini disebut causal language modeling, karena output tergantung pada input masa lalu dan saat ini — tetapi tidak pada masa depan.

Contoh lain adalah masked language modeling, di mana model diminta memprediksi kata yang di-masking dalam sebuah kalimat.

##
Transformer Adalah Model Besar

Kecuali beberapa pengecualian (seperti DistilBERT), strategi umum untuk meningkatkan performa model adalah dengan memperbesar ukuran model dan jumlah data pelatihan.

Sayangnya, melatih model besar memerlukan banyak data, waktu, dan sumber daya komputasi. Ini juga berdampak pada lingkungan, seperti ditunjukkan grafik berikut:

Bahkan grafik di atas berasal dari proyek yang dilakukan dengan niat sadar untuk mengurangi dampak lingkungan. Bayangkan jika setiap tim peneliti, mahasiswa, atau perusahaan melatih model dari nol — biayanya akan sangat besar!

Inilah mengapa berbagi model sangat penting: dengan berbagi trained weights, kita mengurangi beban komputasi dan jejak karbon secara global.

Anda bisa menghitung jejak karbon model Anda menggunakan alat seperti ML CO2 Impact atau Code Carbon, yang sudah terintegrasi dalam 🤗 Transformers. Baca blog ini dan dokumentasi resmi untuk mempelajari lebih lanjut.

##
Transfer Learning

Pretraining adalah proses melatih model dari nol — bobot awalnya diinisialisasi secara acak dan tidak memiliki pengetahuan awal.

Sebaliknya, fine-tuning dilakukan setelah model sudah dilatih. Kita mengambil model pra-latih dan melatih ulang dengan dataset spesifik untuk tugas kita. Kenapa tidak langsung latih model dari awal untuk tugas tersebut?

- Model pra-latih sudah memiliki pengetahuan umum dari data besar sebelumnya.
- Fine-tuning hanya membutuhkan data dalam jumlah kecil.
- Waktu dan sumber daya yang dibutuhkan jauh lebih sedikit.
- Hasil yang diperoleh umumnya lebih baik dibanding melatih dari nol.

Contohnya, Anda bisa menggunakan model bahasa Inggris umum lalu fine-tune dengan korpus artikel arXiv untuk membuat model bahasa ilmiah.

##
Arsitektur Umum Transformer

Di bagian ini, kita membahas arsitektur umum model Transformer. Jangan khawatir jika belum paham sepenuhnya — kita akan bahas komponen-komponennya secara terpisah nanti.

Model ini terdiri dari dua bagian utama:

- Encoder (kiri): Menerima masukan dan menghasilkan representasi fitur
- Decoder (kanan): Menggunakan representasi dari encoder untuk menghasilkan output

Penggunaan tergantung pada tugasnya:

- Model encoder-only: Cocok untuk klasifikasi kalimat, NER
- Model decoder-only: Cocok untuk generasi teks
- Model encoder-decoder (sequence-to-sequence): Cocok untuk penerjemahan, rangkuman

##
Lapisan Attention

Fitur utama dari Transformer adalah lapisan attention (attention layers). Bahkan, judul makalah aslinya adalah “Attention Is All You Need”!

Singkatnya, lapisan ini memungkinkan model fokus hanya pada kata-kata yang relevan saat membentuk representasi kata.

Contoh: saat menerjemahkan “You like this course” ke dalam bahasa Prancis, model harus memperhatikan subjek “You” saat menerjemahkan “like”, karena bentuk kata kerja tergantung subjek. Saat menerjemahkan “this”, model juga harus memperhatikan kata benda “course”, karena jenis kelamin kata dalam bahasa Prancis memengaruhi terjemahan.

Intinya: makna kata tergantung konteks — dan attention memungkinkan model memanfaatkan konteks tersebut.

##
Arsitektur Asli

Arsitektur awal Transformer dirancang untuk penerjemahan.

- Encoder menerima kalimat sumber (misalnya, bahasa Inggris)
- Decoder menghasilkan kalimat target (misalnya, bahasa Prancis)

Selama pelatihan, decoder diberi seluruh kalimat target, tapi dilarang melihat kata-kata masa depan. Contohnya: saat memprediksi kata ke-4, decoder hanya melihat kata ke-1 hingga ke-3.

Lapisan attention pertama di decoder melihat semua input sebelumnya, sedangkan attention kedua menggunakan output dari encoder.

Masking juga digunakan untuk menghindari perhatian ke token spesial seperti padding.

##
Arsitektur vs. Checkpoint

Selama mempelajari Transformer, Anda akan menemukan istilah:

- Architecture: Rangka desain model — struktur layer dan operasi
- Checkpoint: Bobot (weights) hasil pelatihan untuk arsitektur tertentu
- Model: Istilah umum yang bisa merujuk ke architecture atau checkpoint

Contoh:

- `BERT` → adalah arsitektur
- `bert-base-cased` → adalah checkpoint hasil pelatihan oleh Google
- “Model BERT” → bisa merujuk ke keduanya tergantung konteks

< > Update on GitHub