Bagaimana Transformer Bekerja
Pada materi ini kita akan merujuk pada Roadmap LLM Engineer yang tlah ada. Berikut ini rencana pembelajaran kita.
Table of Content
- Large Language Model
- Foundation Model
- Penggunaan
- Text Generation sebelum LLM
- RNN dan Analogi Sederhana
- Transformer: Attention is All You Need
- Arsitektur
Large Language Model
Pada materi sebelumnya kita sudah memulai mengenal dasar LLM melalui LM (Language Model) dalam memprediksi probabilitas urutan kata dalam sebuah kalimat.
Kali ini kita akan lebih mendalami lagi Generative AI dan LLM untuk melihat lebih lengkap dengan Generativr AI dan LLM beserta contohnya.
LLM tlah dilatih triliunan kata-kata (scopus) selama berbulan-bulan dan dengan komputasi komputer yang besar.💡
Saya lebih suka membayangkan model dalam LLM sebagai Memori Model, semakin banyak parameter yang dimiliki model, semakin banyak memori yang dimiliki dan semakin canggih model tersebut.
Foundation Model
Berikut ini merupakan beberapa Foundation Model yang ada

Berikut adalah tabel perbandingan beberapa model yang disebutkan pada gambar Anda, dengan informasi seperti tujuan, jumlah parameter, dan fakta penting lainnya:
Model | Tujuan Utama | Parameter | Info Penting |
---|---|---|---|
GPT | Generasi teks, summarization, chatbots | GPT-4: ~1 Triliun+ (perkiraan) | Dikembangkan oleh OpenAI, mampu memahami dan menghasilkan teks secara kontekstual. Digunakan dalam ChatGPT. |
BERT | Pemahaman teks (klasifikasi, Q&A, NER) | ~110M (BERT-Base), ~340M (BERT-Large) | Dikembangkan oleh Google, menggunakan pendekatan bidirectional untuk memahami konteks penuh kalimat. |
FLAN-T5 | Generalisasi multi-tugas berbasis instruksi | 11B (FLAN-T5-XXL) | Dikembangkan oleh Google, fine-tuned untuk berbagai tugas NLP melalui pendekatan berbasis instruksi. |
LLaMa | Model ringan untuk pemrosesan teks | 7B, 13B, 30B, 65B | Dikembangkan oleh Meta, dirancang agar lebih efisien dengan performa tinggi pada hardware biasa. |
BLOOM | Generasi teks multibahasa | 176B | Dikembangkan oleh BigScience, bersifat open-source dan mendukung lebih dari 46 bahasa. |
PaLM | Generasi teks, logika, dan reasoning | 540B | Dikembangkan oleh Google, unggul dalam tugas reasoning dan logika tingkat lanjut. |
💡
Foundation Model:
- Merupakan model dasar yang telah dilatih pada data dalam jumlah besar.
- Setelah dilatih, model ini dapat disesuaikan (fine-tuned) untuk tugas spesifik seperti pembuatan teks, klasifikasi, penerjemahan, atau lainnya.
- Contoh: GPT (Generative Pre-trained Transformer) digunakan untuk berbagai tugas pembuatan teks, sementara BERT digunakan untuk pemahaman bahasa.
- Foundation Model berbeda dengan Base Model dalam kematangan model, Base Model cendrung menggunakan data yang mentah (Belum di Fine-Tuning)
Penggunaan LLM
Berikut tabel untuk use case LLM dan kasus penggunaannya secara singkat:
Nama Use Case | Kasus Penggunaan Singkat |
---|---|
Customer Support | Chatbot otomatis untuk FAQ dan panduan troubleshooting. |
Konten Generasi | Menulis artikel, deskripsi produk, dan email pemasaran. |
Translation | Membantu translate dari bahasa tertentu ke bahasa lainnya |
Analisis Sentimen | Menganalisis ulasan pelanggan dan feedback untuk sentimen. |
Text Generation sebelum LLM
Text Generation sebelum LLM banyak menggunakan RNN atau disebut dengan Jaringan Saraf Berulang,
Recurrent Neural Network (RNN) adalah jenis jaringan neural yang dirancang untuk menangani data berurutan, seperti teks, audio, atau data time series.
Cara Kerja Singkat:
- RNN mengingat informasi sebelumnya menggunakan hidden state yang dibawa dari satu langkah ke langkah berikutnya dalam urutan data.
- Model ini memproses data satu elemen pada satu waktu (misalnya, satu kata dalam kalimat atau satu frame audio), dengan memanfaatkan informasi dari elemen sebelumnya.
RNN dan Analogi Sederhana
Misalkan kita akan menulis sebuah kalimat, tetapi hanya bisa mengingat kata terakhir yang baru saja ditulis.
Cara Kerja RNN:
- Kita mulai dengan kata pertama (misalnya, “Hello”).
- Kemudian kamu berpikir, “Apa yang sebaiknya saya tulis berikutnya?” Untuk menjawab ini, kamu hanya mengingat kata terakhir (“Hello”).
- Kamu menulis kata berikutnya berdasarkan ingatan kamu (misalnya, “world”). Sekarang kamu melupakan “Hello” dan hanya mengingat “world”.
- Proses ini diulang untuk setiap kata. Setiap keputusan hanya didasarkan pada kata terakhir yang kamu ingat.
Hasil akhirnya mungkin adalah sesuatu seperti:
Hello → world → how → are → you
Kelemahan RNN: Ingatan Pendek
Sekarang bayangkan kamu menulis cerita panjang, tetapi hanya bisa mengingat kata terakhir setiap saat. Jika kamu menulis:
Kemarin saya pergi ke taman dan melihat indahnya ...
Kamu mungkin lupa konteks awal (”Kemarin saya pergi ke taman”) dan menulis sesuatu yang tidak nyambung seperti:
... pisang di dalam kulkas.
Ini adalah kelemahan RNN, yaitu kesulitan mengingat konteks yang lebih jauh ke belakang. RNN cenderung melupakan informasi lama ketika data terlalu panjang.
Transformer: Attention is All You Need
“Attention is All You Need” adalah makalah penelitian yang diterbitkan pada tahun 2017 oleh para peneliti Google, yang memperkenalkan model Transformer, sebuah arsitektur baru yang merevolusi bidang pemrosesan bahasa alami (NLP) dan menjadi dasar bagi LLM yang kita kenal sekarang – seperti GPT, PaLM, dan lainnya. Makalah ini mengusulkan arsitektur jaringan saraf yang menggantikan jaringan saraf berulang (RNN) dan jaringan saraf konvolusional (CNN) tradisional dengan mekanisme yang sepenuhnya berbasis perhatian.
Model Transformer menggunakan perhatian mandiri untuk menghitung representasi urutan masukan, yang memungkinkannya untuk menangkap ketergantungan jangka panjang dan memparalelkan komputasi secara efektif. Para penulis menunjukkan bahwa model mereka mencapai kinerja mutakhir pada beberapa tugas penerjemahan mesin dan mengungguli model sebelumnya yang mengandalkan RNN atau CNN.
Arsitektur Transformer terdiri dari encoder dan decoder, yang masing-masing terdiri dari beberapa lapisan. Setiap lapisan terdiri dari dua sublapisan: mekanisme self multi-head attention dan jaringan saraf feed-forward. Mekanisme self-attention multi-head memungkinkan model untuk memperhatikan bagian-bagian berbeda dari urutan input, sementara jaringan feed-forward menerapkan lapisan yang terhubung penuh secara titik-demi-titik ke setiap posisi secara terpisah dan identik.
Kemampuan utama Transformer adalah dapat mempelajari relevansi dan konteks dari semua kata dalam sebuah kalimat.

