23 poin oleh GN⁺ 2025-12-23 | 1 komentar | Bagikan ke WhatsApp
  • Menjelaskan struktur dan prinsip kerja model Transformer secara visual, serta menunjukkan bagaimana mekanisme attention meningkatkan pembelajaran paralel dan performa terjemahan
  • Model terdiri dari tumpukan encoder dan decoder, dan setiap encoder memiliki dua lapisan: self-attention dan jaringan saraf feedforward
  • Proses perhitungan self-attention dijelaskan langkah demi langkah hingga tingkat vektor dan matriks, lalu diperluas dengan multi-head attention agar dapat mempelajari beragam ruang representasi
  • Memvisualisasikan secara konkret komponen inti seperti positional encoding, residual connection, layer normalization, dan masked attention pada decoder
  • Artikel ini merupakan referensi populer yang membantu memahami konsep dasar Transformer dengan mudah, dan juga digunakan dalam kuliah serta materi ajar universitas besar seperti MIT dan Stanford

Gambaran umum Transformer

  • Transformer adalah model terjemahan mesin saraf berbasis attention yang menunjukkan performa lebih tinggi pada tugas tertentu dibanding Google Neural Machine Translation sebelumnya
    • Keunggulan utamanya adalah mudah diparalelkan, dan direkomendasikan sebagai model referensi di Google Cloud TPU
  • Model tersusun dari tumpukan encoder dan decoder, dan tiap encoder memiliki struktur yang sama tetapi tidak berbagi bobot
  • Input encoder melewati lapisan self-attention untuk menggabungkan informasi konteks, lalu diteruskan ke jaringan saraf feedforward
  • Decoder menambahkan lapisan attention encoder-decoder di atas struktur encoder agar dapat berfokus pada bagian relevan dari kalimat masukan

Alur tensor dan embedding

  • Kalimat masukan diubah menjadi vektor 512 dimensi untuk setiap kata melalui algoritme word embedding
  • Setiap lapisan encoder menerima dan memproses daftar vektor dengan ukuran yang sama, sementara panjang kalimat ditetapkan sebagai hyperparameter
  • Lapisan feedforward memproses vektor di tiap posisi secara independen, sehingga komputasi paralel dimungkinkan

Konsep self-attention

  • Self-attention memungkinkan tiap kata merujuk pada kata lain dalam kalimat untuk mempelajari representasi yang lebih baik
    • Contoh: dalam “The animal didn’t cross the street because it was too tired”, kata “it” berkaitan dengan “animal”
  • Berbeda dengan pemeliharaan hidden state pada RNN, Transformer menggabungkan informasi konteks melalui self-attention

Tahapan perhitungan self-attention

  • Dari setiap embedding kata, dibuat vektor Query, Key, Value (dimensi 64)
  • Dot product antara Query dan Key digunakan untuk menghitung skor keterkaitan antar kata
  • Skor dibagi dengan √64 lalu diterapkan softmax untuk dinormalisasi menjadi distribusi probabilitas
  • Setiap vektor Value dikalikan dengan skor softmax lalu dijumlahkan untuk menghasilkan output attention akhir
  • Pada implementasi nyata, proses ini dilakukan dengan operasi matriks agar lebih efisien

Multi-head attention

  • Menggunakan beberapa attention head (default 8) untuk mempelajari berbagai ruang representasi
    • Tiap head memiliki matriks bobot Q/K/V yang independen
  • Output dari beberapa head kemudian digabungkan (concat) dan dikombinasikan dengan matriks bobot tambahan WO
  • Dengan cara ini, model dapat menangkap berbagai aspek konteks secara bersamaan

Positional encoding

  • Karena Transformer tidak secara langsung memproses urutan, vektor posisi ditambahkan ke setiap embedding kata
  • Vektor posisi dibuat menggunakan fungsi sin dan cos, sehingga memberikan informasi jarak relatif antar kata
  • Pendekatan ini juga dapat diperluas ke kalimat yang lebih panjang daripada data pelatihan
  • Pembaruan tahun 2020 juga memperkenalkan metode untuk menyelang-nyelingkan (interleave) dua sinyal tersebut

Residual connection dan normalisasi

  • Setiap sublapisan (self-attention, feedforward) menerapkan residual connection dan layer normalization
  • Struktur ini membantu mencegah vanishing gradient dan meningkatkan stabilitas pelatihan

Struktur decoder

  • Decoder menerima vektor Key/Value dari output encoder untuk melakukan attention encoder-decoder
  • Masking digunakan agar model tidak merujuk pada kata di masa depan
  • Pada tahap akhir, lapisan Linear dan lapisan Softmax menghasilkan distribusi probabilitas kata
    • Misalnya, jika ukuran kosakata adalah 10.000, maka setiap vektor output diubah menjadi distribusi probabilitas berdimensi 10.000

