Model dan platform AI
Munculnya NLP dengan Model Transformer | Analisis Komprehensif T5, BERT, dan GPT
Pengolahan Bahasa Alami (NLP) telah mengalami beberapa terobosan paling berdampak dalam beberapa tahun terakhir, terutama karena arsitektur transformer. Terobosan-terobosan ini tidak hanya meningkatkan kemampuan mesin untuk memahami dan menghasilkan bahasa manusia, tetapi juga meredefinisi lanskap berbagai aplikasi, dari mesin pencari hingga AI konversasional.
Untuk sepenuhnya menghargai signifikansi transformer, kita harus melihat kembali pada pendahulu dan bangunan blok yang meletakkan dasar untuk arsitektur revolusioner ini.
Teknik NLP Awal: Fondasi Sebelum Transformer
Word Embeddings: Dari One-Hot ke Word2Vec
Dalam pendekatan NLP tradisional, representasi kata sering literal dan tidak memiliki bentuk apapun dari pemahaman semantik atau sintaksis. One-hot encoding adalah contoh dari keterbatasan ini.
One-hot encoding adalah proses di mana variabel kategorik diubah menjadi representasi vektor biner di mana hanya satu bit “panas” (disetel ke 1) sementara yang lain “dingin” (disetel ke 0). Dalam konteks NLP, setiap kata dalam kosakata diwakili oleh vektor one-hot di mana setiap vektor memiliki ukuran kosakata, dan setiap kata diwakili oleh vektor dengan semua 0 dan satu 1 pada indeks yang sesuai dengan kata dalam daftar kosakata.
Contoh One-Hot Encoding
Misalkan kita memiliki kosakata kecil dengan hanya lima kata: [“king”, “queen”, “man”, “woman”, “child”]. Vektor one-hot untuk setiap kata akan terlihat seperti ini:
- “king” -> [1, 0, 0, 0, 0]
- “queen” -> [0, 1, 0, 0, 0]
- “man” -> [0, 0, 1, 0, 0]
- “woman” -> [0, 0, 0, 1, 0]
- “child” -> [0, 0, 0, 0, 1]
Representasi Matematis
Jika kita menunjukkan sebagai ukuran kosakata kita dan sebagai representasi vektor one-hot dari kata ke-i dalam kosakata, representasi matematis dari akan menjadi:
Keterbatasan utama dari one-hot encoding adalah bahwa ia memperlakukan setiap kata sebagai entitas terisolasi, tanpa hubungan dengan kata lain. Ini menghasilkan vektor yang renggang dan berdimensi tinggi yang tidak menangkap informasi semantik atau sintaksis tentang kata-kata.
Pengenalan word embeddings, terutama Word2Vec, adalah momen penting dalam NLP. Dikembangkan oleh tim di Google (GOOGL ) yang dipimpin oleh Tomas Mikolov pada 2013, Word2Vec merepresentasikan kata-kata dalam ruang vektor yang padat, menangkap hubungan sintaksis dan semantik kata-kata berdasarkan konteks mereka dalam korpus teks yang besar.
Tidak seperti one-hot encoding, Word2Vec menghasilkan vektor yang padat, biasanya dengan ratusan dimensi. Kata-kata yang muncul dalam konteks yang sama, seperti “king” dan “queen”, akan memiliki representasi vektor yang lebih dekat satu sama lain dalam ruang vektor.
Untuk ilustrasi, misalkan kita telah melatih model Word2Vec dan sekarang merepresentasikan kata-kata dalam ruang hipotetis 3-dimensi. Embeddings (yang biasanya lebih dari 3D tetapi direduksi di sini untuk kesederhanaan) mungkin terlihat seperti ini:
- “king” -> [0.2, 0.1, 0.9]
- “queen” -> [0.21, 0.13, 0.85]
- “man” -> [0.4, 0.3, 0.2]
- “woman” -> [0.41, 0.33, 0.27]
- “child” -> [0.5, 0.5, 0.1]
Sementara angka-angka ini fiksi, mereka mengilustrasikan bagaimana kata-kata yang serupa memiliki vektor yang serupa.
Hubungan Semantik
Word2Vec bahkan dapat menangkap hubungan yang kompleks, seperti analogi. Misalnya, hubungan yang terkenal yang ditangkap oleh embeddings Word2Vec adalah:
vektor(“king”) – vektor(“man”) + vektor(“woman”)≈vektor(“queen”)
Hal ini memungkinkan karena Word2Vec menyesuaikan vektor kata selama pelatihan sehingga kata-kata yang berbagi konteks yang sama dalam korpus ditempatkan dekat satu sama lain dalam ruang vektor.
Word2Vec menggunakan dua arsitektur utama untuk menghasilkan representasi terdistribusi kata-kata: Continuous Bag-of-Words (CBOW) dan Skip-Gram. CBOW memprediksi kata target dari kata-kata konteks sekitarnya, sedangkan Skip-Gram melakukan kebalikannya, memprediksi kata-kata konteks dari kata target. Ini memungkinkan mesin untuk memulai memahami penggunaan kata dan makna dalam cara yang lebih halus.
Model Sekuensial: RNN dan LSTM
Seiring berkembangnya bidang, fokus bergeser ke arah memahami urutan teks, yang sangat penting untuk tugas seperti terjemahan mesin, ringkasan teks, dan analisis sentimen. Jaringan Neural Berulang (RNN) menjadi fondasi untuk aplikasi ini karena kemampuan mereka untuk menangani data sekuensial dengan mempertahankan bentuk memori.
Namun, RNN tidak tanpa keterbatasan. Mereka berjuang dengan ketergantungan jangka panjang karena masalah gradien yang menghilang, di mana informasi hilang melalui urutan panjang, membuatnya sulit untuk mempelajari korelasi antara peristiwa yang jauh.
Jaringan Memori Jangka Pendek Panjang (LSTM), yang diperkenalkan oleh Sepp Hochreiter dan Jürgen Schmidhuber pada 1997, mengatasi masalah ini dengan arsitektur yang lebih canggih. LSTM memiliki gerbang yang mengontrol aliran informasi: gerbang input, gerbang lupa, dan gerbang output. Gerbang-gerbang ini menentukan informasi apa yang disimpan, diperbarui, atau dibuang, memungkinkan jaringan untuk melestarikan ketergantungan jangka panjang dan secara signifikan meningkatkan kinerja pada berbagai tugas NLP.
Arsitektur Transformer
Lanskap NLP menjalani transformasi dramatis dengan pengenalan model transformer dalam makalah “Attention is All You Need” oleh Vaswani et al. pada 2017. Arsitektur transformer berbeda dari pemrosesan sekuensial RNN dan LSTM dan menggunakan mekanisme yang disebut ‘self-attention’ untuk menimbang pengaruh berbagai bagian dari data input.
Ide inti dari transformer adalah bahwa ia dapat memproses seluruh data input sekaligus, bukan secara berurutan. Ini memungkinkan lebih banyak paralelisasi dan, sebagai hasilnya, peningkatan signifikan dalam kecepatan pelatihan. Mekanisme self-attention memungkinkan model untuk fokus pada berbagai bagian teks saat memprosesnya, yang sangat penting untuk memahami konteks dan hubungan antara kata-kata, terlepas dari posisinya dalam teks.
Encoder dan Decoder dalam Transformer:
Dalam model Transformer asli, seperti yang dijelaskan dalam makalah “Attention is All You Need” oleh Vaswani et al., arsitektur dibagi menjadi dua bagian utama: encoder dan decoder. Kedua bagian terdiri dari lapisan yang memiliki struktur umum yang sama tetapi memiliki tujuan yang berbeda.
Encoder:
- Peran: Peran encoder adalah untuk memproses data input dan membuat representasi yang menangkap hubungan antara elemen (seperti kata-kata dalam kalimat). Bagian ini dari transformer tidak menghasilkan konten baru; itu hanya mengubah input menjadi keadaan yang dapat digunakan decoder.
- Fungsi: Setiap lapisan encoder memiliki mekanisme self-attention dan jaringan saraf berforward. Mekanisme self-attention memungkinkan setiap posisi dalam encoder untuk memperhatikan semua posisi dalam lapisan sebelumnya dari encoder—dengan demikian, ia dapat mempelajari konteks di sekitar setiap kata.
- Embeddings Kontekstual: Keluaran dari encoder adalah serangkaian vektor yang merepresentasikan urutan input dalam ruang berdimensi tinggi. Vektor-vektor ini sering disebut sebagai embeddings kontekstual karena mereka mengkodekan tidak hanya kata-kata individual tetapi juga konteks mereka dalam kalimat.
Decoder:
- Peran: Peran decoder adalah untuk menghasilkan data output secara berurutan, satu bagian pada satu waktu, berdasarkan input yang diterimanya dari encoder dan apa yang telah dihasilkannya sejauh ini. Ini dirancang untuk tugas seperti generasi teks, di mana urutan generasi sangat penting.
- Fungsi: Lapisan decoder juga berisi mekanisme self-attention, tetapi mereka di-masker untuk mencegah posisi untuk memperhatikan posisi berikutnya. Ini memastikan bahwa prediksi untuk posisi tertentu hanya bergantung pada output yang diketahui sebelumnya. Selain itu, lapisan decoder termasuk mekanisme perhatian kedua yang memperhatikan output encoder, mengintegrasikan konteks dari input ke dalam proses generasi.
- Kemampuan Generasi Sekuensial: Ini merujuk pada kemampuan decoder untuk menghasilkan urutan satu elemen pada satu waktu, membangun pada apa yang telah dihasilkannya. Misalnya, saat menghasilkan teks, decoder memprediksi kata berikutnya berdasarkan konteks yang disediakan oleh encoder dan urutan kata yang telah dihasilkannya.
Setiap sub-lapisan dalam encoder dan decoder sangat penting untuk kemampuan model untuk menangani tugas NLP yang kompleks. Mekanisme perhatian multi-kepala, khususnya, memungkinkan model untuk secara selektif fokus pada berbagai bagian urutan, memberikan pemahaman yang kaya tentang konteks.
Model Populer yang Menggunakan Transformer
Setelah kesuksesan awal model transformer, ada ledakan model baru yang dibangun di atas arsitektur ini, masing-masing dengan inovasi dan optimasi untuk tugas yang berbeda;
BERT (Bidirectional Encoder Representations from Transformers): Diperkenalkan oleh Google pada 2018, BERT merevolusi cara informasi kontekstual diintegrasikan ke dalam representasi bahasa. Dengan pra-pelatihan pada korpus teks besar dengan model bahasa tersembunyi dan prediksi kalimat berikutnya, BERT menangkap konteks bidirectional yang kaya dan telah mencapai hasil terbaik pada berbagai tugas NLP.
T5 (Text-to-Text Transfer Transformer): Diperkenalkan oleh Google pada 2020, T5 mengubah semua tugas NLP menjadi masalah teks-ke-teks, menggunakan format teks yang seragam. Pendekatan ini menyederhanakan proses menerapkan model pada berbagai tugas, termasuk terjemahan, ringkasan, dan jawaban pertanyaan.
GPT (Generative Pre-trained Transformer): Dikembangkan oleh OpenAI, seri model GPT dimulai dengan GPT-1 dan mencapai GPT-4 pada 2023. Model-model ini dipra-pelatih menggunakan pembelajaran tidak terawasi pada sejumlah besar data teks dan diperhalus untuk berbagai tugas. Kemampuan mereka untuk menghasilkan teks yang koheren dan kontekstual telah membuat mereka sangat berpengaruh dalam aplikasi AI akademis dan komersial.
Berikut adalah perbandingan lebih mendalam dari model T5, BERT, dan GPT di berbagai dimensi;
1. Tokenisasi dan Kosakata
- BERT: Menggunakan tokenisasi WordPiece dengan ukuran kosakata sekitar 30.000 token.
- GPT: Menggunakan Pengkodean Pasangan Byte (BPE) dengan ukuran kosakata yang besar (misalnya, GPT-3 memiliki ukuran kosakata 175.000).
- T5: Menggunakan tokenisasi SentencePiece yang memperlakukan teks sebagai teks mentah dan tidak memerlukan kata-kata yang telah dipisahkan sebelumnya.
2. Tujuan Pra-Pelatihan
- BERT: Pemodelan Bahasa Tersembunyi (MLM) dan Prediksi Kalimat Berikutnya (NSP).
- GPT: Pemodelan Bahasa Kausal (CLM), di mana setiap token memprediksi token berikutnya dalam urutan.
- T5: Menggunakan tujuan denoising di mana rentang teks acak diganti dengan token sentinel dan model mempelajari untuk merekonstruksi teks asli.
3. Representasi Input
- BERT: Embeddings Token, Segmen, dan Posisi digabungkan untuk merepresentasikan input.
- GPT: Embeddings Token dan Posisi digabungkan (tidak ada embeddings segmen karena tidak dirancang untuk tugas pasangan kalimat).
- T5: Hanya Embeddings Token dengan penambahan Pengkodean Posisi Relatif selama operasi perhatian.
4. Mekanisme Perhatian
- BERT: Menggunakan pengkodean posisi absolut dan memungkinkan setiap token untuk memperhatikan semua token ke kiri dan kanan (perhatian bidirectional).
- GPT: Juga menggunakan pengkodean posisi absolut tetapi membatasi perhatian hanya pada token sebelumnya (perhatian unidirectional).
- T5: Mengimplementasikan varian transformer yang menggunakan bias posisi relatif sebagai gantinya pengkodean posisi.
5. Arsitektur Model
- BERT: Arsitektur encoder-saja dengan beberapa lapisan blok transformer.
- GPT: Arsitektur decoder-saja, juga dengan beberapa lapisan tetapi dirancang untuk tugas generatif.
- T5: Arsitektur encoder-decoder, di mana baik encoder dan decoder terdiri dari lapisan transformer.
6. Pendekatan Pemhalusan
- BERT: Menyesuaikan negara tersembunyi akhir dari model pra-pelatihan untuk tugas hilir dengan menambahkan lapisan output tambahan jika perlu.
- GPT: Menambahkan lapisan linier di atas transformer dan memperhalus pada tugas hilir dengan menggunakan objek pemodelan bahasa kausal yang sama.
- T5: Mengubah semua tugas menjadi format teks-ke-teks, di mana model diperhalus untuk menghasilkan urutan target dari urutan input.
7. Data Pelatihan dan Skala
- BERT: Dilatih pada BooksCorpus dan Wikipedia bahasa Inggris.
- GPT: GPT-2 dan GPT-3 dilatih pada dataset yang diekstrak dari internet, dengan GPT-3 dilatih pada corpus yang lebih besar yang disebut Common Crawl.
- T5: Dilatih pada “Colossal Clean Crawled Corpus”, yang merupakan versi besar dan bersih dari Common Crawl.
8. Penanganan Konteks dan Bidireksionalitas
- BERT: Dirancang untuk memahami konteks dalam kedua arah secara bersamaan.
- GPT: Dilatih untuk memahami konteks dalam arah maju (kiri-ke-kanan).
- T5: Dapat memodelkan konteks bidirectional di encoder dan unidirectional di decoder, sesuai untuk tugas urutan-ke-urutan.
9. Adaptabilitas terhadap Tugas Hilir
- BERT: Memerlukan lapisan kepala tugas-spesifik dan pemhalusan untuk setiap tugas hilir.
- GPT: Bersifat generatif dan dapat diprompt untuk melakukan tugas dengan perubahan minimal pada struktur.
- T5: Menganggap setiap tugas sebagai “teks-ke-teks” masalah, membuatnya secara inheren fleksibel dan dapat disesuaikan dengan tugas baru.
10. Interpretabilitas dan Penjelasan
- BERT: Sifat bidireksionalnya memberikan embeddings kontekstual yang kaya tetapi dapat lebih sulit untuk diinterpretasikan.
- GPT: Konteks unidireksional mungkin lebih sederhana untuk diikuti tetapi kehilangan kedalaman konteks bidirectional.
- T5: Kerangka encoder-decoder memberikan pemisahan langkah pemrosesan yang jelas tetapi dapat lebih kompleks untuk dianalisis karena sifat generatifnya.
Dampak Transformer pada NLP
Transformer telah merevolusi bidang NLP dengan memungkinkan model untuk memproses urutan data secara paralel, yang secara dramatis meningkatkan kecepatan dan efisiensi pelatihan jaringan neural besar. Mereka memperkenalkan mekanisme self-attention, yang memungkinkan model untuk menimbang pentingnya setiap bagian dari data input, terlepas dari jarak dalam urutan. Ini menghasilkan perbaikan luar biasa dalam berbagai tugas NLP, termasuk terjemahan, jawaban pertanyaan, dan ringkasan teks.
Penelitian terus mendorong batas apa yang dapat dicapai oleh model berbasis transformer. GPT-4 dan kontemporer lainnya tidak hanya lebih besar dalam skala tetapi juga lebih efisien dan mampu karena kemajuan dalam arsitektur dan metode pelatihan. Teknik seperti pembelajaran beberapa contoh, di mana model melakukan tugas dengan contoh minimal, dan metode untuk transfer learning yang lebih efektif berada di garis depan penelitian saat ini.
Model bahasa seperti yang berbasis pada transformer belajar dari data yang dapat mengandung bias. Peneliti dan praktisi secara aktif bekerja untuk mengidentifikasi, memahami, dan mitigasi bias-bias ini. Teknik ini berkisar dari dataset pelatihan yang dikurasi hingga penyesuaian pasca-pelatihan yang ditujukan pada keadilan dan netralitas.















