potongan NLP Bangkit dengan Model Transformer | Analisis Komprehensif T5, BERT, dan GPT - Unite.AI
Terhubung dengan kami

Kecerdasan Buatan

NLP Bangkit dengan Model Transformer | Analisis Komprehensif T5, BERT, dan GPT

mm

Diterbitkan

 on

Panduan tentang NLP

Natural Language Processing (NLP) telah mengalami beberapa terobosan paling berdampak dalam beberapa tahun terakhir, terutama karena arsitektur transformator. Terobosan-terobosan ini tidak hanya meningkatkan kemampuan mesin untuk memahami dan menghasilkan bahasa manusia, namun juga mendefinisikan ulang lanskap berbagai aplikasi, mulai dari mesin pencari hingga AI percakapan.

Untuk sepenuhnya mengapresiasi pentingnya transformator, pertama-tama kita harus melihat kembali pendahulunya dan landasan yang meletakkan dasar bagi arsitektur revolusioner ini.

Teknik NLP Awal: Landasan Sebelum Transformers

Penyematan Kata: Dari One-Hot ke Word2Vec

Dalam pendekatan NLP tradisional, representasi kata sering kali bersifat literal dan tidak memiliki pemahaman semantik atau sintaksis apa pun. Pengkodean one-hot adalah contoh utama dari keterbatasan ini.

Pengkodean one-hot adalah proses di mana variabel kategori diubah menjadi representasi vektor biner di mana hanya satu bit yang “panas” (diatur ke 1) sedangkan bit lainnya “dingin” (diatur ke 0). Dalam konteks NLP, setiap kata dalam kosakata diwakili oleh vektor one-hot di mana setiap vektor adalah ukuran kosakata, dan setiap kata diwakili oleh vektor dengan semua angka 0 dan satu angka 1 pada indeks yang sesuai dengan kata tersebut di daftar kosakata.

Contoh Pengkodean One-Hot

Misalkan kita memiliki kosakata yang sedikit dengan hanya lima kata: ["raja", "ratu", "pria", "wanita", "anak"]. Vektor pengkodean one-hot untuk setiap kata akan terlihat seperti ini:

  • “raja” -> [1, 0, 0, 0, 0]
  • “ratu” -> [0, 1, 0, 0, 0]
  • “manusia” -> [0, 0, 1, 0, 0]
  • “wanita” -> [0, 0, 0, 1, 0]
  • “anak” -> [0, 0, 0, 0, 1]

Representasi Matematika

Jika kita menyatakan sebagai ukuran kosakata kita dan sebagai representasi vektor one-hot dari kata ke-i dalam kosakata, representasi matematis dari akan menjadi:

dimana posisi ke-i adalah 1 dan semua posisi lainnya adalah 0.

Kelemahan utama dari pengkodean one-hot adalah ia memperlakukan setiap kata sebagai entitas yang terisolasi, tidak ada hubungannya dengan kata lain. Hal ini menghasilkan vektor yang jarang dan berdimensi tinggi yang tidak menangkap informasi semantik atau sintaksis apa pun tentang kata-kata tersebut.

Pengenalan penyematan kata, terutama Word2Vec, adalah momen penting dalam NLP. Dikembangkan oleh tim di Google yang dipimpin oleh Tomas Mikolov pada tahun 2013, Word2Vec mewakili kata-kata dalam ruang vektor padat, menangkap hubungan kata sintaksis dan semantik berdasarkan konteksnya dalam kumpulan teks yang besar.

Tidak seperti pengkodean one-hot, Word2Vec menghasilkan vektor padat, biasanya dengan ratusan dimensi. Kata-kata yang muncul dalam konteks serupa, seperti “raja” dan “ratu”, akan memiliki representasi vektor yang lebih dekat satu sama lain dalam ruang vektor.

Sebagai ilustrasi, anggaplah kita telah melatih model Word2Vec dan sekarang merepresentasikan kata-kata dalam ruang 3 dimensi hipotetis. Penyematannya (yang biasanya lebih dari 3D tetapi dikurangi di sini untuk kesederhanaan) mungkin terlihat seperti ini:

  • “raja” -> [0.2, 0.1, 0.9]
  • “ratu” -> [0.21, 0.13, 0.85]
  • “manusia” -> [0.4, 0.3, 0.2]
  • “wanita” -> [0.41, 0.33, 0.27]
  • “anak” -> [0.5, 0.5, 0.1]

Meskipun angka-angka ini fiktif, angka-angka ini menggambarkan bagaimana kata-kata yang mirip memiliki vektor yang serupa.