Transformer dapat memahami hubungan antar kata:
- The – Teacher
- The – Taught
- The – [ke kata lainnya]
- Teacher – Taught
- Teacher – Student
- dstnya..
Sehingga dapat menerapkan bobot keterhubungan antar kata.

Proses memahami keterhubungan antar kata ini disebut dengan Self-Attention.

Self-Attention Diagram Map💡
Self Attention adalah mekanisme dalam Large Language Model (LLM) yang memungkinkan model untuk fokus pada bagian-bagian berbeda dari urutan masukan dan memahami hubungan antar kata.
Komponen pada Self-Attention
Component | Description |
---|---|
Query | Vektor yang mewakili fokus model pada kata tertentu dalam urutan |
Key | Label atau titik referensi untuk setiap kata dalam urutan |
Value | Informasi aktual yang terkait dengan setiap kata |
Attention score | Dihitung dengan membandingkan vector query dengan vector kunci dari semua kata lainnya |
Output | Total penjumlahan bobot dari nilai vector dimana besaran bobot dihasilkan oleh Attention Score |
Simulasi Diagram Map Self-Attention

Mekanisme Self-Attention
Arsitektur Transformer
Arsitektur Transformer
Self-Attention adalah salah satu bagian utama yang sudah kita bahas sebelumnya, sekarang kita pelajari lebih dalam lagi Arsitektur Transformer.
Diagram arsitektur di atas bila di sederhanakan akan seperti ini:
Secara high-level, Transformer akan diterbagi menjadi 2 yaitu Encoder dan Decoder, keduanya berjalan terpisah dan berbagi beberapa kesamaan.
Pembacaannya dari bawah (input) ke atas (output). Berikut ini adalah tahapan di dalam Arsitektur Transformer.
Cara Kerja Transformer
1. Tokenisasi
Pada proses paling awal, setiap input yang nantinya akan disebut dengan Prompt akan dikonversi menjadi angka-angka.

