Apa mekanisme perhatian?

4 Desember 2024

Penyusun

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

Apa itu mekanisme perhatian?

Mekanisme perhatian adalah teknik dalam machine learning yang membantu model pembelajaran mendalam untuk memprioritaskan (atau memfokuskan) pada bagian data masukan yang paling relevan. Inovasi dalam mekanisme ini telah memungkinkan pengembangan arsitektur transformer, yang menjadi dasar model bahasa besar (LLM) modern dan mendukung aplikasi populer seperti ChatGPT.

Seperti namanya, mekanisme perhatian terinspirasi oleh kemampuan manusia (dan hewan lainnya) untuk secara selektif lebih memperhatikan detail yang menonjol dan mengabaikan detail yang kurang penting pada saat itu. Memiliki akses ke semua informasi tetapi hanya berfokus pada informasi yang paling relevan membantu memastikan bahwa tidak ada detail yang berarti yang hilang sekaligus memungkinkan penggunaan memori dan waktu yang terbatas secara efisien.

Secara matematis, mekanisme perhatian menghitung bobot perhatian yang mencerminkan kepentingan relatif dari setiap bagian dari input terhadap tugas yang sedang dikerjakan. Kemudian, mekanisme ini menerapkan bobot perhatian tersebut untuk meningkatkan (atau mengurangi) pengaruh setiap bagian dari input, sesuai dengan tingkat kepentingannya. Model perhatian—yaitu model kecerdasan buatan yang menggunakan mekanisme perhatian—dilatih untuk memberikan bobot perhatian yang akurat melalui pembelajaran yang diawasi atau pembelajaran yang diawasi sendiri pada kumpulan data contoh.

Mekanisme perhatian pertama kali diperkenalkan oleh Bahdanau dkk pada tahun 2014 sebagai solusi untuk mengatasi keterbatasan model recurrent neural networks (RNN) yang digunakan dalam penerjemahan mesin. Penelitian berikutnya kemudian mengintegrasikan mekanisme perhatian ke dalam convolutional neural networks (CNN) untuk meningkatkan kinerja pada berbagai tugas seperti pemberian keterangan gambar dan menjawab pertanyaan visual.

Pada tahun 2017, makalah berjudul "Attention is All You Need" memperkenalkan model transformator, yang menghilangkan penggunaan pengulangan dan konvolusi serta hanya mengandalkan lapisan perhatian dan lapisan feedforward standar. Sejak itu, arsitektur transformator telah menjadi fondasi bagi model-model mutakhir yang mendukung era AI generatif saat ini.

Meskipun mekanisme perhatian umumnya dikaitkan dengan LLM yang menangani tugas-tugas pemrosesan bahasa alami (NLP), seperti peringkasan, menjawab pertanyaan, pembuatan teks, dan analisis sentimen, model berbasis perhatian juga banyak diterapkan di bidang lain. Misalnya, model difusi terkemuka untuk menghasilkan gambar sering mengintegrasikan mekanisme perhatian. Di bidang visi komputer, Vision Transformer (ViT) telah menunjukkan performa unggul dalam tugas-tugas seperti deteksi objek,1 segmentasi gambar,2 dan menjawab pertanyaan visual.3

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Mengapa mekanisme perhatian penting?