Representasi Matematika

Jika kita mewakili penyematan Word2Vec dari sebuah kata sebagai , dan ruang penyematan kami memilikinya dimensi, lalu dapat direpresentasikan sebagai:

Hubungan Semantik

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

vektor("raja") – vektor("pria") + vektor("wanita")≈vektor("ratu")

Hal ini dimungkinkan karena Word2Vec menyesuaikan vektor kata selama pelatihan sehingga kata-kata yang memiliki konteks umum dalam korpus diposisikan berdekatan dalam ruang vektor.

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

Pemodelan Urutan: RNN dan LSTM

Seiring kemajuan bidang ini, fokusnya beralih ke pemahaman urutan teks, yang penting untuk tugas-tugas seperti terjemahan mesin, peringkasan teks, dan analisis sentimen. Jaringan Neural Berulang (RNN) menjadi landasan aplikasi ini karena kemampuannya menangani data berurutan dengan mempertahankan bentuk memori.

Namun, RNN bukannya tanpa batasan. Mereka berjuang dengan ketergantungan jangka panjang karena masalah gradien yang hilang, di mana informasi hilang dalam rangkaian yang panjang, sehingga sulit untuk mempelajari korelasi antara peristiwa-peristiwa yang berjauhan.

Jaringan Memori Jangka Pendek Panjang (LSTM), 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 masukan, gerbang lupa, dan gerbang keluaran. Gerbang ini menentukan informasi apa yang disimpan, diperbarui, atau dibuang, sehingga memungkinkan jaringan mempertahankan ketergantungan jangka panjang dan secara signifikan meningkatkan kinerja pada beragam tugas NLP.

Arsitektur Transformer

Lanskap NLP mengalami transformasi dramatis dengan diperkenalkannya model transformator dalam makalah penting “Attention is All You Need” oleh Vaswani dkk. pada tahun 2017. Arsitektur transformator berangkat dari pemrosesan berurutan RNN dan LSTM dan sebagai gantinya menggunakan mekanisme yang disebut 'perhatian mandiri' untuk menimbang pengaruh berbagai bagian data masukan.

Ide inti dari trafo adalah ia dapat memproses seluruh data masukan sekaligus, bukan secara berurutan. Hal ini memungkinkan lebih banyak paralelisasi dan, sebagai hasilnya, peningkatan kecepatan pelatihan yang signifikan. Mekanisme perhatian diri memungkinkan model untuk fokus pada bagian teks yang berbeda saat memprosesnya, yang sangat penting untuk memahami konteks dan hubungan antar kata, terlepas dari posisinya dalam teks.

Encoder dan Decoder di Transformers:

Dalam model Transformer asli, seperti yang dijelaskan di makalah “Perhatian Adalah Yang Anda ButuhkanMenurut Vaswani et al., arsitekturnya dibagi menjadi dua bagian utama: encoder dan decoder. Kedua bagian tersebut terdiri dari lapisan-lapisan yang memiliki struktur umum yang sama tetapi memiliki tujuan yang berbeda.

Pembuat enkode:

  • Peran: Peran pembuat enkode adalah memproses data masukan dan membuat representasi yang menangkap hubungan antar elemen (seperti kata dalam kalimat). Bagian transformator ini tidak menghasilkan konten baru apa pun; itu hanya mengubah input menjadi keadaan yang dapat digunakan decoder.
  • Fungsi: Setiap lapisan pembuat enkode memiliki mekanisme perhatian mandiri dan jaringan saraf penerusan. Mekanisme perhatian mandiri memungkinkan setiap posisi di pembuat enkode memperhatikan semua posisi di lapisan pembuat enkode sebelumnya—sehingga, mekanisme ini dapat mempelajari konteks di sekitar setiap kata.
  • Penyematan Kontekstual: Output dari encoder adalah serangkaian vektor yang mewakili urutan input dalam ruang berdimensi tinggi. Vektor-vektor ini sering disebut sebagai penyematan kontekstual karena vektor-vektor ini tidak hanya mengkodekan setiap kata tetapi juga konteksnya dalam kalimat.

