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
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).
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.
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.
Pengodean urutan input dalam jumlah dimensi yang tetap memungkinkan Seq2Seq untuk memproses urutan dengan panjang yang bervariasi, tetapi juga memperkenalkan kelemahan penting:
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.
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:
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.
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.
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 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
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 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:
Salah satu konsekuensi penggunaan perhatian berbasis produk titik adalah bahwa perhitungan produk titik mensyaratkan kedua vektor memiliki jumlah dimensi yang sama, .
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.
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 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 oleh 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 .
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."
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.
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.
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.
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:
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.
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.
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:
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.
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.
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
Pelajari bagaimana CEO dapat menyeimbangkan nilai generatif AI yang dapat diciptakan dengan investasi yang dibutuhkan dan risiko yang ditimbulkannya.
Belajar konsep dasar dan bangun keterampilan Anda dengan laboratorium praktis, kursus, proyek terpandu, uji coba, dan lainnya.
Pelajari cara menggabungkan AI generatif dan machine learning dengan percaya diri ke dalam bisnis Anda.
Ingin mendapatkan laba yang lebih baik atas investasi AI Anda? Pelajari bagaimana meningkatkan AI gen di berbagai bidang utama mendorong perubahan dengan membantu para pemikir terbaik Anda membangun dan memberikan solusi baru yang inovatif.
Kami menyurvei 2.000 organisasi tentang inisiatif AI mereka untuk mengetahui apa yang berhasil, apa yang tidak, dan cara Anda untuk maju.
IBM Granite adalah rangkaian model AI kami yang terbuka, berkinerja, dan tepercaya, yang dirancang untuk bisnis dan dioptimalkan untuk menskalakan aplikasi AI Anda. Jelajahi opsi bahasa, kode, deret waktu, dan batasan.
Pelajari cara memilih model dasar AI yang paling sesuai untuk contoh penggunaan Anda.
Selami 3 elemen penting dari strategi AI yang kuat: menciptakan keunggulan kompetitif, meningkatkan skala AI di seluruh bisnis, dan memajukan AI yang dapat dipercaya.
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.
Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.
Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.