Model transformator dan mekanisme perhatian yang menyertainya telah mencapai hasil luar biasa di hampir semua bidang pembelajaran mendalam. Keunggulan mekanisme perhatian terletak pada kemampuannya menangkap hubungan antar elemen secara langsung, sehingga memberikan performa yang lebih baik dibandingkan dengan mekanisme konvolusi pada convolutional neural networks (CNN) dan loop berulang pada recurrent neural networks (RNN).

  • Fleksibilitas dari waktu ke waktu: RNN memproses data berurutan secara serial, artinya setiap langkah waktu diproses secara terpisah dan dalam urutan yang tetap. Hal ini menyulitkan RNN untuk membedakan korelasi—disebut dependensi, dalam istilah ilmu data—yang memiliki banyak langkah di antaranya. Mekanisme perhatian dapat memeriksa seluruh urutan secara bersamaan dan membuat keputusan tentang urutan untuk fokus pada langkah-langkah tertentu.

  • Fleksibilitas terhadap ruang: CNN pada dasarnya bersifat lokal, menggunakan konvolusi untuk memproses himpunan bagian yang lebih kecil dari input satu per satu. Hal ini menyulitkan CNN untuk melihat ketergantungan yang berjauhan, seperti korelasi antara kata (dalam teks) atau piksel (dalam gambar) yang tidak saling berdekatan. Mekanisme perhatian tidak memiliki keterbatasan ini, karena mereka memproses data dengan cara yang sama sekali berbeda.

  • Paralelisasi: Mekanisme perhatian mengharuskan banyak langkah komputasi dilakukan secara bersamaan, bukan secara berurutan. Hal ini memungkinkan penerapan komputasi paralel tingkat tinggi dengan memanfaatkan kekuatan dan kecepatan yang ditawarkan oleh GPU.

Untuk memahami cara kerja mekanisme perhatian dalam pembelajaran mendalam dan perannya dalam revolusi AI generatif, penting untuk melihat alasan awal diperkenalkannya perhatian: yaitu untuk meningkatkan kinerja model Seq2Seq berbasis RNN yang digunakan dalam terjemahan mesin.
 

Cara kerja Seq2Seq tanpa mekanisme perhatian

RNN adalah neural networks dengan loop berulang yang menyediakan padanan “memori,” yang memungkinkannya memproses data berurutan. RNN menerima urutan input yang terurut dan memprosesnya dalam langkah waktu. Setelah setiap langkah waktu, status jaringan yang dihasilkan—disebut status tersembunyi—disediakan kembali ke loop, bersama dengan input berikutnya.

RNN dengan cepat mengalami masalah gradien yang menghilang atau meledak selama pelatihan. Hal ini membuat RNN tidak praktis untuk banyak tugas NLP, karena membatasi panjang kalimat input yang dapat diproses.4 Masalah ini sebagian diatasi oleh arsitektur RNN yang ditingkatkan, yaitu jaringan memori jangka panjang (LSTM), yang menggunakan mekanisme gating untuk mempertahankan informasi jangka panjang.

Sebelum perhatian diperkenalkan, model Seq2Seq adalah model mutakhir untuk terjemahan mesin. Seq2Seq menggunakan dua LSTM dalam arsitektur encoder-decoder.

  • LSTM pertama, yaitu encoder, memproses kalimat sumber secara bertahap, kemudian menghasilkan status tersembunyi dari langkah waktu terakhir. Hasil ini, yang disebut vektor konteks, mengkodekan seluruh kalimat menjadi satu vektor penanaman. Agar Seq2Seq dapat menangani kalimat dengan jumlah kata yang bervariasi, vektor konteks selalu memiliki panjang yang tetap.
  • LSTM kedua,dekoder, mengambil hasil penyematan vektor oleh encoder sebagai input awal dan mendekodekannya kata demi kata, ke dalam bahasa kedua.

Pengodean urutan input dalam jumlah dimensi yang tetap memungkinkan Seq2Seq untuk memproses urutan dengan panjang yang bervariasi, tetapi juga memperkenalkan kelemahan penting:

  • Ini mewakili urutan yang panjang atau kompleks dengan tingkat detail yang sama dengan kalimat yang lebih pendek dan lebih sederhana. Hal ini menyebabkan kemacetan informasi untuk urutan yang lebih panjang dan membuang-buang sumber daya untuk urutan yang lebih pendek.
  • Vektor ini hanya menggambarkan keadaan tersembunyi terakhir dari jaringan encoder. Secara teori, setiap keadaan tersembunyi harus menyimpan informasi dari keadaan sebelumnya, yang juga mencakup data dari langkah waktu sebelumnya, hingga kembali ke langkah pertama. Namun, dalam praktiknya, vektor konteks cenderung "melupakan" informasi dari langkah awal, sehingga kinerja model pada urutan panjang menjadi kurang optimal.
     

Bagaimana mekanisme perhatian meningkat Seq2Seq