Tokenizer💡
“Tokenizer” dalam Large Language Model (LLM) adalah komponen perangkat lunak yang memecah teks mentah menjadi unit-unit yang lebih kecil dan mudah dikelola yang disebut “token”, yang merupakan blok-blok dasar yang dapat diproses dan dipahami oleh LLM; pada dasarnya, ia menerjemahkan bahasa manusia ke dalam format yang dapat digunakan oleh model dengan membagi teks menjadi bagian-bagian terpisah seperti kata, subkata, atau karakter, tergantung pada metode yang dipilih.
2. Embedding

Pada tahap ini, input sudah berupa angka (token), layer ini adalah trainable vector embedding space dimana setiap token disimpan menjadi vector yang mengisi lokasi yang unik dalam ruang tersebut.

Di dalam embedding, setiap kata yang sudah menjadi token melalui proses tokenisasi selanjutnya akan dipetakan menjadi vector. Vector ini seperti array matriks yang panjang umumnya adalah 512 dimensi yang ditunjukkan oleh gambar di atas.

Bayangkan vector 3 dimensi di atas ini sebelum membayangkan 512 dimensi. Setiap kata akan yang tlah di representasikan sebagai angka akan di menempati posisi-posisi tertentu, setiap kata tersebut akan memiliki kecendrungan dekat dan jauh terhadap kata-kata yang ada.

Kita bisa melihat kedekatan kata antar kata, seperti kata student dengan book yang diperjelas dengan sudut pengukuran. Melalui perhitungan sudut inilah Transformer dalam memahami bahasa secara sistematis.
3. Positional Encoding

Pada tahapan ini, terjadi proses pengkodean posisi dengan tujuan model tidak kehilangan urutan token. Ilustrasi detailnya sebagai berikut.

Model memproses setiap token input secara paralel dengan menambahkan pengkodean posisi, Model menyimpan informasi tentang urutan kata agar tidak kehilangan relevansi posisi kata dalam kalimat.
- Token Embeddings:
- Setiap kata (atau token) dalam kalimat diubah menjadi representasi vektor melalui embedding (misalnya, vektor x₁, x₂, x₃). Ini mewakili arti kata tersebut.
- Position Embeddings:
- Positional encoding menambahkan informasi tentang posisi token dalam urutan. Misalnya, vektor posisi untuk token pertama (x₁) berbeda dari token kedua (x₂), meskipun kata-kata itu mungkin sama. Ini memberikan konteks posisi kepada model.
- Proses Penjumlahan:
- Vektor token embeddings dan position embeddings dijumlahkan untuk menghasilkan representasi gabungan. Hasil ini memiliki informasi tentang makna token dan juga posisinya dalam urutan.
- Fungsi Positional Encoding:
- Biasanya, positional encoding dihitung menggunakan fungsi sinus dan cosinus dengan frekuensi berbeda. Ini memungkinkan model menangkap pola urutan, terlepas dari panjangnya.
Contoh Sederhana
Bayangkan Anda memberi Transformer kalimat: “Saya makan apel.”
- Token embeddings akan memberi tahu model arti dari “Saya,” “makan,” dan “apel.”
- Positional encoding memberi tahu bahwa “Saya” ada di posisi pertama, “makan” kedua, dan “apel” ketiga.
4. Mekanisme Self-Attention & Multi-Headed Self-Attention

Hasil penjumlahan dari token embeddings dan position embeddings selanjutnya akan diteruskan ke layer Self-Attention. Disini model akan menganalisa hubungan antar token sesuai dengan urutan input. Ini memungkinkan model untuk memperhatikan bagian yang berbeda dari urutan untuk menangkap dependensi kontektual antar kata-kata lebih baik.
Contohnya