Pelatihan dan fungsi loss

  • Saat pelatihan, distribusi probabilitas output model dibandingkan dengan distribusi jawaban benar (one-hot encoding)
  • Cross-entropy atau KL divergence digunakan untuk menghitung galat, lalu bobot disesuaikan melalui backpropagation
  • Beam search mempertahankan beberapa kandidat terjemahan sekaligus untuk meningkatkan akurasi

Riset lanjutan dan referensi

  • Makalah terkait: Attention Is All You Need, Training Tips for the Transformer Model, Self-Attention with Relative Position Representations, dan lainnya
  • Materi implementasi: paket Tensor2Tensor, panduan Harvard NLP PyTorch, Colab Notebook
  • Transformer kemudian berkembang ke versi yang diperluas di LLM-book.com (Chapter 3), yang membahas model terbaru seperti Multi-Query Attention dan embedding posisi RoPE

Kesimpulan

  • Transformer adalah arsitektur berbasis attention yang dapat diparalelkan, dan telah menjadi model inti dalam deep learning modern
  • Artikel ini adalah referensi representatif yang menjelaskan struktur, matematika, dan intuisi Transformer secara visual, dan digunakan sebagai bahan rujukan dalam kuliah di Stanford, MIT, Harvard, dan universitas besar lainnya