Bahdanau dkk. mengusulkan mekanisme perhatian dalam makalah mereka di tahun 2014, "Neural Machine Translation by Jointly Learning to Align and Translate," untuk meningkatkan komunikasi antara encoder dan decoder dan menghilangkan hambatan informasi tersebut.

Alih-alih hanya meneruskan status tersembunyi akhir encoder—vektor konteks—ke decoder, model mereka meneruskan setiap status tersembunyi encoder ke decoder. Mekanisme perhatian itu sendiri digunakan untuk menentukan keadaan tersembunyi mana—yaitu, kata mana dalam kalimat aslinya—yang paling relevan pada setiap langkah terjemahan yang dilakukan oleh dekoder.

"Hal ini membebaskan model dari keharusan mengkodekan seluruh kalimat sumber ke dalam vektor dengan panjang yang tetap, dan juga membuat model hanya berfokus pada informasi yang relevan untuk menghasilkan kata target berikutnya," jelas makalah tersebut. "Hal ini memiliki dampak positif yang besar terhadap kemampuan sistem penerjemahan mesin saraf untuk memberikan hasil yang baik pada kalimat yang lebih panjang."5

Penelitian NLP selanjutnya berfokus pada peningkatan kinerja dan memperluas contoh penggunaan mekanisme perhatian dalam model berulang. Namun, penemuan model Transformer pada tahun 2017, yang sepenuhnya mengandalkan mekanisme perhatian, akhirnya membuat RNN hampir tidak lagi digunakan dalam NLP.

Akademi AI

Menjadi pakar AI

Raih pengetahuan demi memprioritaskan investasi AI yang mendorong pertumbuhan bisnis. Mulai dengan Akademi AI gratis kami hari ini dan pimpin masa depan AI di organisasi Anda.

Bagaimana mekanisme atensi bekerja?

Tujuan utama mekanisme perhatian adalah mengidentifikasi bagian paling relevan dalam urutan input dan mengarahkan model untuk fokus pada bagian yang penting sambil mengabaikan yang kurang signifikan.

Meskipun ada banyak varian dan categories mekanisme perhatian, masing-masing cocok untuk contoh penggunaan dan prioritas yang berbeda, semua mekanisme perhatian menampilkan tiga proses inti:

  1.  Proses "membaca" urutan data mentah dan mengubahnya menjadi vektor penyematan, di mana setiap elemen dalam urutan tersebut diwakili oleh vektor fiturnya sendiri.

  2. Proses ini secara akurat menentukan kesamaan, korelasi, dan ketergantungan (atau ketiadaan) antara setiap vektor. Hasil perhitungan tersebut dikuantifikasi sebagai skor keselarasan (atau skor perhatian), yang menunjukkan sejauh mana vektor-vektor tersebut selaras satu sama lain. Skor keselarasan ini kemudian digunakan untuk menghitung bobot perhatian melalui fungsi softmax, yang menormalkan nilai-nilai tersebut ke dalam rentang 0–1 sehingga totalnya menjadi 1. Misalnya, jika sebuah elemen mendapatkan bobot 0, elemen tersebut diabaikan. Sebaliknya, bobot 1 berarti elemen tersebut menerima 100% perhatian karena semua elemen lainnya mendapat bobot perhatian (karena semua bobot harus dijumlahkan hingga 1). Pada intinya, hasil fungsi softmax merupakan distribusi probabilitas.

  3. Sebuah proses yang memanfaatkan bobot perhatian untuk menyoroti atau mengurangi pengaruh elemen input tertentu dalam proses prediksi model. Dengan kata lain, bobot perhatian digunakan untuk membantu model lebih fokus pada informasi yang relevan dan mengabaikan yang kurang penting.

Kueri, kunci, dan nilai

Makalah penting "Attention is All You Need" menjelaskan mekanisme perhatian dengan menggunakan istilah yang diambil dari basis data relasional: pertanyaan, kunci, dan nilai. Basis data relasional dirancang untuk menyederhanakan penyimpanan dan pengambilan data dengan memberikan pengenal unik (atau “kunci”) untuk setiap data, yang mana kunci kemudian dikaitkan dengan nilai yang sesuai. Dalam konteks NLP, “basis data” sebuah model merujuk pada kosakata token yang telah dipelajari dari kumpulan data pelatihan.