Yuk kita balik ke contoh sebelumnya bagaimana keterhubungan antar kata. Nah, dalam Self-Attention coba dianalisa keterhubungannya antar satu sama lain untuk mendapatkan makna sesungguhnya dari keterhubungan kata.

Hasil dari Self-Attention yang berupa bobot akan disimpan dalam layer ini dan pada dasarnya proses Self-Attention ini tidak dilakukan sekali melainkan berulang dan simultan, proses ini disebut sebagai Multi-Headed Self-Attention.
Jika Self-Attention membantu model memahami hubungan antara kata-kata dalam satu kalimat. Contohnya:
- Dalam kalimat “Saya makan apel karena saya lapar”, kata “saya” pertama dan kedua saling berhubungan. Self-Attention membantu model melihat hubungan ini.
Bagaimana Multi-Headed Self-Attention Bekerja?
Bayangkan kamu adalah seorang detektif yang menyelidiki sebuah kasus. Kamu melihat setiap petunjuk (kata dalam kalimat) dari berbagai sudut pandang (multi-heads) untuk memahami keseluruhan cerita.
Langkah-Langkahnya (Analogi):
- Mengamati Petunjuk (Self-Attention):
- Setiap “petunjuk” (kata) memiliki arti yang berbeda tergantung pada konteksnya.
- Untuk memahami hubungan antar kata, Kamu “bertanya” ke setiap kata:
- Query (Q): Apa yang saya cari? (Apa yang “saya” ingin tahu tentang kata lainnya?)
- Key (K): Apa informasi penting yang saya miliki? (Apa yang kata lainnya miliki yang relevan untuk “saya”?)
- Value (V): Apa nilai yang harus saya ambil? (Informasi apa yang benar-benar berguna?)
- Setiap anggota tim (head) memiliki keahlian berbeda (misalnya, ahli sidik jari, ahli DNA, dan ahli forensik).
- Semua anggota melihat kasus yang sama (kalimat), tetapi dari sudut pandang berbeda.
- Di akhir, mereka mengumpulkan semua temuan mereka untuk menghasilkan laporan lengkap (pemahaman model tentang kalimat).
5. Feed Forward Network

Feed Forward Network adalah bagian di mana setiap token diproses secara individual untuk menyempurnakan calon response yang dihasilkan agar lebih kaya dan lebih sesuai dengan konteks yang sudah didapat sebelumnya.
Bayangkan kita punya selembar kertas catatan dari Multi-Headed Self-Attention. Sekarang, kita akan memperbaiki, saring, dan memperkaya catatan ini agar lebih mudah dimengerti.
Analogi Sederhana:
Bayangkan kita sedang menulis esai.
- Langkah 1: Kita menulis draft awal dengan banyak ide kasar. (Output dari Multi-Headed Self-Attention.)
- Langkah 2: Sekarang, kita perbaiki draft itu:
- Lapisan Pertama: Kita tambahkan detail tambahan ke setiap kalimat agar lebih jelas. (Memperbesar dimensi informasi.)
- Aktivasi: Kita memutuskan detail mana yang penting dan mana yang harus diabaikan. (Menggunakan ReLU.)
- Lapisan Kedua: Kita ringkas kalimat kembali ke versi yang lebih sederhana tapi tetap kaya informasi. (Proyeksi ke dimensi awal.)
Hasil akhirnya adalah esai yang lebih baik dan lebih terstruktur.💡
ReLU (Rectified Linear Unit) adalah salah satu fungsi aktivasi yang paling umum digunakan dalam jaringan saraf tiruan (neural network).
6. Softmax
Softmax adalah fungsi matematika yang mengubah angka-angka menjadi probabilitas. Probabilitas ini menggambarkan seberapa besar kemungkinan setiap pilihan (atau kelas) benar. Di dalam proses ini semua hasil analisa dari Encoder maupun Decoder akan di ubah menjadi probabilitas hasil.
7. Detokenisasi
- Detokenisasi adalah proses mengubah token menjadi kata-kata atau kalimat.
- Model menghasilkan token (angka) setelah Softmax menentukan token mana yang dipilih.
- Library atau framework memanfaatkan kosakata (vocabulary) untuk mengubah token tersebut kembali menjadi kata.
💡
Tokenisasi dan detokenisasi adalah proses yang saling berhubungan dan harus menggunakan library atau model tokenizer yang sama agar hasilnya konsisten.
Referensi
https://www.coursera.org/learn/generative-ai-with-llms/lecture/IrsEw/generative-ai-llms
https://www.datacamp.com/blog/attention-mechanism-in-llms-intuition
Comments
Leave a Comment