Neural Network dan Arsitektur Transformer
Intuisi dasar neural network, keterbatasan RNN, cara kerja self-attention, arsitektur encoder-decoder, dan pre-trained model vs training from scratch.
Bab ini membangun intuisi tentang bagaimana LLM modern bekerja secara arsitektural tanpa masuk ke matematika yang tidak diperlukan dalam pekerjaan sehari-hari AI Engineer. Pemahaman ini penting karena ia menjelaskan mengapa LLM berperilaku seperti yang kamu amati: mengapa ia bisa memahami konteks panjang, mengapa ia bisa mengerjakan banyak hal sekaligus, dan mengapa Pre-Trained Model jauh lebih efisien daripada melatih dari nol.
7.1 Intuisi Dasar Neural Network
Neural Network adalah sistem komputasi yang terinspirasi secara longgar dari cara neuron di otak bekerja. Tapi analogi biologis itu tidak perlu dipikirkan terlalu jauh, yang lebih penting adalah memahami apa yang dilakukan Neural Network secara fungsional: ia mengubah input menjadi output melalui serangkaian transformasi matematis yang dipelajari dari data.
Sebuah Neural Network terdiri dari tiga jenis lapisan:
- Input layer menerima data mentah, bisa berupa angka, vektor, atau representasi teks yang sudah dikonversi ke angka.
- Hidden layers adalah lapisan-lapisan di tengah yang melakukan transformasi. Setiap lapisan belajar merepresentasikan fitur yang semakin abstrak dari input. Lapisan pertama mungkin mengenali pola sederhana, lapisan berikutnya mengenali kombinasi pola tersebut, dan seterusnya.
- Output layer menghasilkan prediksi akhir, bisa berupa klasifikasi, angka, atau dalam kasus LLM, distribusi probabilitas atas token berikutnya.
Yang perlu dipahami dari diagram ini: setiap koneksi antar node memiliki bobot (weight), angka yang menentukan seberapa kuat pengaruh satu node terhadap node berikutnya. Proses training adalah proses menyesuaikan jutaan hingga miliaran bobot ini agar output model semakin akurat. Setelah training selesai, bobot-bobot tersebut disimpan, inilah yang disebut "model".
7.2 Keterbatasan RNN dan Mengapa Transformer Menggantikannya
Sebelum Transformer, arsitektur dominan untuk memproses teks adalah Recurrent Neural Network (RNN). RNN memproses teks secara sekuensial, satu token pada satu waktu, dari kiri ke kanan sambil mempertahankan semacam "memori" dari token-token sebelumnya.
Pendekatan ini memiliki dua keterbatasan mendasar yang sulit diatasi.
Masalah memori jangka panjang. Dalam kalimat panjang, informasi dari awal kalimat sering "terlupakan" saat model mencapai akhir kalimat. Bayangkan mencoba mengingat kata pertama dari paragraf yang sangat panjang sambil membaca kata demi kata, semakin jauh kamu membaca, semakin sulit mengingat yang di awal.
Tidak bisa diparalelkan. Karena RNN memproses token secara berurutan, token ke-5 tidak bisa diproses sebelum token ke-4 selesai. Ini membuat training sangat lambat karena tidak bisa memanfaatkan GPU secara penuh, yang dirancang untuk komputasi paralel.
Transformer, yang diperkenalkan pada 2017 melalui paper "Attention is All You Need", menyelesaikan kedua masalah ini sekaligus dengan satu mekanisme: Self-Attention.
7.3 Self-Attention: Cara Transformer Memahami Konteks
Self-Attention adalah mekanisme yang memungkinkan setiap token dalam sebuah kalimat untuk "memperhatikan" token lain secara langsung tanpa harus melewati token-token di antaranya seperti yang dilakukan RNN.
Cara kerjanya secara konseptual: untuk setiap token, model menghitung seberapa relevan setiap token lain dalam kalimat terhadap token tersebut. Hasilnya adalah sekumpulan angka yang disebut attention scores, semakin tinggi skornya, semakin besar pengaruh token tersebut terhadap representasi akhir token yang sedang diproses.
Inilah yang membuat Transformer jauh lebih baik dari RNN dalam memahami bahasa: setiap token bisa langsung "melihat" seluruh kalimat sekaligus dan memutuskan token mana yang paling relevan tanpa bergantung pada informasi yang diteruskan secara berantai dari kiri ke kanan.
Dalam praktiknya, LLM modern menggunakan banyak "kepala" attention (multi-head attention) yang berjalan paralel. Setiap kepala belajar memperhatikan aspek yang berbeda dari hubungan antar token, satu kepala mungkin belajar hubungan sintaksis, kepala lain belajar hubungan semantik, dan seterusnya. Hasilnya digabungkan untuk menghasilkan representasi yang kaya.
7.4 Arsitektur Transformer: Encoder dan Decoder
Transformer asli terdiri dari dua bagian utama: Encoder dan Decoder. Model-model modern mengambil hanya salah satu atau keduanya tergantung pada tugasnya.
| Varian | Keunggulan | Contoh Penggunaan | Relevansi |
|---|---|---|---|
| Encoder-only BERT, RoBERTa |
Memahami dan merepresentasikan teks sebagai vektor. Tidak menghasilkan teks baru. | Membuat embedding untuk RAG, klasifikasi dokumen, deteksi sentimen | Bab 9 & 12 |
| Decoder-only GPT-4, Gemini, Claude, Llama |
Menghasilkan teks secara autoregresif, satu token pada satu waktu | Chatbot, answering system RAG, generasi konten, code generation | Seluruh handbook |
| Encoder-Decoder T5, BART, mT5 |
Memahami input secara mendalam lalu menghasilkan output terkait erat | Terjemahan otomatis, ringkasan dokumen panjang, QA berbasis dokumen | Kasus khusus |
Encoder-only (contoh: BERT) hanya menggunakan bagian Encoder, sangat baik untuk tugas pemahaman teks tapi tidak bisa menghasilkan teks baru. Decoder-only (contoh: GPT, Gemini, Claude) hanya menggunakan bagian Decoder dengan modifikasi, ini adalah arsitektur yang digunakan oleh hampir semua LLM modern yang kamu akses via API. Encoder-Decoder (contoh: T5, BART) menggunakan keduanya, sangat baik untuk tugas yang membutuhkan pemahaman mendalam sekaligus generasi teks.
7.5 Pre-Trained Model vs Training from Scratch
Ini adalah keputusan yang hampir selalu sudah terjawab sebelum kamu bertanya: sebagai AI Engineer, kamu hampir tidak pernah melatih model dari nol. Tapi memahami mengapa Pre-Trained Model lebih efisien akan membantumu menjelaskan keputusan arsitektur ini kepada klien atau stakeholder.
Training from scratch berarti membangun model baru dan melatihnya dari nol pada data yang kamu kumpulkan sendiri. Ini membutuhkan dataset sangat besar, infrastruktur GPU yang mahal, dan waktu berminggu-minggu hingga berbulan-bulan. Biaya untuk melatih LLM skala besar bisa mencapai puluhan juta dolar.
Pre-Trained Model adalah model yang sudah dilatih oleh penyedia (Google, OpenAI, Anthropic, Meta) pada data yang sangat besar. Kamu menggunakannya langsung via API atau dengan sedikit penyesuaian. Pengetahuan umum sudah "tertanam" di dalam bobot model, kamu tidak perlu mengajarinya dari awal.
Ada satu pendekatan di antara keduanya yang perlu kamu tahu: Fine-tuning. Ini adalah proses mengambil Pre-Trained Model yang sudah ada, lalu melatih ulang sebagian kecil bobotnya menggunakan data domain spesifik milikmu.
Perbedaan Fine-tuning dengan RAG (dibahas lebih mendalam di Bab 13): Fine-tuning mengubah bobot model secara permanen, pengetahuan baru "tertanam" ke dalam model itu sendiri, cocok untuk mengubah gaya bahasa, format output, atau kemampuan model secara mendasar. RAG tidak mengubah model sama sekali, pengetahuan baru diberikan melalui konteks di dalam prompt, cocok untuk memberikan akses ke data yang sering berubah atau data privat yang tidak boleh masuk ke training data.
Kesalahan Umum
Fine-tuning mengubah bobot model secara permanen dan membutuhkan data training yang dikurasi dengan hati-hati. RAG memberikan informasi melalui konteks di setiap request tanpa mengubah model. Untuk sebagian besar kasus penggunaan, terutama data yang sering berubah atau data privat, RAG adalah pilihan yang lebih tepat, lebih murah, dan lebih mudah diperbarui.
GPT, Gemini, dan Claude semuanya menghasilkan teks secara autoregresif satu token pada satu waktu. Mereka tidak "memahami" seluruh output sebelum menulisnya, mereka memprediksi token berikutnya berdasarkan semua yang sudah ditulis sebelumnya. Ini menjelaskan mengapa LLM kadang mulai ke arah yang salah dan tidak bisa "mengoreksi dirinya" di tengah jalan tanpa diminta.
Self-Attention bekerja dengan menghitung hubungan antar semua token yang ada dalam context window. Semakin panjang context window, semakin banyak komputasi yang diperlukan, ini mengapa model dengan context window lebih panjang biasanya lebih mahal per token.
Yang penting dipahami adalah: mengapa Transformer lebih baik dari RNN (pemrosesan paralel, akses langsung ke seluruh konteks), bagaimana Self-Attention bekerja secara konseptual, dan perbedaan antara Encoder-only, Decoder-only, dan Encoder-Decoder. Matematika di baliknya bisa dipelajari nanti jika memang dibutuhkan.
Ringkasan Bab 7
- Saya memahami intuisi dasar Neural Network: input layer menerima data, hidden layers melakukan transformasi, output layer menghasilkan prediksi, dan bobot dipelajari selama training.
- Saya bisa menjelaskan dua keterbatasan utama RNN: masalah memori jangka panjang dan ketidakmampuan diparalelkan saat training.
- Saya memahami cara kerja Self-Attention secara konseptual: setiap token menghitung seberapa relevan setiap token lain, dan menghasilkan representasi berdasarkan bobot perhatian tersebut.
- Saya tahu perbedaan antara Encoder-only, Decoder-only, dan Encoder-Decoder, serta contoh model dan kasus penggunaan masing-masing.
- Saya memahami mengapa Pre-Trained Model jauh lebih efisien dari Training from Scratch untuk hampir semua kasus penggunaan AI Engineering.
- Saya bisa menjelaskan perbedaan antara Fine-tuning dan RAG, kapan masing-masing lebih tepat digunakan.
- Saya memahami bahwa LLM modern seperti GPT, Gemini, dan Claude adalah Decoder-only yang menghasilkan teks satu token pada satu waktu secara autoregresif.