Pengaruh besar dari makalah “Attention is All You Need” telah mengakibatkan mekanisme perhatian sebelumnya sering kali digambarkan secara retroaktif dalam istilah-istilah ini. Secara umum, konsepsi perhatian ini melibatkan interaksi antara tiga jenis representasi vektor untuk setiap token dalam suatu urutan.

  • Vektor kueri mewakili informasi yang dicari oleh token tertentu.
  • Vektor kunci mewakili informasi yang terkandung dalam setiap token. Penyelarasan antara kueri dan kunci digunakan untuk menghitung bobot perhatian.
  • Nilai (atau vektor nilai) menerapkan informasi berbobot perhatian dari vektor kunci. Kontribusi dari kunci yang sangat selaras dengan kueri akan diberi bobot lebih besar; kontribusi dari kunci yang tidak relevan dengan kueri akan diberi bobot mendekati nol.

Varian mekanisme perhatian khusus dibedakan terutama berdasarkan bagaimana vektor dikodekan, bagaimana skor penyelarasan dihitung dan bobot perhatian diterapkan untuk memberikan informasi yang relevan kepada model.
 

Perhatian tambahan

Mekanisme perhatian Badhanau dirancang khusus untuk penerjemahan mesin. Mekanisme ini menggunakan RNN dua arah untuk mengkodekan setiap token input, memproses urutan input dalam arah maju dan mundur, serta menggabungkan hasil. Pendekatan ini sangat berguna ketika, misalnya, bahasa asli dan bahasa terjemahan memiliki konvensi pengurutan yang berbeda untuk kata benda dan kata sifat.

Pada setiap langkah waktu dalam proses penerjemahan, keadaan tersembunyi decoder berfungsi sebagai vektor kueri, sementara keadaan tersembunyi encoder di setiap langkah dalam kalimat sumber berperan sebagai vektor kunci.

Skor keselarasan kemudian dihitung oleh neural networks sederhana, yaitu lapisan perhatian, yang dilatih bersama model lainnya. Lapisan perhatian ini terdiri atas tiga subset bobot model yang dapat dipelajari: bobot kueri untuk status tersembunyi decoder (“Wq”), bobot kunci untuk status tersembunyi encoder (“Wk”) , dan bobot nilai untuk menskalakan hasil akhir (“wv”). Bobot ini adalah “pengetahuan” model: dengan menyesuaikan nilai spesifik dari bobot tersebut selama pelatihan untuk meminimalkan fungsi kerugia model belajar membuat terjemahan yang akurat.

Pada setiap langkah, perhatian aditif bekerja sebagai berikut:

  • Vektor kueri (dikalikan dengan Wq) ditambahkan ke vektor kunci (dikalikan dengan Wk). Jika keduanya sejajar, menambahkan keduanya akan menghasilkan nilai yang besar. Jika keduanya tidak relevan satu sama lain, menambahkan keduanya akan menghasilkan nilai yang kecil atau nilai negatif.
  • Angka yang dihasilkan diinput ke a tanh fungsi aktivasi, yang memetakan semua input ke angka antara -1 dan 1.
  • Hasil dari tanh fungsi tersebut kemudian dikalikan dengan nilai bobot wv. Ini menghasilkan skor penyelarasan antara vektor kueri dan vektor kunci tersebut.
  • Skor penyelarasan kemudian di-input ke dalam fungsi softmax, yang menghasilkan bobot perhatian untuk vektor kunci tersebut.
     

Vektor konteks yang digunakan decoder untuk menghasilkan terjemahan dihitung sebagai jumlah berbobot dari setiap vektor kunci. Salah satu keunggulan perhatian aditif adalah kemampuannya menangani vektor kueri dan vektor kunci dengan panjang yang sama

Perhatian produk titik

