Feb 12, 2024

MUHAMMAD GHIFARY

Transformer (Vaswani et al. 2017) merupakan arsitektur deep learning yang menjadi fondasi utama berbagai Large Language Models (LLM) yang ada saat ini. Arsitektur transformer berbasis mekanisme matematis yang diimplementasikan dalam bentuk lapisan arsitektur model yang dinamakan dengan attention (Bahdanau et al. 2015) yang pertama kali diperkenalkan untuk kebutuhan Neural Machine Translation (NMT).

Mekanisme attention mencoba untuk memperbaiki kekurangan pada model sekuensial berbasis recurrent networks agar dapat “mengingat” informasi yang lebih panjang — recurrent networks memiliki keterbatasan untuk menghubungkan konteks informasi yang sudah agak berjauhan. Selain itu, recurrent networks dikenal sulit untuk dilatih dikarenakan pengaliran informasi yang cukup kompleks, terutama adanya komunikasi antar hidden layers.

Transformer merupakan model sekuensial tanpa recurrent layers, hanya mengandalkan mekanisme attention pada arsitekturnya. Maka dari itu, paper yang pertama kali membahas Transformer berjudul “Attention is all you need”. Transformer dan mekanisme attention dapat dikatakan inovasi yang paling signifikan saat ini di dunia machine learning modern. Oleh karena itu, perlu untuk memahami Transformer lebih dalam dengan cara mengimplementasikannya dari nol agar benar-benar dapat mengapresiasi kekuatan dari model ini.

Model Bahasa Bigram

Sebelum masuk ke pembahasan Transformer, kita mulai dari pembahasan model bahasa yang paling sederhana: model Bigram.

Model bahasa merupakan model prediktif sekuensial yang biasanya dimodelkan secara matematis dengan probabilitas bersyarat:

$$ P_{\theta}(w | h) $$

dimana $w$ merupakan token berikutnya (dapat berupa karakter, kata, sub-frasa, dsb) dan $h$ merupakan histori dari token-token sebelumnya.

Perhatikan contoh kalimat di bawah ini yang tersusun dari $w$ dan $h$ dimana token didefinisikan sebagai karakter.

$$ \underbrace{\text{kalau sampai waktuku ku mau tak seorang kan}\text{ } \text{meray}}{h} \underbrace{\text{u}}{w} $$

Misalkan terdapat sebuah model bahasa yang dilatih dengan teks di atas, maka $P_\theta(w="u"|h="kalau ... meray")$ akan memberikan nilai probabilitas yang tinggi.

Jika didetailkan, $h$ terdiri dari kumpulan token $w_1, \ldots, w_{n-1}$ dan $w=w_n$ sehingga model bahasa dapat ditulis sebagai

$$ P_\theta(w_n | w_{1:n-1}) $$

Model di atas disebut sebagai model $n$-gram — terdapat sejumlah $n$ buah token pada probabilitas bersyarat.

Kita dapat melakukan aproksimasi terhadap model $n$-gram dengan asumsi Markov — probabilitas token berikutnya hanya bergantung pada 1 token sebelumnya.

$$ P_\theta(w_n | w_{1:n-1}) \approx P_\theta(w_n | w_{n-1}) $$

Dikarenakan hanya terdapat 2 token pada model aproksimasi, model tersebut disebut dengan model Bigram.

Pengolahan Teks

Dataset yang digunakan pada percobaan kali ini adalah chairilanwar.txt yang merupakan kumpulan puisi karya Chairil Anwar, penyair Indonesia tersohor pada zamannya. Dataset ini dikumpulkan dari halaman web https://titikdua.net/puisi-chairil-anwar/ dengan sedikit pembersihan teks. Total jumlah karakter pada teks tersebut sebanyak 37970, yang dapat dikategorikan sebagai dataset berukuran kecil.