Connect with us

Kecerdasan buatan

NLP Rise with Transformer Models | Analisis Komprehensif T5, BERT, dan GPT

mm
Guide on NLP

Natural Language Processing (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 pendahulu dan bangunan 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 utama dari keterbatasan ini.

One-hot encoding adalah proses yang mana variabel kategorik diubah menjadi representasi vektor biner di mana hanya satu bit “panas” (diatur ke 1) dan semua yang lain “dingin” (diatur 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 itu 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 Matematika

Jika kita menandai V sebagai ukuran kosakata kita dan wi sebagai representasi vektor one-hot dari kata ke-i dalam kosakata, representasi matematika dari wi akan menjadi:

wi=[0,0,,1,,0,0] di mana posisi ke-i adalah 1 dan semua posisi lainnya adalah 0.di mana posisi ke-i adalah 1 dan semua posisi lainnya adalah 0.

Kekurangan besar dari one-hot encoding adalah bahwa ia memperlakukan setiap kata sebagai entitas yang terisolasi, tanpa hubungan dengan kata-kata lain. Ini menghasilkan vektor yang jarang 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 yang dipimpin oleh Tomas Mikolov pada tahun 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 tiga dimensi hipotetis. Embeddings (yang biasanya lebih dari tiga dimensi 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.

Representasi Matematika

Jika kita merepresentasikan embedding Word2Vec dari sebuah kata sebagai vw, dan ruang embedding kita memiliki d dimensi, maka vw dapat direpresentasikan sebagai:

vw=[v1,v2,,vd] di mana setiap vi adalah bilangan titik mengambang yang merepresentasikan fitur dari kata dalam ruang embedding.

Hubungan Semantik

Word2Vec bahkan dapat menangkap hubungan yang kompleks, seperti analogi. Misalnya, hubungan yang terkenal yang ditangkap oleh embedding Word2Vec adalah:

vektor(“king”) – vektor(“man”) + vektor(“woman”)≈vektor(“queen”)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 dalam ruang vektor.

Word2Vec menggunakan dua arsitektur utama untuk menghasilkan representasi terdistribusi kata: Continuous Bag-of-Words (CBOW) dan Skip-Gram. CBOW memprediksi kata target dari kata-kata konteks yang mengelilinginya, sedangkan Skip-Gram melakukan kebalikannya, memprediksi kata-kata konteks dari kata target. Ini memungkinkan mesin untuk mulai memahami penggunaan kata dan makna dengan cara yang lebih halus.

Model Sekuensial: RNN dan LSTM

Ketika bidang ini berkembang, fokus bergeser ke arah memahami sekuens kata-kata, yang sangat penting untuk tugas seperti terjemahan mesin, ringkasan teks, dan analisis sentimen. Jaringan Saraf Berulang (RNN) menjadi fondasi untuk aplikasi ini karena kemampuan mereka untuk menangani data sekuensial dengan mempertahankan bentuk memori.

Namun, RNN tidak tanpa keterbatasan. Mereka bergelut dengan ketergantungan jangka panjang karena masalah gradien yang menghilang, di mana informasi hilang selama sekuens 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 tahun 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 penting “Attention is All You Need” oleh Vaswani et al. pada tahun 2017. Arsitektur transformer berbeda dari pemrosesan sekuensial RNN dan LSTM dan menggunakan mekanisme yang disebut ‘self-attention’ untuk menimbang pengaruh bagian-bagian yang berbeda dari data input.

Gagasan utama 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 bagian-bagian yang berbeda dari teks saat memprosesnya, yang sangat penting untuk memahami konteks dan hubungan antara kata-kata, terlepas dari posisi mereka 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 ini 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-elemen (seperti kata-kata dalam kalimat). Bagian ini dari transformer tidak menghasilkan konten baru; ia hanya mengubah input menjadi keadaan yang dapat digunakan decoder.
  • Fungsi: Setiap lapisan encoder memiliki mekanisme self-attention dan jaringan saraf feed-forward. Mekanisme self-attention memungkinkan setiap posisi dalam encoder untuk memperhatikan semua posisi dalam lapisan sebelumnya dari encoder—sehingga, ia dapat mempelajari konteks di sekitar setiap kata.
  • Embedding Kontekstual: Keluaran dari encoder adalah serangkaian vektor yang merepresentasikan urutan input dalam ruang berdimensi tinggi. Vektor-vektor ini sering disebut sebagai embedding kontekstual karena mereka mengkodekan tidak hanya kata-kata individu 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 diterima dari encoder dan apa yang telah dihasilkan sebelumnya. Ini dirancang untuk tugas seperti generasi teks, di mana urutan generasi sangat penting.
  • Fungsi: Lapisan decoder juga berisi mekanisme self-attention, tetapi mereka dimasker untuk mencegah posisi memperhatikan posisi berikutnya. Ini memastikan bahwa prediksi untuk posisi tertentu hanya dapat bergantung pada output yang diketahui sebelumnya. Selain itu, lapisan decoder termasuk mekanisme perhatian kedua yang memperhatikan keluaran encoder, mengintegrasikan konteks dari input ke dalam proses generasi.
  • Kemampuan Generasi Sekuensial: Ini mengacu pada kemampuan decoder untuk menghasilkan sekuens satu elemen pada satu waktu, membangun pada apa yang telah dihasilkan sebelumnya. Misalnya, ketika menghasilkan teks, decoder memprediksi kata berikutnya berdasarkan konteks yang disediakan oleh encoder dan urutan kata yang telah dihasilkan.

Setiap sub-lapisan dalam encoder dan decoder ini sangat penting untuk kemampuan model untuk menangani tugas NLP yang kompleks. Mekanisme perhatian multi-kepala, khususnya, memungkinkan model untuk memilih fokus pada bagian-bagian yang berbeda dari urutan, memberikan pemahaman konteks yang kaya.

Model Populer yang Menggunakan Transformer

Setelah kesuksesan awal model transformer, terdapat ledakan model baru yang dibangun berdasarkan arsitektur ini, masing-masing dengan inovasi dan optimasi untuk tugas yang berbeda:

BERT (Bidirectional Encoder Representations from Transformers): Diperkenalkan oleh Google pada tahun 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.

BERT

BERT

T5 (Text-to-Text Transfer Transformer): Diperkenalkan oleh Google pada tahun 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.

t5 Architecture

T5 Architecture

GPT (Generative Pre-trained Transformer): Dikembangkan oleh OpenAI, garis model GPT dimulai dengan GPT-1 dan mencapai GPT-4 pada tahun 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 relevan secara kontekstual telah membuat mereka sangat berpengaruh dalam aplikasi AI akademis dan komersial.

GPT

GPT Architecture

Di sini, kita memiliki perbandingan yang 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: Model Bahasa Tersembunyi (MLM) dan Prediksi Kalimat Berikutnya (NSP).
  • GPT: Model Bahasa Kausal (CLM), di mana setiap token memprediksi token berikutnya dalam urutan.
  • T5: Menggunakan tujuan denoising di mana rentang teks acak digantikan dengan token sentinel dan model belajar merekonstruksi teks asli.

3. Representasi Input

  • BERT: Embedding Token, Segmen, dan Posisi digabungkan untuk merepresentasikan input.
  • GPT: Embedding Token dan Posisi digabungkan (tidak ada embedding segmen karena tidak dirancang untuk tugas pasangan kalimat).
  • T5: Hanya Embedding Token dengan penambahan Pengkodean Posisi Relatif selama operasi perhatian.

4. Mekanisme Perhatian

  • BERT: Menggunakan pengkodean posisi absolut dan memungkinkan setiap posisi untuk memperhatikan semua posisi—sehingga, dapat mempelajari konteks di sekitar setiap kata.
  • GPT: Juga menggunakan pengkodean posisi absolut tetapi membatasi perhatian hanya pada token sebelumnya (perhatian unidireksional).
  • T5: Mengimplementasikan varian transformer yang menggunakan bias posisi relatif daripada 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-pelatih untuk tugas hilir dengan menambahkan lapisan output tambahan jika perlu.
  • GPT: Menambahkan lapisan linear pada atas transformer dan memperhalus pada tugas hilir menggunakan tujuan model 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 bidireksional dalam encoder dan unidireksional dalam decoder, sesuai untuk tugas sekuens-ke-sekuens.

9. Fleksibilitas terhadap Tugas Hilir

  • BERT: Memerlukan lapisan kepala tugas-spesifik dan pemhalusan untuk setiap tugas hilir.
  • GPT: Bersifat generatif dan dapat dipicu untuk melakukan tugas dengan perubahan minimal pada struktur.
  • T5: Menganggap semua tugas sebagai masalah teks-ke-teks, membuatnya secara inheren fleksibel dan dapat disesuaikan dengan tugas baru.

10. Interpretasi dan Keterjelasan

  • BERT: Sifat bidireksional menyediakan embedding kontekstual yang kaya tetapi dapat lebih sulit untuk diinterpretasikan.
  • GPT: Konteks unidireksional mungkin lebih sederhana untuk diikuti tetapi kekurangan kedalaman konteks bidireksional.
  • T5: Kerangka encoder-decoder menyediakan pemisahan langkah pemrosesan yang jelas tetapi dapat kompleks untuk dianalisis karena sifat generatifnya.

Dampak Transformer pada NLP

Transformer telah merevolusi bidang NLP dengan memungkinkan model untuk memproses sekuens data secara paralel, yang secara dramatis meningkatkan kecepatan dan efisiensi pelatihan jaringan saraf besar. Mereka memperkenalkan mekanisme self-attention, yang memungkinkan model untuk menimbang pentingnya setiap bagian dari data input, terlepas dari jarak dalam sekuens. Ini mengarah pada 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 sedikit 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 transformer belajar dari data yang dapat mengandung bias. Peneliti dan praktisi secara aktif bekerja untuk mengidentifikasi, memahami, dan memitigasi bias-bias ini. Teknik mulai dari dataset pelatihan yang dirancang dengan hati-hati hingga penyesuaian pasca-pelatihan yang ditujukan untuk keadilan dan netralitas.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah membawa saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.