Pada tahun 2015, Luong dkk memperkenalkan beberapa metodologi baru untuk menyederhanakan dan meningkatkan mekanisme perhatian Badhanau dalam penerjemahan mesin. Mungkin salah satu kontribusi mereka yang paling penting adalah fungsi skor perataan baru yang menggunakan perkalian bukan penjumlahan. Hal ini juga menghindari tanh fungsi ini menghitung kesamaan antara vektor status tersembunyi dengan menggunakan dot product. Oleh karena itu, metode ini sering disebut sebagai perhatian dot product atau perhatian multiplikatif.

Intuisi di balik penggunaan dot product untuk membandingkan vektor kueri adalah matematis dan pragmatis:

  • Jika Q danK vektor disejajarkan—yaitu, jika kueri dan kunci memiliki arti yang sama satu sama lain—mengalikannya akan menghasilkan nilai yang besar. Setelah softmax, nilai yang besar ini akan menghasilkan bobot perhatian yang besar untuk kunci tersebut. Jika mereka tidak sejajar dengan baik, dot product mereka akan menjadi kecil atau negatif, dan fungsi softmax berikutnya akan menghasilkan bobot perhatian yang kecil.
  • Dalam praktiknya, operasi perkalian pada neural networks terbukti jauh lebih cepat dan efisien secara komputasi dibandingkan dengan operasi lainnya. Hal ini karena perkalian dapat diimplementasikan dalam langkah yang lebih sedikit melalui penggunaan perkalian matriks.6

Salah satu konsekuensi penggunaan perhatian berbasis produk titik adalah bahwa perhitungan produk titik mensyaratkan kedua vektor memiliki jumlah dimensi yang sama, DK .

Sementara perhatian additive menghitung vektor konteks sebagai jumlah tertimbang dari vektor kunci, perhatian dot product menghitung vektor konteks sebagai rata-rata tertimbang dari vektor kunci.
 

Perhatian produk titik berskala

Para penulis “Attention is All You Need” mencatat bahwa meskipun perhatian berbasis dot-product lebih cepat dan lebih efisien secara komputasi dibandingkan perhatian aditif, perhatian aditif memberikan kinerja yang lebih baik pada vektor yang lebih panjang dibandingkan dengan perhatian dot-product tradisional.

Mereka berteori bahwa ketika DK sangat besar, dot product yang dihasilkan pun akan sangat besar. Jika nilai-nilai besar tersebut dinormalisasi oleh fungsi softmax ke dalam rentang 0–1, backpropagation akan menghasilkan gradien yang sangat kecil dan sulit dioptimalkan. Eksperimen menunjukkan bahwa dengan menskalakan dot product dari dua vektor berukuran DK oleh  1DK sebelum normalisasi Softmax hasil gradien yang lebih besar dan oleh karena itu, pelatihan yang lebih mulus.

Fungsi perhatian dot-product yang diskalakan, yang digunakan dalam model transformator, dapat dituliskan sebagai Attention(Q,K,V)=softjutaaX(QKTDK)V .

 

Perhatian diri

Jenis mekanisme perhatian yang paling awal semuanya melakukan apa yang sekarang dikategorikan sebagai perhatian silang. Dalam perhatian silang, kueri dan kunci berasal dari sumber data yang berbeda. Misalnya, dalam tugas penerjemahan mesin, kunci berasal dari korpus teks dalam satu bahasa dan kueri dari bahasa lain; dalam tugas pengenalan suara, kueri adalah data audio dan kunci adalah data teks untuk mentranskripsikan audio tersebut.

Dalam mekanisme perhatian diri, kueri, kunci, dan nilai semuanya dihasilkan dari sumber yang sama. Berbeda dengan mekanisme perhatian yang dikembangkan oleh Bahdanau dan Luong untuk penerjemahan mesin, Cheng dkk mengusulkan perhatian diri—yang mereka sebut “intra-attention”—sebagai metode untuk meningkatkan kemampuan mesin dalam membaca secara umum. Dalam makalah tahun 2016 mereka, mekanisme ini tidak fokus pada kontribusi masing-masing elemen input terhadap keseluruhan urutan, melainkan menyoroti bagaimana berbagai token input saling berhubungan satu sama lain.

