tokenisasipemrosesan bahasa alamitransformatoralgoritma subkatakecerdasan buatan
Pengkodean Pasangan Byte vs Tokenisasi Potongan Kata
Byte Pair Encoding dan WordPiece adalah dua algoritma tokenisasi subkata yang banyak digunakan dan mendukung model NLP modern, yang perbedaannya terutama terletak pada cara mereka menggabungkan token selama pelatihan dan metrik penilaiannya.
Sorotan
BPE menggabungkan berdasarkan frekuensi semata, sedangkan WordPiece mengoptimalkan kemungkinan data pelatihan.
Model GPT menggunakan BPE sedangkan BERT dan variannya mengandalkan tokenisasi WordPiece.
WordPiece biasanya menghasilkan batas token yang lebih bersih secara linguistik dibandingkan BPE yang didorong oleh frekuensi.
Kedua metode tersebut menyelesaikan masalah kata yang tidak ada dalam kosakata, tetapi melalui tujuan optimasi yang pada dasarnya berbeda.
Apa itu Pengkodean Pasangan Byte?
Algoritma tokenisasi subkata yang secara iteratif menggabungkan pasangan karakter yang paling sering muncul dan berdekatan menjadi token baru.
BPE awalnya dikembangkan pada tahun 1994 sebagai algoritma kompresi data sebelum diadaptasi untuk NLP oleh Sennrich dkk. pada tahun 2016.
Algoritma ini dimulai dengan kosakata karakter individual dan berulang kali menggabungkan pasangan token yang paling sering muncul dan berdekatan.
GPT-2, GPT-3, dan RoBERTa semuanya menggunakan tokenisasi BPE sebagai bagian dari pipeline pra-pemrosesan mereka.
BPE menggunakan penghitungan frekuensi untuk menentukan pasangan token mana yang akan digabungkan, sehingga sepenuhnya berbasis data tanpa model bahasa.
Algoritma ini dapat menghasilkan kata-kata di luar kosakata dengan menguraikannya menjadi unit subkata yang dikenal, sehingga meningkatkan penanganan istilah-istilah langka.
Apa itu Tokenisasi WordPiece?
Metode tokenisasi subkata yang menggabungkan token berdasarkan maksimalisasi kemungkinan, bukan frekuensi mentah.
WordPiece awalnya dikembangkan oleh Google untuk sistem pencarian suara Jepang dan Korea sebelum diadopsi untuk teks.
Algoritma ini memilih penggabungan yang memaksimalkan kemungkinan data pelatihan, bukan hanya sekadar menghitung frekuensi.
BERT, DistilBERT, dan ALBERT semuanya menggunakan tokenisasi WordPiece, biasanya dengan ukuran kosakata 30.522 token.
WordPiece sering kali menginisialisasi kosa katanya untuk menyertakan semua karakter individual sebelum memulai proses penggabungan.
Metode ini cenderung menghasilkan lebih sedikit token tingkat karakter untuk kata-kata umum dibandingkan dengan BPE, sehingga meningkatkan efisiensi.
Tabel Perbandingan
Fitur
Pengkodean Pasangan Byte
Tokenisasi WordPiece
Kriteria Penggabungan
Frekuensi pasangan yang berdekatan
Kemungkinan data pelatihan
Kasus Penggunaan Utama
Seri GPT, RoBERTa, CLIP
BERT, DistilBERT, ALBERT
Inisialisasi Kosakata
Karakter atau byte individual
Karakter individu
Penanganan Kata-Kata Langka
Terpecah menjadi unit subkata yang sering muncul
Pemisahan berdasarkan segmentasi berbasis kemungkinan
Kecepatan Latihan
Secara umum lebih cepat karena penghitungannya sederhana.
Sedikit lebih lambat karena perhitungan kemungkinan.
Gaya Keluaran Token
Seringkali lebih rinci
Seringkali lebih terkonsolidasi untuk kata-kata umum.
Pengembangan Asli
1994 sebagai kompresi; 2016 untuk NLP
Tim Pengenalan Suara Google
Perbandingan Detail
Filosofi Algoritma Inti
BPE mendekati tokenisasi sebagai masalah kompresi, secara serakah menggabungkan pasangan mana pun yang paling sering muncul dalam korpus pelatihan. Pendekatan berbasis frekuensi yang lugas ini membuatnya intuitif dan relatif cepat untuk dihitung. WordPiece mengambil sudut pandang yang lebih probabilistik, menanyakan penggabungan mana yang akan membuat data pelatihan paling mungkin berdasarkan asumsi model bahasa unigram. Pergeseran halus dalam kerangka kerja ini mengarah pada batas token yang berbeda, terutama untuk bahasa yang kaya secara morfologis.
Batasan Token dan Properti Linguistik
Karena BPE hanya mengejar frekuensi, terkadang ia memisahkan kata pada titik-titik yang secara linguistik tidak wajar jika hal tersebut kebetulan merupakan pola umum dalam data. Pendekatan berbasis kemungkinan WordPiece cenderung lebih menghormati batas morfem, menghasilkan token yang lebih selaras dengan unit yang bermakna. Untuk bahasa Inggris, kedua metode tersebut berkinerja serupa, tetapi perbedaannya menjadi lebih jelas dalam bahasa dengan morfologi yang lebih kaya seperti bahasa Jerman atau Turki.
Implementasi dan Keterikatan Ekosistem
Pilihan antara tokenizer ini seringkali bergantung pada arsitektur model yang Anda gunakan, bukan pada preferensi mendalam terhadap algoritma itu sendiri. Keluarga GPT dari OpenAI distandarisasi berdasarkan BPE, sehingga siapa pun yang menyempurnakan atau menerapkan model ini mewarisi skema tokenisasi tersebut. Ekosistem BERT Google memantapkan WordPiece sebagai pilihan de facto untuk model transformer yang hanya menggunakan encoder. Penguatan ekosistem ini berarti para praktisi jarang mengganti tokenizer secara independen dari arsitektur model.
Penanganan Kasus Khusus
Kedua algoritma tersebut mengalami kesulitan dengan kasus-kasus khusus tertentu, tetapi dengan cara yang berbeda. BPE bisa rapuh dengan spasi dan tanda baca, terkadang menghasilkan token yang tidak terduga ketika format bervariasi. WordPiece biasanya menambahkan simbol awalan khusus (seperti ## di BERT) untuk menunjukkan subkata lanjutan, yang membuat rekonstruksi teks asli lebih eksplisit tetapi juga memperkenalkan artefak tokenisasi yang harus dipelajari oleh model selanjutnya.
Varian dan Evolusi Modern
Beberapa tahun terakhir telah menyaksikan evolusi signifikan di luar kedua algoritma tersebut. SentencePiece menawarkan kerangka kerja terpadu yang dapat mengimplementasikan tokenisasi model bahasa BPE, WordPiece, atau unigram dengan satu pustaka. BPE tingkat byte (digunakan dalam GPT-2) beroperasi pada byte mentah daripada karakter Unicode, sehingga sepenuhnya menghilangkan masalah token yang tidak diketahui. Sementara itu, pendekatan yang lebih baru seperti BPE-dropout memperkenalkan stokastisitas selama pelatihan untuk meningkatkan ketahanan. Perkembangan ini menunjukkan bahwa meskipun BPE dan WordPiece tetap menjadi dasar, bidang ini terus berkembang.
Kelebihan & Kekurangan
Pengkodean Pasangan Byte
Keuntungan
+Mudah dan intuitif untuk dipahami.
+Pelatihan cepat dengan komputasi minimal.
+Berfungsi dengan baik dengan input tingkat byte.
+Didukung secara luas di perpustakaan modern.
+Menangani semua teks Unicode.
Tersisa
−Dapat terpecah pada batas-batas linguistik yang aneh.
−Sensitif terhadap kemiringan frekuensi korpus pelatihan.
−Tidak ada model bahasa eksplisit selama pelatihan.
−Mungkin terlalu banyak membagi istilah teknis yang jarang digunakan.
−Penanganan spasi bisa tidak konsisten
Tokenisasi WordPiece
Keuntungan
+Penyelarasan yang lebih baik dengan batas-batas morfem
+Optimasi berbasis kemungkinan eksplisit
+Tanda kelanjutan yang jelas dengan awalan ##
+Perangkat pengembangan yang matang di TensorFlow dan Hugging Face.
+Efisien untuk kata-kata umum dalam data pelatihan.
Tersisa
−Terhubung erat dengan ekosistem BERT.
−Komputasi pelatihan sedikit lebih lambat.
−Simbol awalan menambah kompleksitas tokenisasi.
−Fleksibilitas yang lebih rendah untuk data non-teks seperti kode.
−Kosakata bisa menjadi terlalu rumit dengan awalan yang jarang digunakan.
Kesalahpahaman Umum
Mitologi
BPE dan WordPiece selalu menghasilkan tokenisasi yang berbeda untuk teks yang sama.
Realitas
Untuk banyak kata bahasa Inggris umum, kedua algoritma tersebut sebenarnya menghasilkan segmentasi yang identik atau hampir identik. Perbedaan menjadi lebih jelas pada kata-kata langka, istilah yang kompleks secara morfologis, dan dalam bahasa dengan pola infleksi yang lebih kaya daripada bahasa Inggris.
Mitologi
WordPiece menggunakan jaringan saraf selama proses tokenisasi.
Realitas
Meskipun digunakan dalam model neural, WordPiece sendiri sepenuhnya non-neural. Perhitungan kemungkinan didasarkan pada statistik frekuensi unigram sederhana, bukan pada representasi neural yang dipelajari. 'Model bahasa' dalam WordPiece hanyalah tabel frekuensi, bukan transformer atau jaringan berulang.
Mitologi
BPE tidak dapat menangani bahasa dengan jumlah karakter yang besar seperti bahasa Mandarin.
Realitas
BPE tingkat byte secara khusus mengatasi hal ini dengan beroperasi pada byte UTF-8 mentah, bukan karakter. Ini berarti ia dapat merepresentasikan teks Unicode apa pun tanpa pernah menemui karakter yang tidak dikenal, meskipun mungkin memerlukan lebih banyak token untuk melakukannya pada skrip dengan ribuan karakter.
Mitologi
Pemilihan tokenizer sangat memengaruhi performa model pada tugas-tugas selanjutnya.
Realitas
Meskipun tokenisasi penting, arsitektur model dan skala data pelatihan biasanya jauh lebih penting daripada pilihan tokenizer. Studi menunjukkan bahwa BPE dan WordPiece berkinerja sebanding ketika semua faktor lain sama, dengan perbedaan yang biasanya kecil dan bergantung pada tugas.
Mitologi
WordPiece diciptakan khusus untuk BERT.
Realitas
WordPiece sudah ada beberapa tahun sebelum BERT. Google awalnya mengembangkannya untuk pencarian suara bahasa Jepang dan Korea pada awal tahun 2010-an, kemudian mengadaptasinya untuk penerjemahan mesin saraf sebelum muncul di BERT. Keterkaitannya dengan BERT sangat kuat karena BERT-lah yang mempopulerkannya di komunitas penelitian NLP.
Mitologi
Ukuran kosakata BPE tidak masalah asalkan cukup besar.
Realitas
Ukuran kosakata sangat memengaruhi kinerja model dan efisiensi komputasi. Jika terlalu kecil, model akan membuang kapasitas pada urutan token yang panjang. Jika terlalu besar, matriks penyematan menjadi sulit dikelola sementara token yang jarang muncul akan mendapatkan representasi yang buruk. Sebagian besar praktisi dengan cermat menyetel hyperparameter ini, biasanya menetapkan angka antara 30.000 dan 50.000 token.
Pertanyaan yang Sering Diajukan
Apa perbedaan utama antara BPE dan WordPiece?
Perbedaan mendasar terletak pada bagaimana mereka memutuskan pasangan token mana yang akan digabungkan selama pelatihan. BPE hanya menghitung seberapa sering pasangan muncul bersamaan dan menggabungkan pasangan yang paling sering muncul. WordPiece, sebaliknya, menghitung penggabungan mana yang akan memaksimalkan kemungkinan data pelatihan di bawah model unigram. Ini berarti BPE murni didorong oleh frekuensi, sementara WordPiece menggabungkan kriteria probabilistik yang cenderung menghasilkan batasan yang lebih bermakna secara linguistik.
Mengapa GPT menggunakan BPE sedangkan BERT menggunakan WordPiece?
Pilihan-pilihan ini mencerminkan perbedaan kelompok riset dan konteks historis mereka, bukan kebutuhan teknis yang mendalam. Garis keturunan GPT OpenAI mewarisi BPE dari pekerjaan sebelumnya tentang kompresi tingkat byte dan menganggapnya efektif untuk pendekatan pemodelan bahasa generatif mereka. Tim BERT Google telah mengembangkan WordPiece untuk sistem ucapan dan terjemahan mereka, sehingga mereka secara alami menerapkan perangkat yang sudah ada. Keduanya bekerja cukup baik sehingga tidak ada kelompok yang merasa perlu untuk beralih.
Apakah CanEEKCan BPE dan WordPiece dapat menangani bahasa yang tidak menggunakan spasi antar kata?
Ya, kedua algoritma tersebut berfungsi dengan baik tanpa spasi, meskipun mungkin menghasilkan segmentasi yang kurang intuitif. Karena keduanya beroperasi pada urutan karakter atau byte, ketiadaan spasi tidak akan merusak algoritma tersebut. Namun, bahasa seperti Thailand, Cina, atau Jepang seringkali mendapat manfaat dari pra-segmentasi atau pra-pemrosesan khusus karena penggabungan statistik murni mungkin tidak sesuai dengan intuisi penutur asli tentang batas kata.
Bagaimana cara saya memilih antara BPE dan WordPiece untuk proyek baru?
Dalam praktiknya, Anda jarang memilih secara independen dari arsitektur model Anda. Jika Anda melakukan fine-tuning GPT-2, GPT-3, atau RoBERTa, Anda harus menggunakan tokenizer BPE mereka untuk menjaga kompatibilitas. Untuk model berbasis BERT, WordPiece diperlukan. Jika membangun dari awal, pertimbangkan bahwa BPE sedikit lebih mudah diimplementasikan dan di-debug, sementara WordPiece mungkin memberikan pemisahan linguistik yang sedikit lebih bersih. Pustaka modern seperti SentencePiece memungkinkan Anda bereksperimen dengan keduanya dengan mudah.
Ukuran kosakata apa yang sebaiknya saya gunakan dengan BPE atau WordPiece?
Sebagian besar model NLP modern menggunakan antara 30.000 dan 50.000 token, dengan 32.000 dan 50.000 token menjadi nilai default yang sangat umum. Kosakata yang lebih kecil memaksa lebih banyak pemisahan subkata, yang meningkatkan panjang urutan tetapi memberikan penanganan yang lebih baik untuk istilah yang jarang. Kosakata yang lebih besar mengurangi panjang urutan tetapi membutuhkan matriks penyematan yang lebih besar dan mungkin kesulitan dengan token yang sangat jarang. Titik optimal bergantung pada bahasa Anda, ukuran korpus, dan anggaran komputasi.
Bisakah tokenizer ini menangani emoji, kode, atau teks non-standar lainnya?
BPE tingkat byte menangani hal ini dengan kuat karena beroperasi pada byte mentah, bukan pada kumpulan karakter yang telah ditentukan sebelumnya. BPE standar dan WordPiece mungkin gagal pada karakter Unicode yang jarang ditemukan kecuali kosakata awalnya secara eksplisit menyertakannya. Sebagian besar implementasi produksi sekarang menggunakan cakupan Unicode tingkat byte atau yang diperluas untuk menghindari masalah token yang tidak dikenal pada teks media sosial, kode sumber, dan konten multibahasa.
Apa itu SentencePiece dan bagaimana hubungannya dengan BPE dan WordPiece?
SentencePiece adalah pustaka tokenisasi sumber terbuka dari Google yang menyediakan implementasi terpadu dari berbagai algoritma subkata termasuk BPE, WordPiece, dan tokenisasi model bahasa unigram. Ia menangani pra-tokenisasi, normalisasi, dan pelatihan kosakata dalam satu alat. Alih-alih sebagai algoritma yang berbeda, anggaplah ini sebagai kerangka kerja fleksibel yang memungkinkan Anda memilih dan mengkonfigurasi strategi tokenisasi pilihan Anda dengan antarmuka yang konsisten.
Apakah BPE dan WordPiece masih relevan dengan model bahasa besar modern?
Tentu saja. Terlepas dari skala besar model seperti GPT-4, Claude, dan Gemini, semuanya masih bergantung pada tokenisasi subkata sebagai dasarnya. Algoritma spesifiknya mungkin berbeda, dan beberapa model yang lebih baru bereksperimen dengan pendekatan alternatif, tetapi tantangan inti dalam merepresentasikan teks dengan panjang variabel dalam ruang kosakata berukuran tetap tetap universal. Memahami BPE dan WordPiece memberikan intuisi penting tentang bagaimana model-model ini memproses bahasa.
Mengapa kesalahan tokenisasi menyebabkan perilaku yang membingungkan dalam model bahasa?
Tokenisasi terjadi sebelum jaringan saraf melihat teks, sehingga setiap keanehan dalam cara string dipisahkan akan tertanam dalam representasi input model. Model juga dapat dieksploitasi melalui artefak tokenisasi, di mana string yang dibuat khusus melewati filter keamanan dengan di-tokenisasi dengan cara yang tidak terduga. Hal ini membuat desain tokenisasi yang kuat menjadi sangat penting untuk keandalan dan keamanan model.
Apakah ada cara untuk memvisualisasikan bagaimana BPE atau WordPiece melakukan tokenisasi pada teks tertentu?
Ya, sebagian besar pustaka NLP modern menyediakan alat untuk ini. Pustaka Hugging Face Transformers menyertakan metode tokenizer.decode dan tokenizer.convert_ids_to_tokens yang menunjukkan dengan tepat bagaimana teks dipisahkan. Ada juga alat visualisasi berbasis web di mana Anda dapat memasukkan teks dan melihat batas token yang disorot. Ini sangat berharga untuk men-debug perilaku model yang tidak terduga dan memahami mengapa input tertentu membingungkan sistem Anda.
Apa perbedaan BPE-dropout dengan BPE standar?
BPE-dropout, yang diperkenalkan pada tahun 2020, secara acak melewatkan beberapa operasi penggabungan selama pelatihan dengan probabilitas tertentu. Hal ini menciptakan beberapa tokenisasi valid untuk kata yang sama, yang berfungsi sebagai bentuk augmentasi data. Model yang dihasilkan menjadi lebih tangguh terhadap variasi tokenisasi dan umumnya berkinerja lebih baik pada tugas-tugas selanjutnya, terutama dengan data pelatihan yang terbatas. Ini adalah peningkatan yang sederhana namun efektif untuk algoritma BPE klasik.
Bisakah saya menggabungkan tokenisasi BPE dan WordPiece dalam pipeline yang sama?
Secara teknis dimungkinkan tetapi secara praktis tidak disarankan. Tokenizer yang berbeda menghasilkan ID token dan pemetaan kosakata yang tidak kompatibel, sehingga mencampurnya akan memerlukan lapisan penyelarasan yang cermat atau langkah tokenisasi ulang yang biasanya menurunkan kinerja. Jika Anda perlu menggabungkan model yang menggunakan tokenizer berbeda, pendekatan standar adalah melatih ulang atau menyesuaikan salah satu model agar sesuai dengan model lainnya, atau menggunakan tokenizer terpadu seperti SentencePiece untuk semua komponen sejak awal.
Putusan
Pilih BPE saat bekerja dengan model bergaya GPT atau saat Anda membutuhkan tokenisasi sederhana dan cepat yang menangani beragam teks termasuk kode dan data multibahasa. Pilih WordPiece saat membangun arsitektur berbasis BERT atau saat Anda menginginkan batas token yang lebih selaras dengan morfem linguistik. Bagi sebagian besar praktisi, keputusan tersebut pada dasarnya ditentukan oleh model pra-terlatih yang Anda pilih.