Bagaimana tepatnya model bahasa besar bekerja secara internal? Artikel ini menjelaskan dengan matematika dan terminologi minimal.
Penulis artikel ini, Tim Lee, pernah bekerja di media teknologi Ars Technica, baru-baru ini meluncurkan Newsletter "Memahami AI", yang terutama membahas prinsip kerja kecerdasan buatan. Sean Trott adalah asisten profesor di University of California, San Diego, tempat dia mempelajari pemahaman bahasa manusia dan model bahasa. (Konten berikut disusun dan diterbitkan oleh OneFlow setelah otorisasi, silakan hubungi OneFlow untuk mendapatkan otorisasi untuk dicetak ulang. Teks asli:
Saat ChatGPT diluncurkan musim gugur lalu, hal itu menyebabkan kehebohan di industri teknologi dan di seluruh dunia. Pada saat itu, peneliti pembelajaran mesin telah mencoba mengembangkan model besar bahasa (LLM) selama bertahun-tahun, tetapi masyarakat umum tidak terlalu memperhatikan atau menyadari betapa kuatnya mereka.
Saat ini, hampir semua orang pernah mendengar tentang LLM dan puluhan juta orang telah menggunakannya, tetapi tidak banyak yang mengerti cara kerjanya. Anda mungkin pernah mendengar bahwa LLM dilatih untuk "memprediksi kata berikutnya", dan mereka memerlukan banyak teks untuk melakukannya. Namun, penjelasan biasanya berhenti di situ. Detail tentang bagaimana mereka memprediksi kata berikutnya sering diperlakukan sebagai teka-teki esoteris.
Salah satu alasannya adalah karena sistem ini dikembangkan dengan cara yang berbeda. Perangkat lunak tipikal ditulis oleh insinyur manusia yang memberikan instruksi langkah demi langkah yang jelas kepada komputer. Sebaliknya, ChatGPT dibangun di atas jaringan saraf yang dilatih menggunakan miliaran kata bahasa.
Oleh karena itu, tidak ada seorang pun di bumi yang sepenuhnya memahami cara kerja LLM. Para peneliti bekerja keras untuk mencoba memahami model-model ini, tetapi prosesnya lambat yang membutuhkan waktu bertahun-tahun, jika tidak puluhan tahun, untuk menyelesaikannya.
Namun, para ahli tahu sedikit tentang cara kerja sistem ini. Tujuan dari artikel ini adalah untuk membuka pengetahuan ini kepada khalayak luas. Kami akan berusaha menjelaskan apa yang diketahui tentang cara kerja bagian dalam model ini tanpa membahas jargon teknis atau matematika tingkat lanjut.
Kita akan mulai dengan menjelaskan vektor kata, yang merupakan cara mengejutkan bagi model bahasa untuk merepresentasikan dan memberi alasan tentang bahasa. Kemudian, kita akan mendalami Transformers, landasan model bangunan seperti ChatGPT. Terakhir, kami menjelaskan bagaimana model ini dilatih dan mengeksplorasi mengapa kinerja yang baik dapat dicapai dengan data dalam jumlah besar.
vektor kata
Untuk memahami cara kerja model bahasa, pertama-tama Anda perlu memahami bagaimana mereka mewakili kata-kata. Manusia menggunakan urutan huruf untuk mewakili kata-kata bahasa Inggris, seperti CAT untuk kucing. Model bahasa menggunakan daftar panjang angka yang disebut vektor kata. Misalnya, inilah salah satu cara untuk merepresentasikan kucing sebagai vektor:
(catatan: panjang vektor penuh sebenarnya adalah 300 angka)
Mengapa menggunakan notasi yang begitu rumit? Berikut analoginya, Washington DC terletak di 38,9 derajat lintang utara dan 77 derajat bujur barat, yang dapat kita nyatakan dalam notasi vektor:
• Koordinat Washington DC adalah [38.9, 77]
• Koordinat New York adalah [40.7, 74]
• Koordinat London adalah [51.5, 0.1]
• Koordinat Paris adalah [48.9, -2.4]
Ini berguna untuk penalaran tentang hubungan spasial. Anda dapat melihat bahwa New York sangat dekat dengan Washington DC karena 38,9 lebih dekat dengan 40,7 dan 77 lebih dekat dengan 74 dalam koordinat. Demikian juga, Paris sangat dekat dengan London. Tapi Paris jauh dari Washington, DC.
Model bahasa mengambil pendekatan serupa: setiap vektor kata mewakili satu titik dalam "ruang kata" di mana kata-kata dengan arti serupa terletak lebih dekat satu sama lain. Misalnya, kata yang paling dekat dengan kucing di ruang vektor adalah anjing, anak kucing, dan hewan peliharaan. Keuntungan utama merepresentasikan kata sebagai vektor bilangan real (berlawanan dengan rangkaian huruf seperti "CAT") adalah angka dapat melakukan operasi yang tidak dapat dilakukan oleh huruf.
Kata-kata terlalu kompleks untuk direpresentasikan hanya dalam dua dimensi, sehingga model bahasa menggunakan ruang vektor dengan ratusan atau bahkan ribuan dimensi. Manusia tidak dapat membayangkan ruang dengan dimensi setinggi itu, tetapi komputer dapat bernalar tentangnya dan memberikan hasil yang bermanfaat.
Para peneliti telah mempelajari vektor kata selama beberapa dekade, tetapi konsep tersebut benar-benar menarik perhatian pada tahun 2013, ketika Google mengumumkan proyek word2vec. Google menganalisis jutaan dokumen yang dikumpulkan dari Google News untuk mengetahui kata mana yang cenderung muncul dalam kalimat serupa. Seiring waktu, jaringan saraf terlatih belajar menempatkan kata-kata dari kategori serupa (seperti anjing dan kucing) yang berdekatan di ruang vektor.
Vektor kata Google juga memiliki fitur menarik lainnya: Anda dapat menggunakan operasi vektor untuk "menyimpulkan" kata. Misalnya, peneliti Google mengambil vektor terbesar (terbesar), kurangi vektor besar (besar), dan tambahkan vektor kecil (kecil). Kata yang paling dekat dengan vektor yang dihasilkan adalah vektor terkecil (terkecil).
Anda dapat menggunakan operasi vektor untuk analogi! Dalam contoh ini, hubungan antara besar dan terbesar mirip dengan hubungan antara kecil dan terkecil. Vektor kata Google menangkap banyak hubungan lainnya:
• Swiss untuk Swiss seperti Kamboja untuk Kamboja. (Kewarganegaraan)
• Paris dan Prancis mirip dengan Berlin dan Jerman. (modal)
• Tidak bermoral dan bermoral mirip dengan mungkin dan tidak mungkin. (antonim)
• Mouse (tikus) dan tikus (jamak dari tikus) mirip dengan dolar (dolar) dan dolar (jamak dari dolar). (bentuk jamak)
• Pria dan wanita seperti raja dan ratu. (peran jenis kelamin)
Karena vektor ini dibangun dari cara orang menggunakan bahasa, mereka mencerminkan banyak bias yang ada dalam bahasa manusia. Misalnya, (dokter) dikurangi (pria) plus (wanita) sama dengan (perawat) dalam beberapa model penyisipan kata. Mengurangi bias ini adalah bidang penelitian baru.
Meskipun demikian, penyisipan kata adalah dasar yang berguna untuk model bahasa, karena mereka menyandikan informasi relasional yang halus namun penting di antara kata-kata. Jika model bahasa mempelajari sesuatu tentang kucing (misalnya, kadang-kadang pergi ke dokter hewan), hal yang sama kemungkinan akan berlaku untuk anak kucing atau anjing. Jika model telah mempelajari tentang hubungan antara Paris dan Prancis (misalnya, mereka berbagi bahasa), kemungkinan besar hubungan antara Berlin dan Jerman serta Roma dan Italia akan sama.
Arti kata tergantung pada konteksnya
Skema penyematan kata sederhana seperti ini gagal menangkap fakta penting dari bahasa alami: kata sering kali memiliki banyak arti.
Misalnya, kata "bank" bisa mengacu pada lembaga keuangan atau tepi sungai. Atau perhatikan kalimat berikut:
• John mengambil majalah (John mengambil majalah).
• Susan bekerja untuk majalah (Susan bekerja untuk majalah).
Dalam kalimat-kalimat ini, arti "majalah" terkait tetapi berbeda. John mengambil majalah fisik, dan Susan bekerja di agensi yang menerbitkan majalah fisik.
Ketika sebuah kata memiliki dua arti yang tidak berhubungan, ahli bahasa menyebutnya homonim. Ketika sebuah kata memiliki dua arti yang terkait erat, seperti "majalah", ahli bahasa menyebutnya polisemi.
Model bahasa seperti ChatGPT mampu merepresentasikan kata yang sama dengan vektor yang berbeda tergantung pada konteks di mana kata tersebut muncul. Ada vektor untuk "bank (lembaga keuangan)" dan vektor untuk "bank (tepi sungai)". Ada vektor untuk "majalah (publikasi entitas)" dan vektor untuk "majalah (lembaga publikasi)". Seperti yang Anda duga, model bahasa menggunakan vektor yang lebih mirip untuk arti kata polisemik dan kurang mirip untuk arti homofon.
Sejauh ini kami belum menjelaskan bagaimana model bahasa melakukan ini - akan segera membahasnya. Namun, kami merinci representasi vektor ini, yang penting untuk memahami cara kerja model bahasa.
Perangkat lunak tradisional dirancang untuk bekerja dengan data eksplisit. Jika Anda meminta komputer untuk menghitung "2+3", tidak ada ambiguitas tentang arti 2, +, atau 3. Tetapi ambiguitas dalam bahasa alami jauh melampaui homonim dan polisemi:
• Dalam "pelanggan meminta mekanik untuk memperbaiki mobilnya", apakah "miliknya" mengacu pada pelanggan atau mekanik?
• Dalam “profesor mendesak siswa untuk mengerjakan pekerjaan rumahnya”, apakah “dia” mengacu pada profesor atau siswa?
• Dalam "lalat buah seperti pisang", apakah "lalat" adalah kata kerja (mengacu pada buah yang terbang di langit seperti pisang) atau kata benda (mengacu pada lalat buah yang menyukai pisang)?
Orang menyelesaikan jenis ambiguitas ini tergantung pada konteksnya, tetapi tidak ada aturan yang sederhana atau jelas. Sebaliknya, itu membutuhkan pemahaman tentang apa yang sebenarnya terjadi di dunia. Perlu Anda ketahui bahwa mekanik biasanya memperbaiki mobil pelanggan, siswa biasanya mengerjakan PR sendiri, dan buah biasanya tidak beterbangan.
Vektor kata menyediakan cara yang fleksibel untuk model bahasa untuk merepresentasikan arti sebenarnya dari setiap kata dalam konteks paragraf tertentu. Sekarang mari kita lihat bagaimana mereka melakukannya.
Mengonversi vektor kata menjadi prediksi kata
Model GPT-3 di balik versi asli ChatGPT terdiri dari puluhan lapisan jaringan saraf. Setiap lapisan mengambil urutan vektor sebagai masukan—satu untuk setiap kata dalam teks masukan—dan menambahkan informasi untuk membantu memperjelas arti kata tersebut dan memprediksi kata yang mungkin muncul berikutnya dengan lebih baik.
Mari kita mulai dengan contoh sederhana.
Setiap lapisan LLM adalah Transformer.Pada 2017, Google memperkenalkan struktur jaringan saraf ini untuk pertama kalinya dalam makalah tonggak sejarah.
Di bagian bawah grafik, teks input ke model adalah "John ingin banknya mencairkan" dan kata-kata ini direpresentasikan sebagai vektor gaya word2vec dan diteruskan ke Transformer pertama. Transformer ini menentukan bahwa keinginan dan uang tunai adalah kata kerja (dua kata ini juga bisa menjadi kata benda). Kami menunjukkan konteks tambahan ini dalam teks merah dalam tanda kurung, tetapi model sebenarnya menyimpan informasi ini dengan memodifikasi vektor kata dengan cara yang sulit ditafsirkan oleh manusia. Vektor baru ini disebut status tersembunyi dan diteruskan ke Transformer berikutnya.
Transformer kedua menambahkan dua informasi yang lebih kontekstual: menjelaskan bahwa bank mengacu pada lembaga keuangan (lembaga keuangan) daripada tepi sungai, dan bahwa dia mengacu pada kata ganti Yohanes. Transformer kedua menghasilkan satu set vektor keadaan tersembunyi yang mencerminkan semua informasi yang telah dipelajari model sebelumnya.
Grafik di atas menggambarkan LLM murni hipotetis, jadi jangan terlalu terpaku pada detailnya. LLM nyata cenderung memiliki lebih banyak lapisan. Misalnya, versi GPT-3 yang paling kuat memiliki 96 lapisan.
Penelitian menunjukkan bahwa (beberapa lapisan pertama fokus pada pemahaman tata bahasa kalimat dan menyelesaikan ambiguitas yang ditunjukkan di atas. Lapisan berikutnya (tidak ditampilkan di atas untuk menjaga agar ukuran diagram dapat dikelola) didedikasikan untuk pemahaman tingkat tinggi dari keseluruhan paragraf.
Misalnya, ketika LLM "membaca" sebuah cerita pendek, sepertinya ia mengingat segala macam informasi tentang karakter cerita: jenis kelamin dan usia, hubungan dengan karakter lain, lokasi masa lalu dan saat ini, kepribadian dan tujuan, dan banyak lagi.
Para peneliti tidak sepenuhnya memahami bagaimana LLM melacak informasi ini, tetapi secara logis, informasi harus diteruskan antar lapisan dengan memodifikasi vektor keadaan tersembunyi. Dimensi vektor dalam LLM modern sangat besar, yang kondusif untuk mengungkapkan informasi semantik yang lebih kaya.
Misalnya, versi paling kuat dari GPT-3 menggunakan vektor kata dengan dimensi 12288, yaitu setiap kata diwakili oleh daftar 12288 angka. Ini 20 kali lebih besar dari skema word2vec yang diusulkan oleh Google pada 2013. Anda dapat menganggap semua dimensi ekstra ini sebagai semacam "ruang gores" yang dapat digunakan GPT-3 untuk merekam konteks setiap kata. Catatan informatif yang dibuat oleh lapisan sebelumnya dapat dibaca dan dimodifikasi oleh lapisan selanjutnya, memungkinkan model untuk secara bertahap memperdalam pemahamannya terhadap keseluruhan teks.
Jadi, misalkan kita mengubah diagram di atas untuk mendeskripsikan model bahasa 96 lapis untuk menginterpretasikan cerita 1000 kata. Level 60 mungkin menyertakan vektor untuk John, dengan vektor yang dilambangkan "(Protagonis, laki-laki, menikah dengan Cheryl, sepupu Donald, dari Minnesota, saat ini di Boise, mencoba menemukan dompetnya yang hilang)" dalam tanda kurung. Sekali lagi, semua fakta ini (dan mungkin lebih) akan dikodekan dalam daftar 12288 angka yang sesuai dengan kata John. Atau, beberapa informasi dalam cerita itu mungkin dikodekan dalam vektor 12288 dimensi untuk Cheryl, Donald, Boise, dompet, atau kata lain.
Tujuannya adalah agar lapisan ke-96 dan terakhir dari jaringan menghasilkan keadaan tersembunyi yang berisi semua informasi yang diperlukan untuk memprediksi kata berikutnya.
Mekanisme Perhatian
Sekarang mari kita bicara tentang apa yang terjadi di dalam setiap Transformer. Transformer memiliki dua proses saat memperbarui status tersembunyi dari setiap kata pada paragraf input:
Selama langkah perhatian, kosakata "mencari-cari" kata-kata lain yang memiliki konteks yang relevan dan berbagi informasi satu sama lain.
Pada langkah umpan maju, setiap kata "berpikir" tentang informasi yang dikumpulkan pada langkah perhatian sebelumnya dan mencoba memprediksi kata berikutnya.
Tentu saja, jaringanlah yang melakukan langkah-langkah ini, bukan kata-kata individual. Namun kami menyatakannya seperti ini untuk menekankan bahwa Transformer menggunakan kata-kata sebagai unit dasar analisis ini, bukan seluruh kalimat atau paragraf. Pendekatan ini memungkinkan LLM untuk memanfaatkan sepenuhnya kemampuan pemrosesan paralel besar-besaran dari chip GPU modern. Ini juga membantu skala LLM ke paragraf panjang yang berisi ribuan kata. Kedua aspek ini merupakan tantangan yang dihadapi oleh model bahasa awal.
Anda dapat menganggap mekanisme perhatian sebagai layanan pencocokan antar kata. Setiap kata membuat daftar periksa (disebut vektor kueri) yang mendeskripsikan karakteristik kata yang dicari. Setiap kata juga membuat daftar periksa (disebut keyvector) yang menjelaskan karakteristiknya sendiri. Neural network menemukan kata yang paling cocok dengan membandingkan setiap vektor kunci dengan setiap vektor kueri (dengan menghitung perkalian titik). Setelah kecocokan ditemukan, informasi relevan diteruskan dari kata yang menghasilkan vektor kunci ke kata yang menghasilkan vektor kueri.
Misalnya, pada bagian sebelumnya kami menunjukkan model Transformer hipotetis yang menemukan bahwa "nya" mengacu pada "John" di bagian kalimat "John ingin banknya mencairkan". Secara internal, prosesnya mungkin seperti ini: vektor kueri untuk "miliknya" mungkin secara efektif direpresentasikan sebagai "Saya mencari: kata benda yang menggambarkan laki-laki". Vektor kunci untuk "John" mungkin secara efektif dinyatakan sebagai "Saya adalah kata benda yang mendeskripsikan laki-laki". Jaringan akan mendeteksi bahwa kedua vektor ini cocok, dan mentransfer informasi tentang vektor "John" ke vektor "nya".
Setiap lapisan perhatian memiliki beberapa "kepala perhatian", yang berarti bahwa proses pertukaran informasi ini terjadi berkali-kali (secara paralel) pada setiap lapisan. Setiap kepala perhatian berfokus pada tugas yang berbeda:
• Kepala perhatian dapat mencocokkan kata ganti dengan kata benda, seperti yang telah kita bahas sebelumnya.
• Header perhatian lain mungkin menangani penguraian arti kata-kata polisemi seperti "bank".
• Kepala perhatian ketiga mungkin menautkan frasa dua kata seperti "Joe Biden".
Kepala perhatian seperti ini sering beroperasi secara berurutan, dengan hasil operasi perhatian di satu lapisan perhatian menjadi masukan bagi kepala perhatian di lapisan berikutnya. Faktanya, setiap tugas yang baru saja kita sebutkan mungkin memerlukan banyak perhatian, bukan hanya satu.
Versi terbesar dari GPT-3 memiliki 96 lapisan, dan setiap lapisan memiliki 96 kepala perhatian, sehingga setiap kata baru diprediksi, GPT-3 akan melakukan 9216 operasi perhatian.
Contoh dunia nyata
Pada dua bagian di atas, kami menunjukkan versi ideal tentang cara kerja kepala perhatian. Sekarang mari kita lihat penelitian tentang cara kerja model bahasa nyata.
Tahun lalu, para peneliti di Redwood Research mempelajari GPT-2, pendahulu ChatGPT, untuk bagian "Ketika Mary dan John pergi ke toko, John memberi minum kepada (ketika Mary dan John pergi ke toko, John memberi minum kepada ) "Proses memprediksi kata berikutnya.
GPT-2 memprediksi bahwa kata selanjutnya adalah Maria. Para peneliti menemukan bahwa tiga jenis kepala perhatian berkontribusi pada prediksi ini:
• Tiga kepala perhatian, yang disebut Kepala Penggerak Nama, menyalin informasi dari vektor Mary ke vektor input akhir (vektor untuk kata to). GPT-2 menggunakan informasi dalam vektor paling kanan ini untuk memprediksi kata berikutnya.
• Bagaimana jaringan saraf memutuskan bahwa Maria adalah kata yang tepat untuk disalin? Membalikkan proses perhitungan GPT-2, para ilmuwan menemukan satu set empat kepala perhatian yang mereka sebut Kepala Penghambatan Subjek (Subject Inhibition Head), yang menandai vektor John kedua, mencegah nama kepala bergerak menyalin nama John.
• Bagaimana subjek penekanan kepala mengetahui bahwa Yohanes tidak boleh disalin? Tim mengekstrapolasi lebih jauh dan menemukan dua kepala perhatian yang mereka sebut Kepala Token Duplikat. Mereka menandai vektor John kedua sebagai salinan duplikat dari vektor John pertama, yang membantu subjek menekan kepala untuk memutuskan bahwa John tidak boleh disalin.
Singkatnya, sembilan kepala perhatian ini memungkinkan GPT-2 untuk memahami bahwa "John memberi minuman kepada John" tidak masuk akal, dan malah memilih "John memberikan minuman kepada Mary (John memberi Mary minum)".
Contoh ini menunjukkan betapa sulitnya memahami LLM sepenuhnya. Tim Redwood yang terdiri dari lima peneliti menerbitkan makalah setebal 25 halaman yang menjelaskan bagaimana mereka mengidentifikasi dan memvalidasi kepala perhatian ini. Meskipun dengan semua pekerjaan ini, kami masih jauh dari penjelasan lengkap mengapa GPT-2 memutuskan untuk memprediksi "Mary" sebagai kata berikutnya.
Misalnya, bagaimana model mengetahui bahwa kata berikutnya harus nama seseorang dan bukan jenis kata lain? Sangat mudah untuk membayangkan bahwa dalam kalimat serupa, Mary tidak akan menjadi peramal yang baik berikutnya. Misalnya, dalam kalimat "ketika Mary dan John pergi ke restoran, John memberikan kuncinya kepada (ketika Mary dan John pergi ke restoran, John memberikan kunci ke)", secara logis, kata berikutnya harus menjadi "pelayan ( mewakili petugas parkir)".
Dengan asumsi penelitian yang cukup dilakukan oleh ilmuwan komputer, mereka dapat mengungkap dan menjelaskan langkah-langkah lain dalam proses penalaran GPT-2. Akhirnya, mereka mungkin dapat memahami sepenuhnya bagaimana GPT-2 memutuskan bahwa "Mary" kemungkinan besar adalah kata berikutnya dalam kalimat tersebut. Tapi butuh waktu berbulan-bulan atau bahkan bertahun-tahun usaha ekstra untuk memahami bagaimana sebuah kata diramalkan.
Model bahasa di belakang ChatGPT—GPT-3 dan GPT-4—lebih besar dan lebih kompleks daripada GPT-2, dan mampu melakukan tugas penalaran yang lebih kompleks daripada kalimat sederhana yang dipelajari tim Redwood. Oleh karena itu, pekerjaan untuk menjelaskan sistem ini sepenuhnya akan menjadi proyek besar, dan kecil kemungkinan manusia akan menyelesaikannya dalam waktu singkat.
Langkah umpan maju
Setelah kepala perhatian mentransfer informasi antara vektor kata, jaringan umpan maju "berpikir" tentang setiap vektor kata dan mencoba memprediksi kata berikutnya. Pada tahap ini, tidak ada informasi yang dipertukarkan antar kata, dan lapisan feed-forward menganalisis setiap kata secara independen. Namun, lapisan umpan maju memiliki akses ke informasi apa pun yang sebelumnya disalin oleh kepala perhatian. Berikut ini adalah struktur lapisan feedforward versi terbesar dari GPT-3.
Lingkaran hijau dan ungu mewakili neuron: mereka adalah fungsi matematika yang menghitung jumlah bobot dari masukan mereka.
Lapisan feed-forward sangat kuat karena banyaknya koneksi. Kami menggambar jaringan ini menggunakan tiga neuron sebagai lapisan keluaran dan enam neuron sebagai lapisan tersembunyi, tetapi lapisan umpan maju GPT-3 jauh lebih besar: 12288 neuron di lapisan keluaran (sesuai dengan vektor kata 12288 dimensi model) , lapisan tersembunyi memiliki 49152 neuron.
Jadi pada GPT-3 versi terbesar, hidden layer memiliki 49152 neuron, setiap neuron memiliki 12288 nilai input (sehingga setiap neuron memiliki 12288 parameter bobot), dan juga terdapat 12288 neuron output, setiap Neuron memiliki 49152 nilai input (sehingga 49152 parameter bobot per neuron). Ini berarti bahwa setiap lapisan feedforward memiliki 49152*12288+12288*49152=1,2 miliar parameter bobot. Dan ada 96 lapisan feedforward, total 1,2 miliar*96=116 miliar parameter! Ini setara dengan hampir dua pertiga volume parameter GPT-3 dengan 175 miliar parameter.
Dalam makalah tahun 2020 (di, peneliti dari Universitas Tel Aviv menemukan bahwa lapisan feed-forward bekerja dengan pencocokan pola: setiap neuron di lapisan tersembunyi cocok dengan pola tertentu dalam teks input. Di bawah ini adalah versi 16 lapisan Beberapa neuron di GPT- 2 cocok dengan pola:
• Neuron pada lapisan 1 mencocokkan urutan kata yang diakhiri dengan "pengganti".
• Neuron pada lapisan 6 mencocokkan urutan kata yang berhubungan dengan militer dan diakhiri dengan "basis" atau "basis".
• Neuron pada layer 13 mencocokkan urutan yang diakhiri dengan rentang waktu, seperti "antara jam 3 sore dan 7 malam" atau "dari jam 7 malam pada hari Jumat sampai".
• Neuron dalam lapisan 16 urutan kecocokan yang terkait dengan acara TV, seperti "versi siang hari NBC asli, diarsipkan" atau "penundaan waktu meningkatkan penayangan untuk episode ini sebesar 57 persen."
Seperti yang Anda lihat, pada lapisan selanjutnya skema menjadi lebih abstrak. Lapisan awal cenderung cocok dengan kata-kata tertentu, sedangkan lapisan selanjutnya cocok dengan frasa yang termasuk dalam kategori semantik yang lebih luas, seperti acara TV atau interval waktu.
Ini menarik karena, seperti yang disebutkan sebelumnya, lapisan feed-forward hanya dapat memeriksa satu kata dalam satu waktu. Jadi saat mengklasifikasikan urutan "Rilis siang hari NBC asli, diarsipkan" sebagai "terkait TV", itu hanya memiliki akses ke vektor untuk kata "diarsipkan", bukan kata-kata seperti NBC atau siang hari. Dapat disimpulkan bahwa alasan mengapa lapisan feed-forward dapat menilai bahwa "diarsipkan" adalah bagian dari urutan yang berhubungan dengan TV adalah karena kepala perhatian sebelumnya memindahkan informasi kontekstual ke dalam vektor "diarsipkan".
Ketika sebuah neuron cocok dengan salah satu pola, itu menambahkan informasi ke kata vektor. Meskipun informasi ini tidak selalu mudah untuk ditafsirkan, dalam banyak kasus Anda dapat menganggapnya sebagai prediksi tentatif dari kata berikutnya.
Inferensi Jaringan Feedforward Menggunakan Operasi Vektor
Penelitian terbaru dari Brown University (menunjukkan contoh elegan tentang bagaimana lapisan feed-forward dapat membantu memprediksi kata berikutnya. Kami sebelumnya membahas penelitian word2vec Google yang menunjukkan bahwa penalaran analogis dapat dilakukan dengan menggunakan operasi vektor. Misalnya, Berlin - Jerman + Prancis = Paris .
Peneliti Universitas Brown menemukan bahwa lapisan umpan-maju terkadang menggunakan metode akurat ini untuk memprediksi kata berikutnya. Misalnya, mereka mempelajari respons GPT-2 untuk pertanyaan berikut: "Pertanyaan: Apa ibu kota Prancis? Jawaban: Paris. Pertanyaan: Apa ibu kota Polandia? Jawab:"
Tim mempelajari versi GPT-2 dengan 24 lapisan. Setelah setiap lapisan, para ilmuwan Universitas Brown menyelidiki model tersebut, melihat tebakan terbaiknya untuk token berikutnya. Dalam 15 lapisan pertama, kemungkinan tebakan tertinggi adalah kata yang tampaknya acak. Antara lapisan 16 dan 19, model mulai memprediksi bahwa kata berikutnya adalah bahasa Polandia—salah, tetapi semakin dekat. Kemudian pada tingkat 20, kemungkinan tebakan tertinggi menjadi Warsawa—jawaban yang benar, dan tetap sama untuk empat tingkat terakhir.
Para peneliti di Universitas Brown menemukan bahwa lapisan umpan-maju ke-20 mengubah Polandia menjadi Warsawa dengan menambahkan vektor yang memetakan vektor negara ke ibu kota yang sesuai. Saat menambahkan vektor yang sama ke China, jawabannya adalah Beijing.
Lapisan feed-forward dalam model yang sama menggunakan operasi vektor untuk mengonversi kata-kata huruf kecil menjadi kata-kata besar, dan kata-kata dalam bentuk sekarang menjadi padanannya dalam bentuk lampau.
Lapisan perhatian dan lapisan feedforward memiliki fungsi yang berbeda
Sejauh ini, kita telah melihat dua contoh praktis prediksi kata GPT-2: kepala perhatian membantu memprediksi bahwa John akan memberi Mary minum; lapisan umpan maju membantu memprediksi bahwa Warsawa adalah ibu kota Polandia.
Dalam kasus pertama, Mary berasal dari prompt yang disediakan pengguna. Namun dalam kasus kedua, Warsawa tidak muncul di prompt. Sebaliknya, GPT-2 harus "mengingat" bahwa Warsawa adalah ibu kota Polandia, dan informasi ini dipelajari dari data pelatihan.
Ketika para peneliti Brown University menonaktifkan lapisan feed-forward yang mengubah Polandia menjadi Warsawa, model tersebut tidak lagi memprediksi bahwa kata berikutnya adalah Warsawa. Namun menariknya, jika kemudian ditambahkan kalimat "Ibukota Polandia adalah Warsawa" di awal prompt, GPT-2 mampu menjawab pertanyaan itu lagi. Ini mungkin karena GPT-2 menggunakan mekanisme perhatian untuk mengekstrak nama Warsawa dari isyarat.
Pembagian kerja ini memanifestasikan dirinya lebih luas: mekanisme perhatian mengambil informasi dari bagian isyarat sebelumnya, sedangkan lapisan umpan-maju memungkinkan model bahasa untuk "mengingat" informasi yang tidak muncul dalam isyarat.
Bahkan, lapisan umpan maju dapat dianggap sebagai basis data informasi yang telah dipelajari model dari data pelatihan. Lapisan feed-forward awal lebih cenderung menyandikan fakta sederhana yang terkait dengan kata-kata tertentu, seperti "Trump sering muncul setelah Donald". Lapisan selanjutnya menyandikan hubungan yang lebih kompleks seperti "tambahkan vektor ini untuk mengubah suatu negara menjadi ibukotanya.
Metode pelatihan model bahasa
Banyak algoritme pembelajaran mesin awal memerlukan contoh pelatihan berlabel manusia. Misalnya, data pelatihan mungkin berupa foto anjing atau kucing dengan label buatan ("anjing" atau "kucing"). Kebutuhan akan data berlabel mempersulit dan mahal bagi seseorang untuk membuat kumpulan data yang cukup besar untuk melatih model yang andal.
Inovasi utama LLM adalah bahwa mereka tidak memerlukan data yang diberi label secara eksplisit. Sebaliknya, mereka belajar dengan mencoba memprediksi kata berikutnya dalam sebuah bagian teks. Hampir semua materi tertulis cocok untuk melatih model ini -- mulai dari halaman Wikipedia hingga artikel berita hingga kode komputer.
Misalnya, LLM mungkin mengambil input "Saya suka kopi saya dengan krim dan (Saya suka kopi saya dengan krim dan)" dan mencoba memprediksi "gula (gula)" sebagai kata berikutnya. Model bahasa yang baru diinisialisasi sangat buruk dalam hal ini, karena setiap parameter bobotnya—versi GPT-3 yang paling kuat mencapai 175 miliar parameter—dimulai dengan angka acak pada awalnya.
Namun saat model melihat lebih banyak contoh -- ratusan miliar kata -- bobot tersebut secara bertahap disesuaikan untuk membuat prediksi yang lebih baik.
Mari gunakan analogi untuk mengilustrasikan bagaimana proses ini bekerja. Katakanlah Anda sedang mandi, dan Anda ingin suhu airnya pas: tidak terlalu panas, tidak terlalu dingin. Anda belum pernah menggunakan keran ini sebelumnya, jadi Anda mengatur arah pegangan keran sesuka hati, dan merasakan suhu air. Jika terlalu panas atau terlalu dingin, Anda akan memutar pegangan ke arah yang berlawanan, dan semakin sedikit penyesuaian yang akan Anda lakukan pada pegangan saat mendekati suhu air yang tepat.
Sekarang, mari kita buat beberapa perubahan pada analogi ini. Pertama, bayangkan ada 50.257 tap, yang masing-masing memiliki kata yang berbeda, seperti "the", "cat", atau "bank". Tujuan Anda adalah hanya membiarkan air mengalir dari keran yang sesuai dengan kata berikutnya dalam urutan tersebut.
Kedua, ada banyak pipa yang saling berhubungan di belakang keran, dan banyak katup di pipa itu. Jadi jika air keluar dari keran yang salah, Anda tidak bisa hanya menyesuaikan kenop pada keran. Anda mengirim sepasukan tupai pintar untuk melacak setiap pipa, menyesuaikan setiap katup yang mereka temukan di sepanjang jalan.
Ini menjadi rumit, dan karena pipa yang sama sering memasok banyak faucet, diperlukan pemikiran yang cermat tentang cara menentukan katup mana yang akan dikencangkan dan dilonggarkan, dan seberapa banyak.
Jelas, contoh ini menjadi konyol jika dipahami secara harfiah. Membangun jaringan pipa dengan 175 miliar katup tidaklah realistis dan tidak berguna. Namun berkat Hukum Moore, komputer dapat dan memang beroperasi pada skala ini.
Sejauh ini, semua bagian LLM yang dibahas dalam artikel ini—neuron di lapisan feed-forward dan kepala perhatian yang menyampaikan informasi konteks di antara kata—diimplementasikan sebagai rangkaian fungsi matematika sederhana (terutama perkalian matriks), yang perilakunya adalah ditentukan oleh parameter bobot yang dapat disesuaikan. Sama seperti tupai dalam cerita saya yang mengontrol aliran air dengan melonggarkan katup, algoritme pelatihan mengontrol aliran informasi melalui jaringan saraf dengan menambah atau mengurangi parameter bobot model bahasa.
Proses pelatihan dibagi menjadi dua langkah. Lakukan "forward pass" terlebih dahulu, nyalakan air dan periksa apakah air berasal dari keran yang benar. Air kemudian dimatikan untuk "jalan mundur", di mana tupai berlomba menuruni setiap pipa, mengencangkan atau mengendurkan katup. Dalam jaringan saraf digital, peran tupai dimainkan oleh algoritme yang disebut backpropagation, yang "berjalan mundur" melalui jaringan, menggunakan kalkulus untuk memperkirakan berapa banyak parameter bobot yang perlu diubah.
Melakukan hal ini—menyebarkan contoh ke depan, lalu menyebarkan kembali untuk meningkatkan kinerja jaringan pada contoh tersebut—memerlukan puluhan miliar operasi matematika. Dan pelatihan model besar seperti GPT-3 perlu mengulangi proses ini miliaran kali-untuk setiap kata dari setiap data pelatihan. OpenAI memperkirakan bahwa pelatihan GPT-3 membutuhkan lebih dari 300 miliar teraflop perhitungan -- sesuatu yang membutuhkan puluhan chip komputer kelas atas untuk berjalan selama berbulan-bulan.
Performa luar biasa dari GPT-3
Anda mungkin terkejut melihat seberapa baik proses pelatihan bekerja. ChatGPT dapat melakukan berbagai tugas kompleks — menulis artikel, membuat analogi, dan bahkan menulis kode komputer. Jadi, bagaimana mekanisme pembelajaran yang begitu sederhana menghasilkan model yang begitu kuat?
Salah satu alasannya adalah skala. Sulit untuk terlalu menekankan banyaknya contoh yang dilihat model seperti GPT-3. GPT-3 dilatih pada korpus sekitar 500 miliar kata. Sebagai perbandingan, rata-rata anak manusia menemukan sekitar 100 juta kata sebelum usia 10 tahun.
Selama lima tahun terakhir, OpenAI terus meningkatkan ukuran model bahasanya. Dalam makalah tahun 2020 yang beredar luas (melaporkan bahwa keakuratan model bahasa mereka memiliki hubungan kekuatan-hukum dengan ukuran model, ukuran kumpulan data, dan jumlah komputasi yang digunakan untuk pelatihan, beberapa tren bahkan mencakup lebih dari tujuh urutan besarnya”.
Semakin besar ukuran model, semakin baik kinerjanya pada tugas yang melibatkan bahasa. Tetapi hanya jika mereka meningkatkan jumlah data pelatihan dengan faktor serupa. Dan untuk melatih model yang lebih besar pada lebih banyak data, diperlukan lebih banyak daya komputasi.
Pada tahun 2018, OpenAI merilis model besar pertama GPT-1. Ini menggunakan vektor kata 768 dimensi, total 12 lapisan, dan total 117 juta parameter. Beberapa bulan kemudian, OpenAI merilis GPT-2, versi terbesarnya memiliki vektor kata 1600 dimensi, 48 lapisan, dan total 1,5 miliar parameter. Pada tahun 2020, OpenAI merilis GPT-3, yang memiliki vektor kata 12288 dimensi, 96 lapisan, dan total 175 miliar parameter.
Tahun ini, OpenAI merilis GPT-4. Perusahaan belum merilis detail arsitektur apa pun, tetapi diyakini secara luas di industri bahwa GPT-4 jauh lebih besar daripada GPT-3.
Setiap model tidak hanya mempelajari lebih banyak fakta daripada pendahulunya yang lebih kecil, tetapi juga menunjukkan kinerja yang lebih baik pada tugas-tugas yang memerlukan beberapa bentuk penalaran abstrak.
Sebagai contoh, perhatikan cerita berikut: Sekantong penuh popcorn. Tidak ada coklat di dalam tas. Namun, label di tasnya bertuliskan "cokelat", bukan "popcorn". Sam menemukan tasnya. Dia belum pernah melihat tas itu sebelumnya. Dia tidak bisa melihat apa yang ada di dalam tas. Dia membaca labelnya.
Seperti yang bisa Anda tebak, Sam yakin tas itu berisi cokelat dan terkejut saat mengetahui bahwa tas itu berisi popcorn.
Psikolog menyebut studi tentang kemampuan bernalar tentang keadaan mental orang lain ini sebagai "Teori Pikiran". Kebanyakan orang memiliki kemampuan ini sejak awal sekolah dasar. Para ahli terbagi atas apakah teori pikiran berlaku untuk hewan bukan manusia, seperti simpanse, tetapi konsensus umum adalah bahwa itu penting untuk kognisi sosial manusia.
Awal tahun ini, psikolog Universitas Stanford Michal Kosinski menerbitkan sebuah penelitian (memeriksa kemampuan LLM untuk memecahkan tugas-tugas teori pikiran) Dia membaca berbagai model bahasa cerita seperti yang baru saja dikutip, dan kemudian meminta mereka untuk menyelesaikan sebuah kalimat, Seperti " dia yakin tasnya penuh", jawaban yang benar adalah "coklat", tetapi model bahasa yang tidak dewasa mungkin mengatakan "popcorn" atau semacamnya.
GPT-1 dan GPT-2 gagal dalam tes ini. Tetapi versi pertama GPT-3, dirilis pada tahun 2020, hampir 40 persen benar, tingkat kinerja Kosinski dibandingkan dengan anak berusia tiga tahun. Versi terbaru, GPT-3, dirilis pada November tahun lalu, meningkatkan akurasi pertanyaan di atas menjadi sekitar 90%, sebanding dengan akurasi anak berusia tujuh tahun. GPT-4 menjawab dengan benar sekitar 95 persen pertanyaan tentang teori pikiran.
"Mengingat bahwa tidak ada bukti dalam model ini bahwa ToM (mentalisasi) sengaja direkayasa atau penelitian yang menunjukkan bahwa ilmuwan tahu bagaimana mencapainya, kemungkinan kemampuan ini muncul secara spontan dan mandiri. Ini adalah kemampuan linguistik model A oleh -produk peningkatan konstan," tulis Kosinski.
Perlu dicatat bahwa para peneliti tidak semua setuju bahwa hasil ini membuktikan teori pikiran: misalnya, perubahan kecil pada tugas kepercayaan salah menyebabkan penurunan besar dalam kinerja GPT-3 (sementara kinerja GPT-3 pada tugas lain yang mengukur teori pikiran Lebih tidak menentu (seperti yang ditulis Sean di dalamnya, kinerja yang sukses dapat dikaitkan dengan faktor perancu dalam tugas — "Hans yang pintar", merujuk pada seekor kuda bernama Hans yang tampaknya dapat menyelesaikan beberapa tugas intelektual sederhana, tetapi sebenarnya hanya mengandalkan isyarat tidak sadar yang diberikan oleh orang)", tetapi itu muncul pada model bahasa, bukan pada kudanya.
Meskipun demikian, GPT-3 mendekati kinerja manusia pada beberapa tugas yang dirancang untuk mengukur teori pikiran, yang tidak terbayangkan beberapa tahun yang lalu, dan ini konsisten dengan fakta bahwa model yang lebih besar umumnya bekerja lebih baik pada tugas yang membutuhkan sudut pandang penalaran lanjutan. .
Ini hanyalah salah satu dari banyak contoh di mana model bahasa telah terbukti secara spontan mengembangkan kemampuan penalaran tingkat lanjut. Pada bulan April, para peneliti di Microsoft menerbitkan sebuah makalah (mengatakan bahwa GPT-4 menunjukkan tanda-tanda awal kecerdasan buatan umum yang menggiurkan - kemampuan untuk berpikir dengan cara yang kompleks dan mirip manusia.
Misalnya, seorang peneliti meminta GPT-4 untuk menggambar unicorn menggunakan bahasa pemrograman grafik yang tidak jelas yang disebut TiKZ. GPT-4 merespons dengan beberapa baris kode, yang kemudian dimasukkan oleh para peneliti ke perangkat lunak TiKZ. Gambar yang dihasilkan, meski kasar, jelas menunjukkan bahwa GPT-4 memiliki pemahaman tentang seperti apa unicorn itu.
Para peneliti mengira GPT-4 mungkin telah mengingat kode gambar unicorn dari data pelatihan, jadi mereka memberikan tantangan lanjutan: Mereka memodifikasi kode unicorn untuk menghilangkan tanduk, dan memindahkan beberapa bagian tubuh lainnya. Kemudian mereka meminta GPT-4 untuk memasang kembali tanduk unicorn tersebut. GPT-4 merespons dengan menempatkan sudut kepala pada posisi yang benar:
Meskipun versi pengujian penulis dilatih sepenuhnya pada teks dan tidak berisi gambar apa pun, GPT-4 tampaknya masih dapat menyelesaikan tugas ini. Tetap saja, GPT-4 tampaknya belajar bernalar tentang bentuk tubuh unicorn setelah dilatih dengan teks tertulis dalam jumlah besar.
Saat ini, kami tidak memiliki pemahaman nyata tentang bagaimana LLM mencapai prestasi tersebut. Beberapa orang berpikir bahwa contoh seperti ini menunjukkan bahwa model mulai benar-benar memahami arti kata-kata dalam rangkaian pelatihannya. Yang lain bersikeras bahwa model bahasa hanyalah "burung beo acak" (hanya mengulangi rangkaian kata yang semakin kompleks tanpa benar-benar memahaminya.
Perdebatan ini menunjuk pada perdebatan filosofis yang mendalam yang mungkin tidak dapat diselesaikan. Meskipun demikian, menurut kami penting untuk berfokus pada kinerja model empiris seperti GPT-3. Jika model bahasa dapat secara konsisten mendapatkan jawaban yang benar pada jenis pertanyaan tertentu, dan peneliti yakin bahwa faktor perancu dapat dikesampingkan (misalnya, dengan memastikan bahwa model bahasa tidak dihadapkan pada pertanyaan tersebut selama pelatihan), maka tidak peduli bagaimana ia memahami bahasa Persis sama dengan manusia, ini adalah hasil yang menarik dan penting.
Alasan lain yang mungkin mengapa melatih prediksi lemma berikutnya bekerja dengan sangat baik adalah karena bahasa itu sendiri dapat diprediksi. Keteraturan bahasa seringkali (meski tidak selalu) terkait dengan keteraturan dunia fisik. Oleh karena itu, ketika model bahasa mempelajari hubungan antar kata, biasanya juga secara implisit mempelajari hubungan yang ada di dunia.
Selanjutnya, prediksi dapat menjadi dasar kecerdasan biologis serta kecerdasan buatan. Menurut filsuf seperti Andy Clark, otak manusia dapat dianggap sebagai "mesin prediksi" yang tugas utamanya adalah membuat prediksi tentang lingkungan kita dan kemudian menggunakan prediksi tersebut untuk menavigasi lingkungan dengan sukses. Prediksi sangat penting untuk kecerdasan biologis dan kecerdasan buatan. Secara intuitif, prediksi yang baik sejalan dengan representasi yang baik — peta yang akurat lebih mungkin membantu orang menavigasi dengan lebih baik daripada yang salah. Dunia ini luas dan kompleks, dan membuat prediksi membantu organisme menavigasi dan beradaptasi secara efisien dengan kompleksitas ini.
Tantangan utama dalam membangun model bahasa secara tradisional adalah menemukan cara yang paling berguna untuk merepresentasikan kata-kata yang berbeda, terutama karena arti banyak kata sangat bergantung pada konteks. Metode prediksi kata berikutnya memungkinkan para peneliti untuk menghindari teka-teki teoretis yang pelik ini dengan mengubahnya menjadi masalah empiris.
Ternyata model bahasa dapat mempelajari cara kerja bahasa manusia dengan memikirkan prediksi kata terbaik berikutnya jika kita memberikan data dan daya komputasi yang cukup. Sisi negatifnya adalah bahwa cara kerja sistem yang dihasilkan belum sepenuhnya dipahami oleh manusia.
Catatan:
Secara teknis, penggalan kata LLM menjadi lemma, tetapi kami akan mengabaikan detail implementasi ini untuk menjaga artikel ini dalam panjang yang dapat diatur (lihat artikel "Mengungkap Prinsip Kerja Tokenizer GPT").
Jaringan feedforward juga dikenal sebagai multi-layer perceptrons. Ilmuwan komputer telah mempelajari jenis jaringan saraf ini sejak tahun 1960-an.
Secara teknis, setelah neuron menghitung jumlah bobot dari input, hasilnya diteruskan ke fungsi aktivasi. Artikel ini akan mengabaikan detail implementasi ini, untuk penjelasan lengkap tentang cara kerja neuron, lihat:
Jika Anda ingin mempelajari lebih lanjut tentang backpropagation, lihat penjelasan Tim tahun 2018 tentang cara kerja jaringan saraf.
Dalam praktiknya, pelatihan biasanya dilakukan secara berkelompok untuk efisiensi komputasi. Jadi perangkat lunak mungkin melakukan forward pass pada 32000 token sebelum melakukan backpropagating.
Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Cara Kerja Model Besar Bahasa Dekonstruksi Populer
Kompilasi: OneFlow
作宇|Tim Lee、Sean Trott
Bagaimana tepatnya model bahasa besar bekerja secara internal? Artikel ini menjelaskan dengan matematika dan terminologi minimal.
Penulis artikel ini, Tim Lee, pernah bekerja di media teknologi Ars Technica, baru-baru ini meluncurkan Newsletter "Memahami AI", yang terutama membahas prinsip kerja kecerdasan buatan. Sean Trott adalah asisten profesor di University of California, San Diego, tempat dia mempelajari pemahaman bahasa manusia dan model bahasa. (Konten berikut disusun dan diterbitkan oleh OneFlow setelah otorisasi, silakan hubungi OneFlow untuk mendapatkan otorisasi untuk dicetak ulang. Teks asli:
Saat ChatGPT diluncurkan musim gugur lalu, hal itu menyebabkan kehebohan di industri teknologi dan di seluruh dunia. Pada saat itu, peneliti pembelajaran mesin telah mencoba mengembangkan model besar bahasa (LLM) selama bertahun-tahun, tetapi masyarakat umum tidak terlalu memperhatikan atau menyadari betapa kuatnya mereka.
Saat ini, hampir semua orang pernah mendengar tentang LLM dan puluhan juta orang telah menggunakannya, tetapi tidak banyak yang mengerti cara kerjanya. Anda mungkin pernah mendengar bahwa LLM dilatih untuk "memprediksi kata berikutnya", dan mereka memerlukan banyak teks untuk melakukannya. Namun, penjelasan biasanya berhenti di situ. Detail tentang bagaimana mereka memprediksi kata berikutnya sering diperlakukan sebagai teka-teki esoteris.
Salah satu alasannya adalah karena sistem ini dikembangkan dengan cara yang berbeda. Perangkat lunak tipikal ditulis oleh insinyur manusia yang memberikan instruksi langkah demi langkah yang jelas kepada komputer. Sebaliknya, ChatGPT dibangun di atas jaringan saraf yang dilatih menggunakan miliaran kata bahasa.
Oleh karena itu, tidak ada seorang pun di bumi yang sepenuhnya memahami cara kerja LLM. Para peneliti bekerja keras untuk mencoba memahami model-model ini, tetapi prosesnya lambat yang membutuhkan waktu bertahun-tahun, jika tidak puluhan tahun, untuk menyelesaikannya.
Namun, para ahli tahu sedikit tentang cara kerja sistem ini. Tujuan dari artikel ini adalah untuk membuka pengetahuan ini kepada khalayak luas. Kami akan berusaha menjelaskan apa yang diketahui tentang cara kerja bagian dalam model ini tanpa membahas jargon teknis atau matematika tingkat lanjut.
Kita akan mulai dengan menjelaskan vektor kata, yang merupakan cara mengejutkan bagi model bahasa untuk merepresentasikan dan memberi alasan tentang bahasa. Kemudian, kita akan mendalami Transformers, landasan model bangunan seperti ChatGPT. Terakhir, kami menjelaskan bagaimana model ini dilatih dan mengeksplorasi mengapa kinerja yang baik dapat dicapai dengan data dalam jumlah besar.
vektor kata
Untuk memahami cara kerja model bahasa, pertama-tama Anda perlu memahami bagaimana mereka mewakili kata-kata. Manusia menggunakan urutan huruf untuk mewakili kata-kata bahasa Inggris, seperti CAT untuk kucing. Model bahasa menggunakan daftar panjang angka yang disebut vektor kata. Misalnya, inilah salah satu cara untuk merepresentasikan kucing sebagai vektor:
[0,0074, 0,0030, -0,0105, 0,0742, 0,0765, -0,0011, 0,0265, 0,0106, 0,0191, 0,0038, -0,0468, -0,0212, 0,0091, 0,0030, -0,0563, -0 .0396, -0.0998, -0.0796, …, 0.0002]
(catatan: panjang vektor penuh sebenarnya adalah 300 angka)
Mengapa menggunakan notasi yang begitu rumit? Berikut analoginya, Washington DC terletak di 38,9 derajat lintang utara dan 77 derajat bujur barat, yang dapat kita nyatakan dalam notasi vektor:
• Koordinat Washington DC adalah [38.9, 77]
• Koordinat New York adalah [40.7, 74]
• Koordinat London adalah [51.5, 0.1]
• Koordinat Paris adalah [48.9, -2.4]
Ini berguna untuk penalaran tentang hubungan spasial. Anda dapat melihat bahwa New York sangat dekat dengan Washington DC karena 38,9 lebih dekat dengan 40,7 dan 77 lebih dekat dengan 74 dalam koordinat. Demikian juga, Paris sangat dekat dengan London. Tapi Paris jauh dari Washington, DC.
Model bahasa mengambil pendekatan serupa: setiap vektor kata mewakili satu titik dalam "ruang kata" di mana kata-kata dengan arti serupa terletak lebih dekat satu sama lain. Misalnya, kata yang paling dekat dengan kucing di ruang vektor adalah anjing, anak kucing, dan hewan peliharaan. Keuntungan utama merepresentasikan kata sebagai vektor bilangan real (berlawanan dengan rangkaian huruf seperti "CAT") adalah angka dapat melakukan operasi yang tidak dapat dilakukan oleh huruf.
Kata-kata terlalu kompleks untuk direpresentasikan hanya dalam dua dimensi, sehingga model bahasa menggunakan ruang vektor dengan ratusan atau bahkan ribuan dimensi. Manusia tidak dapat membayangkan ruang dengan dimensi setinggi itu, tetapi komputer dapat bernalar tentangnya dan memberikan hasil yang bermanfaat.
Para peneliti telah mempelajari vektor kata selama beberapa dekade, tetapi konsep tersebut benar-benar menarik perhatian pada tahun 2013, ketika Google mengumumkan proyek word2vec. Google menganalisis jutaan dokumen yang dikumpulkan dari Google News untuk mengetahui kata mana yang cenderung muncul dalam kalimat serupa. Seiring waktu, jaringan saraf terlatih belajar menempatkan kata-kata dari kategori serupa (seperti anjing dan kucing) yang berdekatan di ruang vektor.
Vektor kata Google juga memiliki fitur menarik lainnya: Anda dapat menggunakan operasi vektor untuk "menyimpulkan" kata. Misalnya, peneliti Google mengambil vektor terbesar (terbesar), kurangi vektor besar (besar), dan tambahkan vektor kecil (kecil). Kata yang paling dekat dengan vektor yang dihasilkan adalah vektor terkecil (terkecil).
• Swiss untuk Swiss seperti Kamboja untuk Kamboja. (Kewarganegaraan)
• Paris dan Prancis mirip dengan Berlin dan Jerman. (modal)
• Tidak bermoral dan bermoral mirip dengan mungkin dan tidak mungkin. (antonim)
• Mouse (tikus) dan tikus (jamak dari tikus) mirip dengan dolar (dolar) dan dolar (jamak dari dolar). (bentuk jamak)
• Pria dan wanita seperti raja dan ratu. (peran jenis kelamin)
Karena vektor ini dibangun dari cara orang menggunakan bahasa, mereka mencerminkan banyak bias yang ada dalam bahasa manusia. Misalnya, (dokter) dikurangi (pria) plus (wanita) sama dengan (perawat) dalam beberapa model penyisipan kata. Mengurangi bias ini adalah bidang penelitian baru.
Meskipun demikian, penyisipan kata adalah dasar yang berguna untuk model bahasa, karena mereka menyandikan informasi relasional yang halus namun penting di antara kata-kata. Jika model bahasa mempelajari sesuatu tentang kucing (misalnya, kadang-kadang pergi ke dokter hewan), hal yang sama kemungkinan akan berlaku untuk anak kucing atau anjing. Jika model telah mempelajari tentang hubungan antara Paris dan Prancis (misalnya, mereka berbagi bahasa), kemungkinan besar hubungan antara Berlin dan Jerman serta Roma dan Italia akan sama.
Arti kata tergantung pada konteksnya
Skema penyematan kata sederhana seperti ini gagal menangkap fakta penting dari bahasa alami: kata sering kali memiliki banyak arti.
Misalnya, kata "bank" bisa mengacu pada lembaga keuangan atau tepi sungai. Atau perhatikan kalimat berikut:
• John mengambil majalah (John mengambil majalah).
• Susan bekerja untuk majalah (Susan bekerja untuk majalah).
Dalam kalimat-kalimat ini, arti "majalah" terkait tetapi berbeda. John mengambil majalah fisik, dan Susan bekerja di agensi yang menerbitkan majalah fisik.
Ketika sebuah kata memiliki dua arti yang tidak berhubungan, ahli bahasa menyebutnya homonim. Ketika sebuah kata memiliki dua arti yang terkait erat, seperti "majalah", ahli bahasa menyebutnya polisemi.
Model bahasa seperti ChatGPT mampu merepresentasikan kata yang sama dengan vektor yang berbeda tergantung pada konteks di mana kata tersebut muncul. Ada vektor untuk "bank (lembaga keuangan)" dan vektor untuk "bank (tepi sungai)". Ada vektor untuk "majalah (publikasi entitas)" dan vektor untuk "majalah (lembaga publikasi)". Seperti yang Anda duga, model bahasa menggunakan vektor yang lebih mirip untuk arti kata polisemik dan kurang mirip untuk arti homofon.
Sejauh ini kami belum menjelaskan bagaimana model bahasa melakukan ini - akan segera membahasnya. Namun, kami merinci representasi vektor ini, yang penting untuk memahami cara kerja model bahasa.
Perangkat lunak tradisional dirancang untuk bekerja dengan data eksplisit. Jika Anda meminta komputer untuk menghitung "2+3", tidak ada ambiguitas tentang arti 2, +, atau 3. Tetapi ambiguitas dalam bahasa alami jauh melampaui homonim dan polisemi:
• Dalam "pelanggan meminta mekanik untuk memperbaiki mobilnya", apakah "miliknya" mengacu pada pelanggan atau mekanik?
• Dalam “profesor mendesak siswa untuk mengerjakan pekerjaan rumahnya”, apakah “dia” mengacu pada profesor atau siswa?
• Dalam "lalat buah seperti pisang", apakah "lalat" adalah kata kerja (mengacu pada buah yang terbang di langit seperti pisang) atau kata benda (mengacu pada lalat buah yang menyukai pisang)?
Orang menyelesaikan jenis ambiguitas ini tergantung pada konteksnya, tetapi tidak ada aturan yang sederhana atau jelas. Sebaliknya, itu membutuhkan pemahaman tentang apa yang sebenarnya terjadi di dunia. Perlu Anda ketahui bahwa mekanik biasanya memperbaiki mobil pelanggan, siswa biasanya mengerjakan PR sendiri, dan buah biasanya tidak beterbangan.
Vektor kata menyediakan cara yang fleksibel untuk model bahasa untuk merepresentasikan arti sebenarnya dari setiap kata dalam konteks paragraf tertentu. Sekarang mari kita lihat bagaimana mereka melakukannya.
Mengonversi vektor kata menjadi prediksi kata
Model GPT-3 di balik versi asli ChatGPT terdiri dari puluhan lapisan jaringan saraf. Setiap lapisan mengambil urutan vektor sebagai masukan—satu untuk setiap kata dalam teks masukan—dan menambahkan informasi untuk membantu memperjelas arti kata tersebut dan memprediksi kata yang mungkin muncul berikutnya dengan lebih baik.
Mari kita mulai dengan contoh sederhana.
Di bagian bawah grafik, teks input ke model adalah "John ingin banknya mencairkan" dan kata-kata ini direpresentasikan sebagai vektor gaya word2vec dan diteruskan ke Transformer pertama. Transformer ini menentukan bahwa keinginan dan uang tunai adalah kata kerja (dua kata ini juga bisa menjadi kata benda). Kami menunjukkan konteks tambahan ini dalam teks merah dalam tanda kurung, tetapi model sebenarnya menyimpan informasi ini dengan memodifikasi vektor kata dengan cara yang sulit ditafsirkan oleh manusia. Vektor baru ini disebut status tersembunyi dan diteruskan ke Transformer berikutnya.
Transformer kedua menambahkan dua informasi yang lebih kontekstual: menjelaskan bahwa bank mengacu pada lembaga keuangan (lembaga keuangan) daripada tepi sungai, dan bahwa dia mengacu pada kata ganti Yohanes. Transformer kedua menghasilkan satu set vektor keadaan tersembunyi yang mencerminkan semua informasi yang telah dipelajari model sebelumnya.
Grafik di atas menggambarkan LLM murni hipotetis, jadi jangan terlalu terpaku pada detailnya. LLM nyata cenderung memiliki lebih banyak lapisan. Misalnya, versi GPT-3 yang paling kuat memiliki 96 lapisan.
Penelitian menunjukkan bahwa (beberapa lapisan pertama fokus pada pemahaman tata bahasa kalimat dan menyelesaikan ambiguitas yang ditunjukkan di atas. Lapisan berikutnya (tidak ditampilkan di atas untuk menjaga agar ukuran diagram dapat dikelola) didedikasikan untuk pemahaman tingkat tinggi dari keseluruhan paragraf.
Misalnya, ketika LLM "membaca" sebuah cerita pendek, sepertinya ia mengingat segala macam informasi tentang karakter cerita: jenis kelamin dan usia, hubungan dengan karakter lain, lokasi masa lalu dan saat ini, kepribadian dan tujuan, dan banyak lagi.
Para peneliti tidak sepenuhnya memahami bagaimana LLM melacak informasi ini, tetapi secara logis, informasi harus diteruskan antar lapisan dengan memodifikasi vektor keadaan tersembunyi. Dimensi vektor dalam LLM modern sangat besar, yang kondusif untuk mengungkapkan informasi semantik yang lebih kaya.
Misalnya, versi paling kuat dari GPT-3 menggunakan vektor kata dengan dimensi 12288, yaitu setiap kata diwakili oleh daftar 12288 angka. Ini 20 kali lebih besar dari skema word2vec yang diusulkan oleh Google pada 2013. Anda dapat menganggap semua dimensi ekstra ini sebagai semacam "ruang gores" yang dapat digunakan GPT-3 untuk merekam konteks setiap kata. Catatan informatif yang dibuat oleh lapisan sebelumnya dapat dibaca dan dimodifikasi oleh lapisan selanjutnya, memungkinkan model untuk secara bertahap memperdalam pemahamannya terhadap keseluruhan teks.
Jadi, misalkan kita mengubah diagram di atas untuk mendeskripsikan model bahasa 96 lapis untuk menginterpretasikan cerita 1000 kata. Level 60 mungkin menyertakan vektor untuk John, dengan vektor yang dilambangkan "(Protagonis, laki-laki, menikah dengan Cheryl, sepupu Donald, dari Minnesota, saat ini di Boise, mencoba menemukan dompetnya yang hilang)" dalam tanda kurung. Sekali lagi, semua fakta ini (dan mungkin lebih) akan dikodekan dalam daftar 12288 angka yang sesuai dengan kata John. Atau, beberapa informasi dalam cerita itu mungkin dikodekan dalam vektor 12288 dimensi untuk Cheryl, Donald, Boise, dompet, atau kata lain.
Tujuannya adalah agar lapisan ke-96 dan terakhir dari jaringan menghasilkan keadaan tersembunyi yang berisi semua informasi yang diperlukan untuk memprediksi kata berikutnya.
Mekanisme Perhatian
Sekarang mari kita bicara tentang apa yang terjadi di dalam setiap Transformer. Transformer memiliki dua proses saat memperbarui status tersembunyi dari setiap kata pada paragraf input:
Selama langkah perhatian, kosakata "mencari-cari" kata-kata lain yang memiliki konteks yang relevan dan berbagi informasi satu sama lain.
Pada langkah umpan maju, setiap kata "berpikir" tentang informasi yang dikumpulkan pada langkah perhatian sebelumnya dan mencoba memprediksi kata berikutnya.
Tentu saja, jaringanlah yang melakukan langkah-langkah ini, bukan kata-kata individual. Namun kami menyatakannya seperti ini untuk menekankan bahwa Transformer menggunakan kata-kata sebagai unit dasar analisis ini, bukan seluruh kalimat atau paragraf. Pendekatan ini memungkinkan LLM untuk memanfaatkan sepenuhnya kemampuan pemrosesan paralel besar-besaran dari chip GPU modern. Ini juga membantu skala LLM ke paragraf panjang yang berisi ribuan kata. Kedua aspek ini merupakan tantangan yang dihadapi oleh model bahasa awal.
Anda dapat menganggap mekanisme perhatian sebagai layanan pencocokan antar kata. Setiap kata membuat daftar periksa (disebut vektor kueri) yang mendeskripsikan karakteristik kata yang dicari. Setiap kata juga membuat daftar periksa (disebut keyvector) yang menjelaskan karakteristiknya sendiri. Neural network menemukan kata yang paling cocok dengan membandingkan setiap vektor kunci dengan setiap vektor kueri (dengan menghitung perkalian titik). Setelah kecocokan ditemukan, informasi relevan diteruskan dari kata yang menghasilkan vektor kunci ke kata yang menghasilkan vektor kueri.
Misalnya, pada bagian sebelumnya kami menunjukkan model Transformer hipotetis yang menemukan bahwa "nya" mengacu pada "John" di bagian kalimat "John ingin banknya mencairkan". Secara internal, prosesnya mungkin seperti ini: vektor kueri untuk "miliknya" mungkin secara efektif direpresentasikan sebagai "Saya mencari: kata benda yang menggambarkan laki-laki". Vektor kunci untuk "John" mungkin secara efektif dinyatakan sebagai "Saya adalah kata benda yang mendeskripsikan laki-laki". Jaringan akan mendeteksi bahwa kedua vektor ini cocok, dan mentransfer informasi tentang vektor "John" ke vektor "nya".
Setiap lapisan perhatian memiliki beberapa "kepala perhatian", yang berarti bahwa proses pertukaran informasi ini terjadi berkali-kali (secara paralel) pada setiap lapisan. Setiap kepala perhatian berfokus pada tugas yang berbeda:
• Kepala perhatian dapat mencocokkan kata ganti dengan kata benda, seperti yang telah kita bahas sebelumnya.
• Header perhatian lain mungkin menangani penguraian arti kata-kata polisemi seperti "bank".
• Kepala perhatian ketiga mungkin menautkan frasa dua kata seperti "Joe Biden".
Kepala perhatian seperti ini sering beroperasi secara berurutan, dengan hasil operasi perhatian di satu lapisan perhatian menjadi masukan bagi kepala perhatian di lapisan berikutnya. Faktanya, setiap tugas yang baru saja kita sebutkan mungkin memerlukan banyak perhatian, bukan hanya satu.
Versi terbesar dari GPT-3 memiliki 96 lapisan, dan setiap lapisan memiliki 96 kepala perhatian, sehingga setiap kata baru diprediksi, GPT-3 akan melakukan 9216 operasi perhatian.
Contoh dunia nyata
Pada dua bagian di atas, kami menunjukkan versi ideal tentang cara kerja kepala perhatian. Sekarang mari kita lihat penelitian tentang cara kerja model bahasa nyata.
Tahun lalu, para peneliti di Redwood Research mempelajari GPT-2, pendahulu ChatGPT, untuk bagian "Ketika Mary dan John pergi ke toko, John memberi minum kepada (ketika Mary dan John pergi ke toko, John memberi minum kepada ) "Proses memprediksi kata berikutnya.
GPT-2 memprediksi bahwa kata selanjutnya adalah Maria. Para peneliti menemukan bahwa tiga jenis kepala perhatian berkontribusi pada prediksi ini:
• Tiga kepala perhatian, yang disebut Kepala Penggerak Nama, menyalin informasi dari vektor Mary ke vektor input akhir (vektor untuk kata to). GPT-2 menggunakan informasi dalam vektor paling kanan ini untuk memprediksi kata berikutnya.
• Bagaimana jaringan saraf memutuskan bahwa Maria adalah kata yang tepat untuk disalin? Membalikkan proses perhitungan GPT-2, para ilmuwan menemukan satu set empat kepala perhatian yang mereka sebut Kepala Penghambatan Subjek (Subject Inhibition Head), yang menandai vektor John kedua, mencegah nama kepala bergerak menyalin nama John.
• Bagaimana subjek penekanan kepala mengetahui bahwa Yohanes tidak boleh disalin? Tim mengekstrapolasi lebih jauh dan menemukan dua kepala perhatian yang mereka sebut Kepala Token Duplikat. Mereka menandai vektor John kedua sebagai salinan duplikat dari vektor John pertama, yang membantu subjek menekan kepala untuk memutuskan bahwa John tidak boleh disalin.
Singkatnya, sembilan kepala perhatian ini memungkinkan GPT-2 untuk memahami bahwa "John memberi minuman kepada John" tidak masuk akal, dan malah memilih "John memberikan minuman kepada Mary (John memberi Mary minum)".
Contoh ini menunjukkan betapa sulitnya memahami LLM sepenuhnya. Tim Redwood yang terdiri dari lima peneliti menerbitkan makalah setebal 25 halaman yang menjelaskan bagaimana mereka mengidentifikasi dan memvalidasi kepala perhatian ini. Meskipun dengan semua pekerjaan ini, kami masih jauh dari penjelasan lengkap mengapa GPT-2 memutuskan untuk memprediksi "Mary" sebagai kata berikutnya.
Misalnya, bagaimana model mengetahui bahwa kata berikutnya harus nama seseorang dan bukan jenis kata lain? Sangat mudah untuk membayangkan bahwa dalam kalimat serupa, Mary tidak akan menjadi peramal yang baik berikutnya. Misalnya, dalam kalimat "ketika Mary dan John pergi ke restoran, John memberikan kuncinya kepada (ketika Mary dan John pergi ke restoran, John memberikan kunci ke)", secara logis, kata berikutnya harus menjadi "pelayan ( mewakili petugas parkir)".
Dengan asumsi penelitian yang cukup dilakukan oleh ilmuwan komputer, mereka dapat mengungkap dan menjelaskan langkah-langkah lain dalam proses penalaran GPT-2. Akhirnya, mereka mungkin dapat memahami sepenuhnya bagaimana GPT-2 memutuskan bahwa "Mary" kemungkinan besar adalah kata berikutnya dalam kalimat tersebut. Tapi butuh waktu berbulan-bulan atau bahkan bertahun-tahun usaha ekstra untuk memahami bagaimana sebuah kata diramalkan.
Model bahasa di belakang ChatGPT—GPT-3 dan GPT-4—lebih besar dan lebih kompleks daripada GPT-2, dan mampu melakukan tugas penalaran yang lebih kompleks daripada kalimat sederhana yang dipelajari tim Redwood. Oleh karena itu, pekerjaan untuk menjelaskan sistem ini sepenuhnya akan menjadi proyek besar, dan kecil kemungkinan manusia akan menyelesaikannya dalam waktu singkat.
Langkah umpan maju
Setelah kepala perhatian mentransfer informasi antara vektor kata, jaringan umpan maju "berpikir" tentang setiap vektor kata dan mencoba memprediksi kata berikutnya. Pada tahap ini, tidak ada informasi yang dipertukarkan antar kata, dan lapisan feed-forward menganalisis setiap kata secara independen. Namun, lapisan umpan maju memiliki akses ke informasi apa pun yang sebelumnya disalin oleh kepala perhatian. Berikut ini adalah struktur lapisan feedforward versi terbesar dari GPT-3.
Lapisan feed-forward sangat kuat karena banyaknya koneksi. Kami menggambar jaringan ini menggunakan tiga neuron sebagai lapisan keluaran dan enam neuron sebagai lapisan tersembunyi, tetapi lapisan umpan maju GPT-3 jauh lebih besar: 12288 neuron di lapisan keluaran (sesuai dengan vektor kata 12288 dimensi model) , lapisan tersembunyi memiliki 49152 neuron.
Jadi pada GPT-3 versi terbesar, hidden layer memiliki 49152 neuron, setiap neuron memiliki 12288 nilai input (sehingga setiap neuron memiliki 12288 parameter bobot), dan juga terdapat 12288 neuron output, setiap Neuron memiliki 49152 nilai input (sehingga 49152 parameter bobot per neuron). Ini berarti bahwa setiap lapisan feedforward memiliki 49152*12288+12288*49152=1,2 miliar parameter bobot. Dan ada 96 lapisan feedforward, total 1,2 miliar*96=116 miliar parameter! Ini setara dengan hampir dua pertiga volume parameter GPT-3 dengan 175 miliar parameter.
Dalam makalah tahun 2020 (di, peneliti dari Universitas Tel Aviv menemukan bahwa lapisan feed-forward bekerja dengan pencocokan pola: setiap neuron di lapisan tersembunyi cocok dengan pola tertentu dalam teks input. Di bawah ini adalah versi 16 lapisan Beberapa neuron di GPT- 2 cocok dengan pola:
• Neuron pada lapisan 1 mencocokkan urutan kata yang diakhiri dengan "pengganti".
• Neuron pada lapisan 6 mencocokkan urutan kata yang berhubungan dengan militer dan diakhiri dengan "basis" atau "basis".
• Neuron pada layer 13 mencocokkan urutan yang diakhiri dengan rentang waktu, seperti "antara jam 3 sore dan 7 malam" atau "dari jam 7 malam pada hari Jumat sampai".
• Neuron dalam lapisan 16 urutan kecocokan yang terkait dengan acara TV, seperti "versi siang hari NBC asli, diarsipkan" atau "penundaan waktu meningkatkan penayangan untuk episode ini sebesar 57 persen."
Seperti yang Anda lihat, pada lapisan selanjutnya skema menjadi lebih abstrak. Lapisan awal cenderung cocok dengan kata-kata tertentu, sedangkan lapisan selanjutnya cocok dengan frasa yang termasuk dalam kategori semantik yang lebih luas, seperti acara TV atau interval waktu.
Ini menarik karena, seperti yang disebutkan sebelumnya, lapisan feed-forward hanya dapat memeriksa satu kata dalam satu waktu. Jadi saat mengklasifikasikan urutan "Rilis siang hari NBC asli, diarsipkan" sebagai "terkait TV", itu hanya memiliki akses ke vektor untuk kata "diarsipkan", bukan kata-kata seperti NBC atau siang hari. Dapat disimpulkan bahwa alasan mengapa lapisan feed-forward dapat menilai bahwa "diarsipkan" adalah bagian dari urutan yang berhubungan dengan TV adalah karena kepala perhatian sebelumnya memindahkan informasi kontekstual ke dalam vektor "diarsipkan".
Ketika sebuah neuron cocok dengan salah satu pola, itu menambahkan informasi ke kata vektor. Meskipun informasi ini tidak selalu mudah untuk ditafsirkan, dalam banyak kasus Anda dapat menganggapnya sebagai prediksi tentatif dari kata berikutnya.
Inferensi Jaringan Feedforward Menggunakan Operasi Vektor
Penelitian terbaru dari Brown University (menunjukkan contoh elegan tentang bagaimana lapisan feed-forward dapat membantu memprediksi kata berikutnya. Kami sebelumnya membahas penelitian word2vec Google yang menunjukkan bahwa penalaran analogis dapat dilakukan dengan menggunakan operasi vektor. Misalnya, Berlin - Jerman + Prancis = Paris .
Peneliti Universitas Brown menemukan bahwa lapisan umpan-maju terkadang menggunakan metode akurat ini untuk memprediksi kata berikutnya. Misalnya, mereka mempelajari respons GPT-2 untuk pertanyaan berikut: "Pertanyaan: Apa ibu kota Prancis? Jawaban: Paris. Pertanyaan: Apa ibu kota Polandia? Jawab:"
Tim mempelajari versi GPT-2 dengan 24 lapisan. Setelah setiap lapisan, para ilmuwan Universitas Brown menyelidiki model tersebut, melihat tebakan terbaiknya untuk token berikutnya. Dalam 15 lapisan pertama, kemungkinan tebakan tertinggi adalah kata yang tampaknya acak. Antara lapisan 16 dan 19, model mulai memprediksi bahwa kata berikutnya adalah bahasa Polandia—salah, tetapi semakin dekat. Kemudian pada tingkat 20, kemungkinan tebakan tertinggi menjadi Warsawa—jawaban yang benar, dan tetap sama untuk empat tingkat terakhir.
Para peneliti di Universitas Brown menemukan bahwa lapisan umpan-maju ke-20 mengubah Polandia menjadi Warsawa dengan menambahkan vektor yang memetakan vektor negara ke ibu kota yang sesuai. Saat menambahkan vektor yang sama ke China, jawabannya adalah Beijing.
Lapisan feed-forward dalam model yang sama menggunakan operasi vektor untuk mengonversi kata-kata huruf kecil menjadi kata-kata besar, dan kata-kata dalam bentuk sekarang menjadi padanannya dalam bentuk lampau.
Lapisan perhatian dan lapisan feedforward memiliki fungsi yang berbeda
Sejauh ini, kita telah melihat dua contoh praktis prediksi kata GPT-2: kepala perhatian membantu memprediksi bahwa John akan memberi Mary minum; lapisan umpan maju membantu memprediksi bahwa Warsawa adalah ibu kota Polandia.
Dalam kasus pertama, Mary berasal dari prompt yang disediakan pengguna. Namun dalam kasus kedua, Warsawa tidak muncul di prompt. Sebaliknya, GPT-2 harus "mengingat" bahwa Warsawa adalah ibu kota Polandia, dan informasi ini dipelajari dari data pelatihan.
Ketika para peneliti Brown University menonaktifkan lapisan feed-forward yang mengubah Polandia menjadi Warsawa, model tersebut tidak lagi memprediksi bahwa kata berikutnya adalah Warsawa. Namun menariknya, jika kemudian ditambahkan kalimat "Ibukota Polandia adalah Warsawa" di awal prompt, GPT-2 mampu menjawab pertanyaan itu lagi. Ini mungkin karena GPT-2 menggunakan mekanisme perhatian untuk mengekstrak nama Warsawa dari isyarat.
Pembagian kerja ini memanifestasikan dirinya lebih luas: mekanisme perhatian mengambil informasi dari bagian isyarat sebelumnya, sedangkan lapisan umpan-maju memungkinkan model bahasa untuk "mengingat" informasi yang tidak muncul dalam isyarat.
Bahkan, lapisan umpan maju dapat dianggap sebagai basis data informasi yang telah dipelajari model dari data pelatihan. Lapisan feed-forward awal lebih cenderung menyandikan fakta sederhana yang terkait dengan kata-kata tertentu, seperti "Trump sering muncul setelah Donald". Lapisan selanjutnya menyandikan hubungan yang lebih kompleks seperti "tambahkan vektor ini untuk mengubah suatu negara menjadi ibukotanya.
Metode pelatihan model bahasa
Banyak algoritme pembelajaran mesin awal memerlukan contoh pelatihan berlabel manusia. Misalnya, data pelatihan mungkin berupa foto anjing atau kucing dengan label buatan ("anjing" atau "kucing"). Kebutuhan akan data berlabel mempersulit dan mahal bagi seseorang untuk membuat kumpulan data yang cukup besar untuk melatih model yang andal.
Inovasi utama LLM adalah bahwa mereka tidak memerlukan data yang diberi label secara eksplisit. Sebaliknya, mereka belajar dengan mencoba memprediksi kata berikutnya dalam sebuah bagian teks. Hampir semua materi tertulis cocok untuk melatih model ini -- mulai dari halaman Wikipedia hingga artikel berita hingga kode komputer.
Misalnya, LLM mungkin mengambil input "Saya suka kopi saya dengan krim dan (Saya suka kopi saya dengan krim dan)" dan mencoba memprediksi "gula (gula)" sebagai kata berikutnya. Model bahasa yang baru diinisialisasi sangat buruk dalam hal ini, karena setiap parameter bobotnya—versi GPT-3 yang paling kuat mencapai 175 miliar parameter—dimulai dengan angka acak pada awalnya.
Namun saat model melihat lebih banyak contoh -- ratusan miliar kata -- bobot tersebut secara bertahap disesuaikan untuk membuat prediksi yang lebih baik.
Mari gunakan analogi untuk mengilustrasikan bagaimana proses ini bekerja. Katakanlah Anda sedang mandi, dan Anda ingin suhu airnya pas: tidak terlalu panas, tidak terlalu dingin. Anda belum pernah menggunakan keran ini sebelumnya, jadi Anda mengatur arah pegangan keran sesuka hati, dan merasakan suhu air. Jika terlalu panas atau terlalu dingin, Anda akan memutar pegangan ke arah yang berlawanan, dan semakin sedikit penyesuaian yang akan Anda lakukan pada pegangan saat mendekati suhu air yang tepat.
Sekarang, mari kita buat beberapa perubahan pada analogi ini. Pertama, bayangkan ada 50.257 tap, yang masing-masing memiliki kata yang berbeda, seperti "the", "cat", atau "bank". Tujuan Anda adalah hanya membiarkan air mengalir dari keran yang sesuai dengan kata berikutnya dalam urutan tersebut.
Kedua, ada banyak pipa yang saling berhubungan di belakang keran, dan banyak katup di pipa itu. Jadi jika air keluar dari keran yang salah, Anda tidak bisa hanya menyesuaikan kenop pada keran. Anda mengirim sepasukan tupai pintar untuk melacak setiap pipa, menyesuaikan setiap katup yang mereka temukan di sepanjang jalan.
Ini menjadi rumit, dan karena pipa yang sama sering memasok banyak faucet, diperlukan pemikiran yang cermat tentang cara menentukan katup mana yang akan dikencangkan dan dilonggarkan, dan seberapa banyak.
Jelas, contoh ini menjadi konyol jika dipahami secara harfiah. Membangun jaringan pipa dengan 175 miliar katup tidaklah realistis dan tidak berguna. Namun berkat Hukum Moore, komputer dapat dan memang beroperasi pada skala ini.
Sejauh ini, semua bagian LLM yang dibahas dalam artikel ini—neuron di lapisan feed-forward dan kepala perhatian yang menyampaikan informasi konteks di antara kata—diimplementasikan sebagai rangkaian fungsi matematika sederhana (terutama perkalian matriks), yang perilakunya adalah ditentukan oleh parameter bobot yang dapat disesuaikan. Sama seperti tupai dalam cerita saya yang mengontrol aliran air dengan melonggarkan katup, algoritme pelatihan mengontrol aliran informasi melalui jaringan saraf dengan menambah atau mengurangi parameter bobot model bahasa.
Proses pelatihan dibagi menjadi dua langkah. Lakukan "forward pass" terlebih dahulu, nyalakan air dan periksa apakah air berasal dari keran yang benar. Air kemudian dimatikan untuk "jalan mundur", di mana tupai berlomba menuruni setiap pipa, mengencangkan atau mengendurkan katup. Dalam jaringan saraf digital, peran tupai dimainkan oleh algoritme yang disebut backpropagation, yang "berjalan mundur" melalui jaringan, menggunakan kalkulus untuk memperkirakan berapa banyak parameter bobot yang perlu diubah.
Melakukan hal ini—menyebarkan contoh ke depan, lalu menyebarkan kembali untuk meningkatkan kinerja jaringan pada contoh tersebut—memerlukan puluhan miliar operasi matematika. Dan pelatihan model besar seperti GPT-3 perlu mengulangi proses ini miliaran kali-untuk setiap kata dari setiap data pelatihan. OpenAI memperkirakan bahwa pelatihan GPT-3 membutuhkan lebih dari 300 miliar teraflop perhitungan -- sesuatu yang membutuhkan puluhan chip komputer kelas atas untuk berjalan selama berbulan-bulan.
Performa luar biasa dari GPT-3
Anda mungkin terkejut melihat seberapa baik proses pelatihan bekerja. ChatGPT dapat melakukan berbagai tugas kompleks — menulis artikel, membuat analogi, dan bahkan menulis kode komputer. Jadi, bagaimana mekanisme pembelajaran yang begitu sederhana menghasilkan model yang begitu kuat?
Salah satu alasannya adalah skala. Sulit untuk terlalu menekankan banyaknya contoh yang dilihat model seperti GPT-3. GPT-3 dilatih pada korpus sekitar 500 miliar kata. Sebagai perbandingan, rata-rata anak manusia menemukan sekitar 100 juta kata sebelum usia 10 tahun.
Selama lima tahun terakhir, OpenAI terus meningkatkan ukuran model bahasanya. Dalam makalah tahun 2020 yang beredar luas (melaporkan bahwa keakuratan model bahasa mereka memiliki hubungan kekuatan-hukum dengan ukuran model, ukuran kumpulan data, dan jumlah komputasi yang digunakan untuk pelatihan, beberapa tren bahkan mencakup lebih dari tujuh urutan besarnya”.
Semakin besar ukuran model, semakin baik kinerjanya pada tugas yang melibatkan bahasa. Tetapi hanya jika mereka meningkatkan jumlah data pelatihan dengan faktor serupa. Dan untuk melatih model yang lebih besar pada lebih banyak data, diperlukan lebih banyak daya komputasi.
Pada tahun 2018, OpenAI merilis model besar pertama GPT-1. Ini menggunakan vektor kata 768 dimensi, total 12 lapisan, dan total 117 juta parameter. Beberapa bulan kemudian, OpenAI merilis GPT-2, versi terbesarnya memiliki vektor kata 1600 dimensi, 48 lapisan, dan total 1,5 miliar parameter. Pada tahun 2020, OpenAI merilis GPT-3, yang memiliki vektor kata 12288 dimensi, 96 lapisan, dan total 175 miliar parameter.
Tahun ini, OpenAI merilis GPT-4. Perusahaan belum merilis detail arsitektur apa pun, tetapi diyakini secara luas di industri bahwa GPT-4 jauh lebih besar daripada GPT-3.
Setiap model tidak hanya mempelajari lebih banyak fakta daripada pendahulunya yang lebih kecil, tetapi juga menunjukkan kinerja yang lebih baik pada tugas-tugas yang memerlukan beberapa bentuk penalaran abstrak.
Sebagai contoh, perhatikan cerita berikut: Sekantong penuh popcorn. Tidak ada coklat di dalam tas. Namun, label di tasnya bertuliskan "cokelat", bukan "popcorn". Sam menemukan tasnya. Dia belum pernah melihat tas itu sebelumnya. Dia tidak bisa melihat apa yang ada di dalam tas. Dia membaca labelnya.
Seperti yang bisa Anda tebak, Sam yakin tas itu berisi cokelat dan terkejut saat mengetahui bahwa tas itu berisi popcorn.
Psikolog menyebut studi tentang kemampuan bernalar tentang keadaan mental orang lain ini sebagai "Teori Pikiran". Kebanyakan orang memiliki kemampuan ini sejak awal sekolah dasar. Para ahli terbagi atas apakah teori pikiran berlaku untuk hewan bukan manusia, seperti simpanse, tetapi konsensus umum adalah bahwa itu penting untuk kognisi sosial manusia.
Awal tahun ini, psikolog Universitas Stanford Michal Kosinski menerbitkan sebuah penelitian (memeriksa kemampuan LLM untuk memecahkan tugas-tugas teori pikiran) Dia membaca berbagai model bahasa cerita seperti yang baru saja dikutip, dan kemudian meminta mereka untuk menyelesaikan sebuah kalimat, Seperti " dia yakin tasnya penuh", jawaban yang benar adalah "coklat", tetapi model bahasa yang tidak dewasa mungkin mengatakan "popcorn" atau semacamnya.
GPT-1 dan GPT-2 gagal dalam tes ini. Tetapi versi pertama GPT-3, dirilis pada tahun 2020, hampir 40 persen benar, tingkat kinerja Kosinski dibandingkan dengan anak berusia tiga tahun. Versi terbaru, GPT-3, dirilis pada November tahun lalu, meningkatkan akurasi pertanyaan di atas menjadi sekitar 90%, sebanding dengan akurasi anak berusia tujuh tahun. GPT-4 menjawab dengan benar sekitar 95 persen pertanyaan tentang teori pikiran.
Perlu dicatat bahwa para peneliti tidak semua setuju bahwa hasil ini membuktikan teori pikiran: misalnya, perubahan kecil pada tugas kepercayaan salah menyebabkan penurunan besar dalam kinerja GPT-3 (sementara kinerja GPT-3 pada tugas lain yang mengukur teori pikiran Lebih tidak menentu (seperti yang ditulis Sean di dalamnya, kinerja yang sukses dapat dikaitkan dengan faktor perancu dalam tugas — "Hans yang pintar", merujuk pada seekor kuda bernama Hans yang tampaknya dapat menyelesaikan beberapa tugas intelektual sederhana, tetapi sebenarnya hanya mengandalkan isyarat tidak sadar yang diberikan oleh orang)", tetapi itu muncul pada model bahasa, bukan pada kudanya.
Meskipun demikian, GPT-3 mendekati kinerja manusia pada beberapa tugas yang dirancang untuk mengukur teori pikiran, yang tidak terbayangkan beberapa tahun yang lalu, dan ini konsisten dengan fakta bahwa model yang lebih besar umumnya bekerja lebih baik pada tugas yang membutuhkan sudut pandang penalaran lanjutan. .
Ini hanyalah salah satu dari banyak contoh di mana model bahasa telah terbukti secara spontan mengembangkan kemampuan penalaran tingkat lanjut. Pada bulan April, para peneliti di Microsoft menerbitkan sebuah makalah (mengatakan bahwa GPT-4 menunjukkan tanda-tanda awal kecerdasan buatan umum yang menggiurkan - kemampuan untuk berpikir dengan cara yang kompleks dan mirip manusia.
Misalnya, seorang peneliti meminta GPT-4 untuk menggambar unicorn menggunakan bahasa pemrograman grafik yang tidak jelas yang disebut TiKZ. GPT-4 merespons dengan beberapa baris kode, yang kemudian dimasukkan oleh para peneliti ke perangkat lunak TiKZ. Gambar yang dihasilkan, meski kasar, jelas menunjukkan bahwa GPT-4 memiliki pemahaman tentang seperti apa unicorn itu.
Saat ini, kami tidak memiliki pemahaman nyata tentang bagaimana LLM mencapai prestasi tersebut. Beberapa orang berpikir bahwa contoh seperti ini menunjukkan bahwa model mulai benar-benar memahami arti kata-kata dalam rangkaian pelatihannya. Yang lain bersikeras bahwa model bahasa hanyalah "burung beo acak" (hanya mengulangi rangkaian kata yang semakin kompleks tanpa benar-benar memahaminya.
Perdebatan ini menunjuk pada perdebatan filosofis yang mendalam yang mungkin tidak dapat diselesaikan. Meskipun demikian, menurut kami penting untuk berfokus pada kinerja model empiris seperti GPT-3. Jika model bahasa dapat secara konsisten mendapatkan jawaban yang benar pada jenis pertanyaan tertentu, dan peneliti yakin bahwa faktor perancu dapat dikesampingkan (misalnya, dengan memastikan bahwa model bahasa tidak dihadapkan pada pertanyaan tersebut selama pelatihan), maka tidak peduli bagaimana ia memahami bahasa Persis sama dengan manusia, ini adalah hasil yang menarik dan penting.
Alasan lain yang mungkin mengapa melatih prediksi lemma berikutnya bekerja dengan sangat baik adalah karena bahasa itu sendiri dapat diprediksi. Keteraturan bahasa seringkali (meski tidak selalu) terkait dengan keteraturan dunia fisik. Oleh karena itu, ketika model bahasa mempelajari hubungan antar kata, biasanya juga secara implisit mempelajari hubungan yang ada di dunia.
Selanjutnya, prediksi dapat menjadi dasar kecerdasan biologis serta kecerdasan buatan. Menurut filsuf seperti Andy Clark, otak manusia dapat dianggap sebagai "mesin prediksi" yang tugas utamanya adalah membuat prediksi tentang lingkungan kita dan kemudian menggunakan prediksi tersebut untuk menavigasi lingkungan dengan sukses. Prediksi sangat penting untuk kecerdasan biologis dan kecerdasan buatan. Secara intuitif, prediksi yang baik sejalan dengan representasi yang baik — peta yang akurat lebih mungkin membantu orang menavigasi dengan lebih baik daripada yang salah. Dunia ini luas dan kompleks, dan membuat prediksi membantu organisme menavigasi dan beradaptasi secara efisien dengan kompleksitas ini.
Tantangan utama dalam membangun model bahasa secara tradisional adalah menemukan cara yang paling berguna untuk merepresentasikan kata-kata yang berbeda, terutama karena arti banyak kata sangat bergantung pada konteks. Metode prediksi kata berikutnya memungkinkan para peneliti untuk menghindari teka-teki teoretis yang pelik ini dengan mengubahnya menjadi masalah empiris.
Ternyata model bahasa dapat mempelajari cara kerja bahasa manusia dengan memikirkan prediksi kata terbaik berikutnya jika kita memberikan data dan daya komputasi yang cukup. Sisi negatifnya adalah bahwa cara kerja sistem yang dihasilkan belum sepenuhnya dipahami oleh manusia.
Catatan:
Secara teknis, penggalan kata LLM menjadi lemma, tetapi kami akan mengabaikan detail implementasi ini untuk menjaga artikel ini dalam panjang yang dapat diatur (lihat artikel "Mengungkap Prinsip Kerja Tokenizer GPT").
Jaringan feedforward juga dikenal sebagai multi-layer perceptrons. Ilmuwan komputer telah mempelajari jenis jaringan saraf ini sejak tahun 1960-an.
Secara teknis, setelah neuron menghitung jumlah bobot dari input, hasilnya diteruskan ke fungsi aktivasi. Artikel ini akan mengabaikan detail implementasi ini, untuk penjelasan lengkap tentang cara kerja neuron, lihat:
Jika Anda ingin mempelajari lebih lanjut tentang backpropagation, lihat penjelasan Tim tahun 2018 tentang cara kerja jaringan saraf.
Dalam praktiknya, pelatihan biasanya dilakukan secara berkelompok untuk efisiensi komputasi. Jadi perangkat lunak mungkin melakukan forward pass pada 32000 token sebelum melakukan backpropagating.