Pikirkan model bahasa yang memperjelas teks bahasa Inggris
"pada hari Jumat, hakim mengeluarkan vonis."

  • Kata sebelumnya. menyarankan bahwahakim bertindak sebagai kata benda—seperti orang yang memimpin persidangan hukum—dan bukan sebagai kata kerja yang berarti menilai atau membentuk opini.
  • Konteks tersebut untuk katahakim menyarankan bahwakalimat mungkin mengacu pada hukuman hukum, bukan “kalimat” tata bahasa.
  • Kata ituditerbitkan ini lebih lanjut menunjukkan bahwa kalimat tersebut merujuk pada konsep hukum, bukan pada konsep tata bahasa.
  • Oleh karena itu, ketika menafsirkan kata tersebutkalimat , model harus memperhatikan dengan baik hakim danditerbitkan . Kata juga harus diperhatikan. . Bisa juga kurang atau lebih mengabaikan kata-kata lain. Mekanisme perhatian diri yang terlatih dengan baik akan menghitung bobot perhatian yang sesuai.

Makalah oleh Cheng dkk hanya menyoroti kemampuan self-attention dalam membaca dan memahami teks. Namun, segera terbukti bahwa pemodelan hubungan antar elemen dalam urutan juga sangat efektif untuk penulisan teks. Pengembangan lebih lanjut dari mekanisme self-attention, bersama dengan penerapan model Transformer, telah mengantarkan pada munculnya AI generatif modern dan LLM autoregresif yang mampu menghasilkan teks orisinal.
 

Mekanisme perhatian mandiri dan terjemahan mesin

LLM autoregresif juga dapat melakukan penerjemahan mesin menggunakan mekanisme self-attention, tetapi dengan pendekatan yang berbeda. Jika cross-attention memproses kalimat sumber dan terjemahannya sebagai dua urutan terpisah, self-attention menganggap keduanya sebagai satu urutan yang berkelanjutan.

Agar LLM berbasis autoregressive dan self-attention mampu menerjemahkan teks, semua kata yang ditemui model dalam pelatihan—di setiap bahasa—dipelajari sebagai bagian dari satu kosakata token multibahasa yang besar. Model ini hanya menyadari bahwa ketika sebuah urutan berisi instruksi seperti “terjemahkan [kata-kata dalam Bahasa 1] ke dalam Bahasa 2,” kata-kata berikutnya dalam urutan tersebut haruslah token dari Bahasa 2.

Pada intinya, LLM autoregresif tidak perlu memahami bahwa ada bahasa yang berbeda dengan sendirinya. Sebaliknya, LLM hanya memahami bagaimana pengelompokan token tertentu—dalam hal ini, token yang berhubungan dengan kata-kata daribahasa yang sama—saling berhubungan satu sama lain. Pemahaman kontekstual ini semakin diperkuat melalui teknik-teknik seperti penyetelan instruksi.

 

Perhatian dalam model transformator

Makalah “Attention is All You Need” yang ditulis oleh Vaswani dkk, terinspirasi oleh konsep self-attention untuk memperkenalkan arsitektur neural networks yang baru: yaitu transformer. Model Transformer ini menghilangkan penggunaan lapisan konvolusional dan mekanisme perulangan, dan sebaliknya hanya mengandalkan lapisan self-attention serta lapisan feedforward linier standar.

Model yang dikembangkan penulis mengikuti struktur encoder-decoder, serupa dengan model berbasis RNN sebelumnya. Model berbasis transformer kemudian mengembangkan kerangka kerja tersebut. Salah satu model awal yang penting setelah makalah tentang transformer adalah BERT (singkatan dari Bidirectional Encoder Representations from Transformers), yaitu model khusus encoder. Sementara itu, LLM autoregresif seperti GPT (Generative Pretrained Transformer), yang telah merevolusi pembuatan teks, merupakan model khusus decoder.

“Perhatian adalah Semua yang Anda Butuhkan” mengusulkan beberapa inovasi pada mekanisme perhatian—salah satunya adalah perhatian produk berskala titik—untuk meningkatkan kinerja dan menyesuaikan perhatian pada struktur model yang sama sekali baru.
 

Pengodean posisi