1 komentar

 
GN⁺ 2025-12-23
Opini Hacker News
  • Saya membaca tulisan ini saat belajar dasar-dasar transformer. Visualisasinya benar-benar membantu
    Namun dalam pekerjaan nyata yang menerapkan LLM, mengetahui struktur transformer hampir tidak banyak berguna. Meski begitu, ada rasa tenang secara psikologis karena setidaknya memahami secara samar cara kerjanya di dalam
    Mencoba menjelaskan perilaku LLM hanya dari strukturnya adalah jebakan. Model-model terbaru menunjukkan emergent phenomena yang sulit diprediksi karena reinforcement learning dan hal lain semacam itu
    Dulu saya yakin LLM tidak akan pandai matematika atau coding, tetapi saya sepenuhnya salah. Pada akhirnya, ada batas dalam menyimpulkan kemampuan model hanya dari arsitekturnya
    Belakangan ini saat liburan saya sedang meninjau ulang dengan mengimplementasikan transformer sendiri di PyTorch. Menarik dan menyenangkan
    Untuk pemula, saya merekomendasikan materi Sebastian Raschka, LLMs from Scratch.
    Kalau ada yang sudah membaca buku Jay Alammar yang terbit pada 2024, saya penasaran apakah buku itu layak direkomendasikan dari sudut pandang yang mutakhir

    • Saya setuju, tetapi sebagian juga berpikir berbeda. Sambil bekerja sebagai AI engineer, saya hampir tidak pernah memakai deep learning “klasik” secara langsung, tetapi saya percaya kemampuan memahami bagian dalam LLM secara mendalam adalah yang membedakan engineer 1% teratas
      Karena itu memberi intuisi untuk cepat memahami batasan model. Ini nasihat yang pernah saya dengar langsung dari Clem Delangue di Hugging Face, dan setelah itu saya mempelajari arsitektur LLM lebih dalam; itu sangat membantu
      Saya juga memberi nasihat serupa kepada lulusan coding bootcamp — Anda bisa bekerja hanya dengan Python dan React, tetapi memahami arsitektur komputer dan bahasa tingkat rendah akan membuat Anda menjadi developer yang jauh lebih kuat dalam jangka panjang
    • Saya rasa masalahnya adalah kebanyakan tutorial menjelaskan mekanisme attention dengan berpusat pada kata. Padahal di dalam transformer sebenarnya tidak ada token yang langsung bersesuaian dengan kata
      Token bukan potongan kata, dan pemrosesan bahasa maupun gambar hanya bermakna pada tahap input. Menurut saya kesalahpahaman ini ikut membuat orang meremehkan potensi transformer
    • Contoh mengapa pemahaman dasar itu penting: di HN banyak keluhan bahwa LLM menghasilkan terlalu banyak komentar dalam kode
      Tetapi justru ini adalah fenomena yang meningkatkan kualitas kode. Berkat positional encoding pada causal transformer, model bisa meninggalkan token sementara untuk penalaran lokal lalu dengan mudah melupakannya
      Artinya, ia bekerja seperti scratchpad sekali pakai. Solusinya adalah melakukan post-processing pada output LLM, bukan menekan model agar tidak menghasilkan komentar
    • Ada video bagus dari Welch Labs tentang mechanistic interpretability: tautan YouTube
    • Rasanya pandangan orang tentang LLM terbagi menjadi tiga kelompok
      1. Orang yang percaya LLM hanyalah generator sederhana yang tidak berguna
      2. Orang yang percaya AGI sudah tercapai
      3. Orang yang percaya LLM akan menghancurkan dunia dalam 5 tahun
        Sejak rilis ChatGPT, proporsi ketiga kelompok ini hampir tidak berubah, dan jarang sekali ada yang bisa diyakinkan dengan bukti
  • Visualisasi dari tim Transformer Explainer benar-benar luar biasa.
    Melihat Transformer Explainer bersama video 3blue1brown membuat pemahamannya jadi jauh lebih mantap

    • Ini salah satu materi visualisasi terbaik yang pernah saya lihat
  • Dalam komentar yang ditinggalkan langsung oleh penulis Jay Alammar, ia memperkenalkan beberapa materi belajar transformer lain yang bagus
    Tautan terkait

  • Materi penjelasan transformer sekarang sudah begitu banyak sampai terasa seperti tutorial monad.
    Ada orang yang merasa telah mendapat pencerahan, padahal sebenarnya masih bingung, lalu tetap ingin menyebarkannya ke mana-mana

    • Meski begitu, saya tetap menganggap posting blog ini salah satu penjelasan transformer paling jelas
    • Tidak ada alasan internet hanya boleh punya satu penjelasan. Cari saja penjelasan yang cocok untuk diri sendiri
      Saat belajar konsep matematika atau elektronika juga begitu; penjelasan pertama sering terasa sulit, tetapi setelah melihat beberapa versi, pada akhirnya pemahaman akan semakin dalam
  • Mungkin saya yang ketinggalan zaman, tetapi saya penasaran apakah transformer sudah sepenuhnya menggantikan arsitektur deep learning lama seperti U-net

    • Sama sekali tidak. Obsesi berlebihan terhadap transformer tidak didukung oleh data performa nyata
      Misalnya, CNN masih sangat kuat, terutama untuk tugas vision khusus seperti pencitraan medis
      Dalam model yang invariant terhadap rotasi, graph neural network, model point cloud, dan sebagainya, transformer justru bisa kurang cocok
      Artinya, masih ada banyak arsitektur alternatif
      Makalah terkait: CNNs can still do just as well
  • Saya punya buku ini, dan saat tim memutuskan untuk memasukkan LLM ke dalam sistem, ini benar-benar menjadi penyelamat

    • Tetapi saya tidak berpikir kita harus memahami arsitektur transformer untuk bisa bekerja dengan LLM
      Pada akhirnya LLM adalah sistem sintetis yang meniru penalaran manusia, jadi meskipun tahu struktur internalnya, tetap sulit memprediksi pola kesalahannya
      Yang lebih penting adalah membangun feeling lewat pengalaman dan eksperimen
  • Saya rasa bagian dalam transformer pada akhirnya akan menjadi kurang penting, seperti bagian dalam compiler.
    Kebanyakan developer akan lebih tertarik pada “bagaimana memakainya” daripada implementasi internalnya

    • Faktanya, banyak praktisi memakai LLM sambil bahkan tidak memahami konsep dasar machine learning. Orang yang tahu perbedaan bias dan variance pun jarang
    • Namun tetap harus ada orang yang memahami bagian dalamnya secara mendalam. Untuk mendorong dan memelihara SOTA, dibutuhkan ahli yang tahu struktur internalnya
      Seperti sistem operasi, compiler, dan hardware seperti GPU/TPU yang terus disempurnakan, transformer juga harus terus ditingkatkan, jadi peran orang dengan pengetahuan ini justru akan menjadi semakin penting
  • Tulisan yang luar biasa, dan tampaknya menginspirasi proyek Illustrated Evo 2 yang lebih baru
    Tautan blog NVIDIA Research

  • Orang sering menganggap Key/Query/Value sebagai konsep yang istimewa, padahal transformer pada dasarnya hanyalah struktur perluasan dari perkalian matriks
    Jika satu layer pada neural network biasa adalah matrix * input, maka transformer menghitung input * MatrixA, input * MatrixB, input * MatrixC lalu menggabungkannya
    Pada akhirnya semuanya adalah pengulangan operasi matriks. Untuk detailnya lihat blog PyTorch

    • Saya membayangkan convolution sebagai model mental untuk mekanisme K/Q/V.
      Attention juga dipelajari tanpa bergantung pada posisi, mengubah rentang besar input menjadi nilai baru, dan banyak head belajar aspek yang berbeda secara paralel. Ini mirip dengan konsep kernel pada convolution
  • Panduan ini benar-benar sangat luas. Menggunakannya bersama alat seperti Claude Code untuk menghasilkan pseudocode PyTorch sangat membantu untuk memahami konsep secara visual
    Ini materi yang sangat cocok untuk dipelajari dengan fokus penuh selama beberapa jam