Decoder:

  • Peran: Peran decoder adalah menghasilkan data keluaran secara berurutan, satu per satu, berdasarkan masukan yang diterimanya dari encoder dan apa yang telah dihasilkannya sejauh ini. Ini dirancang untuk tugas-tugas seperti pembuatan teks, yang mengutamakan urutan pembuatan.
  • Fungsi: Lapisan decoder juga berisi mekanisme perhatian mandiri, namun ditutupi untuk mencegah posisi memperhatikan posisi berikutnya. Hal ini memastikan bahwa prediksi untuk posisi tertentu hanya dapat bergantung pada keluaran yang diketahui pada posisi sebelumnya. Selain itu, lapisan decoder menyertakan mekanisme perhatian kedua yang memperhatikan keluaran encoder, mengintegrasikan konteks dari masukan ke dalam proses pembuatan.
  • Kemampuan Generasi Berurutan: Ini mengacu pada kemampuan decoder untuk menghasilkan urutan elemen satu per satu, berdasarkan apa yang telah dihasilkannya. Misalnya, saat membuat teks, decoder memprediksi kata berikutnya berdasarkan konteks yang disediakan oleh encoder dan urutan kata yang telah dihasilkannya.

Masing-masing sub-lapisan dalam encoder dan decoder sangat penting untuk kemampuan model dalam menangani tugas NLP yang kompleks. Mekanisme perhatian multi-kepala, khususnya, memungkinkan model untuk secara selektif fokus pada bagian-bagian berbeda dari rangkaian, sehingga memberikan pemahaman konteks yang kaya.

Model Populer Memanfaatkan Transformer

Menyusul kesuksesan awal model transformator, terjadi ledakan model-model baru yang dibangun berdasarkan arsitekturnya, masing-masing dengan inovasi dan optimalisasinya sendiri untuk tugas yang berbeda:

BERT (Representasi Encoder Dua Arah dari Transformer): Diperkenalkan oleh Google pada tahun 2018, BERT merevolusi cara informasi kontekstual diintegrasikan ke dalam representasi bahasa. Dengan melakukan pra-pelatihan pada kumpulan teks yang besar dengan model bahasa terselubung dan prediksi kalimat berikutnya, BERT menangkap konteks dua arah yang kaya dan telah mencapai hasil canggih pada beragam tugas NLP.

BERTI

BERTI

T5 (Transformator Transfer Teks-ke-Teks): Diperkenalkan oleh Google pada tahun 2020, T5 membingkai ulang semua tugas NLP sebagai masalah teks-ke-teks, menggunakan format berbasis teks terpadu. Pendekatan ini menyederhanakan proses penerapan model pada berbagai tugas, termasuk penerjemahan, ringkasan, dan menjawab pertanyaan.

t5 Arsitektur

Arsitektur T5

GPT (Transformer Terlatih Generatif): Dikembangkan oleh OpenAI, rangkaian model GPT dimulai dengan GPT-1 dan mencapai GPT-4 pada tahun 2023. Model ini telah dilatih sebelumnya menggunakan pembelajaran tanpa pengawasan pada data teks dalam jumlah besar dan disesuaikan untuk berbagai tugas. Kemampuan mereka untuk menghasilkan teks yang koheren dan relevan secara kontekstual menjadikan mereka sangat berpengaruh baik dalam aplikasi AI akademis maupun komersial.

GPT

Arsitektur GPT

Berikut perbandingan lebih mendalam model T5, BERT, dan GPT di berbagai dimensi:

1. Tokenisasi dan Kosakata

  • BERTI: Menggunakan tokenisasi WordPiece dengan ukuran kosakata sekitar 30,000 token.
  • GPT: Menggunakan Byte Pair Encoding (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 disegmentasi sebelumnya.

2. Tujuan Pra-pelatihan

  • BERTI: Masked Language Modeling (MLM) dan Next Sentence Prediction (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 belajar merekonstruksi teks asli.

3. Representasi Masukan

  • BERTI: Token, Segmen, dan Penyematan Posisi digabungkan untuk mewakili masukan.
  • GPT: Penyematan Token dan Posisi digabungkan (tidak ada penyematan segmen karena tidak dirancang untuk tugas pasangan kalimat).
  • T5: Hanya Penyematan Token dengan tambahan Pengkodean Posisi Relatif selama operasi perhatian.

4. Mekanisme Perhatian

  • BERTI: Menggunakan pengkodean posisi absolut dan memungkinkan setiap token memperhatikan semua token di kiri dan kanan (perhatian dua arah).
  • GPT: Juga menggunakan pengkodean posisi absolut tetapi membatasi perhatian pada token sebelumnya saja (perhatian searah).
  • T5: Mengimplementasikan varian transformator yang menggunakan bias posisi relatif, bukan penyematan posisi.

5. Model Arsitektur

  • BERTI: Arsitektur khusus encoder dengan beberapa lapisan blok transformator.
  • GPT: Arsitektur khusus dekoder, juga dengan banyak lapisan tetapi dirancang untuk tugas generatif.
  • T5: Arsitektur encoder-decoder, dimana encoder dan decoder terdiri dari lapisan transformator.

6. Pendekatan Penyempurnaan

  • BERTI: Menyesuaikan status tersembunyi akhir dari model terlatih untuk tugas hilir dengan lapisan keluaran tambahan sesuai kebutuhan.
  • GPT: Menambahkan lapisan linier di atas transformator dan menyempurnakan tugas hilir menggunakan tujuan pemodelan bahasa kausal yang sama.
  • T5: Mengonversi semua tugas ke dalam format teks-ke-teks, di mana model disetel dengan baik untuk menghasilkan urutan target dari urutan masukan.

7. Data dan Skala Pelatihan

  • BERTI: Dilatih di BooksCorpus dan Wikipedia bahasa Inggris.
  • GPT: GPT-2 dan GPT-3 telah dilatih pada beragam kumpulan data yang diambil dari internet, dan GPT-3 dilatih pada korpus yang lebih besar yang disebut Common Crawl.
  • T5: Dilatih tentang “Colossal Clean Crawled Corpus”, yang merupakan versi Common Crawl yang besar dan bersih.

8. Penanganan Konteks dan Dua Arah

  • BERTI: Dirancang untuk memahami konteks di kedua arah secara bersamaan.
  • GPT: Dilatih memahami konteks ke arah depan (kiri-kanan).
  • T5: Dapat memodelkan konteks dua arah di encoder dan searah di decoder, sesuai untuk tugas urutan-ke-urutan.

9. Kemampuan beradaptasi terhadap tugas-tugas hilir

  • BERTI: Memerlukan lapisan kepala khusus tugas dan penyesuaian untuk setiap tugas hilir.
  • GPT: Bersifat generatif dan dapat diminta untuk melakukan tugas dengan sedikit perubahan pada strukturnya.
  • T5: Memperlakukan setiap tugas sebagai masalah “teks-ke-teks”, menjadikannya fleksibel dan mudah beradaptasi dengan tugas-tugas baru.

10. Interpretabilitas dan Penjelasan

  • BERTI: Sifat dua arah memberikan penyematan kontekstual yang kaya namun lebih sulit untuk ditafsirkan.
  • GPT: Konteks satu arah mungkin lebih mudah untuk diikuti namun kurang mendalam dalam konteks dua arah.
  • T5: Kerangka kerja encoder-decoder memberikan pemisahan langkah pemrosesan yang jelas tetapi bisa jadi rumit untuk dianalisis karena sifat generatifnya.

Dampak Transformer pada NLP

Transformer telah merevolusi bidang NLP dengan memungkinkan model memproses rangkaian data secara paralel, yang secara dramatis meningkatkan kecepatan dan efisiensi pelatihan jaringan saraf besar. Mereka memperkenalkan mekanisme perhatian diri, yang memungkinkan model untuk mempertimbangkan pentingnya setiap bagian data masukan, terlepas dari jarak dalam urutannya. Hal ini menghasilkan peningkatan yang belum pernah terjadi sebelumnya dalam beragam tugas NLP, termasuk namun tidak terbatas pada penerjemahan, menjawab pertanyaan, dan peringkasan teks.

Penelitian terus mendorong batas-batas pencapaian model berbasis transformator. GPT-4 dan produk-produk sezamannya tidak hanya berskala lebih besar tetapi juga lebih efisien dan mumpuni karena kemajuan dalam arsitektur dan metode pelatihan. Teknik seperti pembelajaran beberapa langkah, di mana model melakukan tugas dengan contoh minimal, dan metode pembelajaran transfer yang lebih efektif berada di garis depan penelitian saat ini.

Model bahasa seperti yang didasarkan pada transformator belajar dari data yang mungkin mengandung bias. Para peneliti dan praktisi secara aktif berupaya mengidentifikasi, memahami, dan memitigasi bias-bias ini. Tekniknya berkisar dari kumpulan data pelatihan yang dikurasi hingga penyesuaian pasca-pelatihan yang bertujuan untuk keadilan dan netralitas.

Saya telah menghabiskan lima tahun terakhir membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menakjubkan. Semangat dan keahlian saya telah membuat saya berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Keingintahuan saya yang berkelanjutan juga menarik saya ke Natural Language Processing, bidang yang ingin saya jelajahi lebih jauh.