Urutan dan posisi relatif kata dalam sebuah kalimat dapat memengaruhi maknanya secara signifikan. RNN secara alami menangkap informasi posisi dengan memproses token secara berurutan, satu per satu, melalui status tersembunyinya. Sebaliknya, model transformator harus secara eksplisit mengenali posisi informas.

Dengan pengodean posisi, model menambahkan vektor nilai ke setiap penyematan token, yang berasal dari posisi relatifnya, sebelum input memasuki mekanisme perhatian. Vektor posisi ini biasanya memiliki dimensi yang jauh lebih sedikit daripada penyematan token itu sendiri, sehingga hanya sebagian kecil dari penyematan token yang akan menerima informasi posisi. Perhitungannya agak rumit, tetapi logikanya sederhana:

  • Semakin dekat dua token, semakin mirip vektor posisionnya.
  • Semakin mirip vektor posisi masing-masing, semakin mirip pula kesamaan antara penyematan token setelah vektor posisi tersebut ditambahkan.
  • Semakin mirip penyematan yang diperbarui posisinya, semakin tinggi skor keselarasan antara kedua token, yang menghasilkan bobot perhatian yang lebih besar di antara keduanya. Dengan demikian, model belajar untuk lebih fokus pada token yang lebih dekat.

Viswani dkk merancang algoritma sederhana yang menggunakan fungsi sinus untuk token pada posisi genap dan cosinus untuk token pada posisi ganjil. Algoritme selanjutnya, seperti rotary positional encoding (RoPE), meningkatkan kemampuan untuk menyandikan informasi posisi secara efektif untuk urutan yang sangat panjang—yang, pada gilirannya, telah membantu mengaktifkan LLM dengan jendela konteks yang lebih besar.
 

Mekanisme perhatian diri dalam model transformator

Setelah setiap token diperbarui dengan informasi posisi, masing-masing digunakan untuk menghasilkan tiga vektor baru dengan melewatkan token asli melalui masing-masing dari tiga lapisan neural networks paralel yang mendahului (feedforward) lapisan perhatian pertama. Setiap lapisan paralel memiliki matriks bobot unik yang nilai spesifiknya dipelajari melalui prapelatihan mandiri pada kumpulan data yang sangat besar.

  • Penyematan dikalikan dengan matriks berat WQ untuk menghasilkan vektor kueri (Q), yang memiliki DK dimensi
  • Penyematan dikalikan dengan matriks berat WK untuk menghasilkan vektor kunci (K), juga dengan dimensi DK 
  • Penyematan dikalikan dengan matriks berat WV untuk menghasilkan vektor nilai ( V ), dengan dimensi  Dv

Fungsi utama mekanisme perhatian adalah menentukan bobot kepentingan antara pasangan kunci-kueri untuk setiap token. Untuk setiap token x dalam urutan input, model transformator menghitung (dan menerapkan) bobot perhatian dengan cara berikut:

  1. Vektor kueri token x QX dikalikan dengan vektor kunci token satu sama lain K. Hasil dot product yang dihasilkan akan besar untuk token yang sangat relevan, sementara produk titik dengan token yang tidak relevan akan kecil atau negatif.
  2. Setiap produk titik akan diskalakan—yaitu, dikalikan—dengan 1DK. Hasilnya adalah skor keselarasan antara token x dan token lainnya.
  3. Skor penyelarasan ini menjadi input ke dalam fungsi softmax, yang menormalkan setiap skor menjadi nilai antara 0-1, sehingga semuanya berjumlah 1. Ini adalah bobot perhatian antara token x dan setiap token lain. Anda dapat membayangkan setiap token sekarang memiliki vektor bobot perhatian yang sesuai, di mana setiap elemen dari vektor tersebut mewakili sejauh mana beberapa token lain harus mempengaruhinya.
  4. Vektor nilai masing-masing token sekarang dikalikan dengan bobot perhatiannya masing-masing.
  5. Vektor nilai tertimbang perhatian ini semuanya dirata-ratakan. Vektor yang dihasilkan mewakili rata-rata dari semua kontribusi berbobot perhatian dari setiap vektor kunci.
  6. Terakhir, vektor perubahan yang dihasilkan untuk setiap token ditambahkan ke vektor penyematan asli token x. Dengan demikian, penyematan vektor token x diperbarui agar lebih mencerminkan konteks yang diberikan oleh token lain dalam urutan.

Perhatian multihead

Rata-rata kontribusi tertimbang perhatian dari token lain alih-alih menghitung setiap kontribusi tertimbang perhatian secara individual secara matematis efisien, tetapi mengakibatkan Hasil hilangnya detail. Arsitektur transformator mengatasi hal ini dengan menerapkan perhatian multihead.

Untuk menikmati efisiensi rata-rata sambil tetap memperhitungkan hubungan multifaset antara token, model transformator menghitung operasi perhatian diri beberapa kali secara paralel di setiap lapisan perhatian dalam jaringan. Setiap penyematan token input asli dibagi menjadi h subset berukuran merata. Setiap bagian dari penyematan dimasukkan ke dalam salah satu dari h matriks paralel dengan bobot Q, K, dan V , yang masing-masing disebut kepala kueri , kepala kunci, atau kepala nilai. Vektor yang dihasilkan oleh masing-masing triplet paralel dari kueri, kepala nilai kunci kemudian dimasukkan ke dalam kepala perhatianyang sesuai.

Pada lapisan akhir dari setiap blok perhatian, hasil dari rangkaian paralel h ini pada akhirnya disatukan kembali. Dalam praktiknya, hasil pelatihan model di setiap sirkuit mempelajari bobot yang berbeda yang menangkap aspek makna semantik yang terpisah. Hal ini, pada gilirannya, memungkinkan model memproses berbagai cara agar konteks dari kata lain dapat mempengaruhi makna kata. Contohnya, satu kepala perhatian mungkin mengkhususkan diri pada perubahan dalam bentuk kalimat, sementara kepala perhatian yang lain mengkhususkan diri pada bagaimana kata-kata di dekatnya memengaruhi nada.

Seluruh rangkaian perkalian matriks dalam blok perhatian transformator standar ditunjukkan di sini. Perlu dicatat bahwa evolusi selanjutnya dari mekanisme perhatian transformator, seperti perhatian multiquery dan perhatian kueri yang dikelompokkan, menyederhanakan atau menggabungkan beberapa elemen proses untuk mengurangi tuntutan komputasi.

Membuahkan hasil

Pada lapisan terakhir model Transformer, setiap kepala perhatian sering dilatih untuk menghasilkan prediksi yang spesifik. Misalnya, salah satu kepala perhatian di lapisan akhir LLM dapat berspesialisasi dalam named entity recognition, sementara kepala perhatian lainnya mungkin difokuskan pada analisis sentimen, dan seterusnya.

Pada LLM autoregresif, lapisan kedua dari belakang adalah lapisan linier yang menerima vektor yang telah ditransformasikan sepenuhnya dan memproyeksikannya ke ukuran yang sesuai dengan ukuran penyematan vektor yang telah dipelajari oleh model untuk setiap token di dalam kosakatanya. Hal ini memungkinkan penghitungan skor yang merepresentasikan seberapa dekat vektor yang dihasilkan cocok dengan setiap token dalam kosakata tersebut. Lapisan terakhir adalah lapisan softmax, yang mengubah skor tersebut menjadi probabilitas (dari 1) dan menggunakan probabilitas tersebut untuk hasil apa yang ditentukan sebagai kata yang paling mungkin muncul, berdasarkan kata-kata yang mendahuluinya.

Catatan kaki

1. "Leaderboard: Object Detection on COCO test-dev," Papers With Code, diakses pada 18 November 2024
2. "Leaderboards: Image Segmentation" Papers With Code, diakses pada 18 November 2024
3. "Leaderboard: Visual Question Answering (VQA) on VQA v2 test-dev," Papers With Code, diakses pada 18 November 2024
4. "Learning long-term dependencies with gradient descent is difficult," IEE Transactions on Neural Networks 5(2): 157-66, Februari 1994
5. "Neural Machine Translation by Jointly Learning to Align and Translate," arXiv, 1 September 2014
6. "Multiplicative Attention," Papers With Code

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung