Tokenization (NLP) (ID)

From Systems analysis Wiki
Jump to navigation Jump to search

Tokenisasi dalam konteks model bahasa besar (LLM) adalah proses pra-pemrosesan fundamental yang terdiri dari pemecahan urutan teks menjadi satuan-satuan lebih kecil yang dapat dikelola, yang disebut token. Token-token ini kemudian diubah menjadi pengenal numerik yang dapat diproses oleh model. Tokenisasi merupakan langkah pertama yang sangat penting karena secara langsung memengaruhi kinerja, efisiensi, keadilan, dan kualitas pemahaman bahasa oleh model.

Konsep Dasar

Token

Token adalah satuan teks diskret yang diproses oleh model bahasa. Bergantung pada metode tokenisasi yang dipilih, sebuah token dapat berupa:

  • Sebuah kata utuh (misalnya, «kucing»).
  • Bagian dari kata atau subkata (misalnya, «ke-», «-pergi-», «-an»).
  • Karakter individual (misalnya, «a», «b», «c»).
  • Byte (dalam kasus tokenisasi byte-level).

Setiap token unik diberi nomor indeks spesifik dari kamus tokenizer.

Kamus Tokenizer

Kamus (atau vocabulary) adalah kumpulan lengkap semua token yang mungkin dapat dikenali oleh model. Ukuran kamus merupakan hiperparameter penting:

  • Kamus yang besar memungkinkan representasi lebih banyak kata secara utuh, yang meningkatkan pemahaman dan mempersingkat panjang urutan, namun memperbesar ukuran model dan kompleksitas pelatihan.
  • Kamus yang kecil lebih ringkas, tetapi memerlukan pemecahan kata-kata langka atau kompleks menjadi lebih banyak subkata, yang dapat memperpanjang urutan dan mempersulit penangkapan semantik.

Ukuran kamus sangat bervariasi antar model: dari ~50.000 token pada GPT-2 hingga lebih dari 100.000 pada model-model modern seperti GPT-4 (100.277) dan LLaMA-3 (128.000).

Metode Tokenisasi Utama

Terdapat tiga tingkat granularitas tokenisasi yang utama.

1. Tokenisasi Tingkat Kata (Word-level)

  • Prinsip: Teks dibagi menjadi kata-kata individual berdasarkan pemisah (spasi, tanda baca).
  • Keunggulan: Intuitif; urutan token lebih pendek sehingga mengurangi beban komputasi.
  • Kelemahan:
    • Masalah kata tak dikenal (Out-of-Vocabulary, OOV): Model tidak dapat memproses kata-kata yang tidak ada dalam kamus pelatihan, termasuk kesalahan ejaan dan kata-kata baru.
    • Ukuran kamus yang besar: Diperlukan penyimpanan semua kata unik, yang sangat problematik untuk bahasa dengan morfologi yang kaya.

2. Tokenisasi Tingkat Karakter (Character-level)

  • Prinsip: Teks dipecah menjadi karakter-karakter individual.
  • Keunggulan:
    • Tidak ada masalah OOV: Setiap kata dapat direpresentasikan sebagai urutan karakter.
    • Kamus kecil: Terbatas pada ukuran alfabet dan karakter khusus.
  • Kelemahan:
    • Urutan yang panjang: Teks diubah menjadi urutan token yang sangat panjang, yang secara signifikan meningkatkan biaya komputasi.
    • Kehilangan semantik: Model lebih sulit menangkap makna karena beroperasi pada karakter individual, bukan kata-kata utuh.

3. Tokenisasi Subkata (Subword Tokenization)

Ini adalah pendekatan perantara dan paling populer saat ini, yang menggabungkan keunggulan metode-metode sebelumnya.

  • Prinsip: Kata-kata yang sering digunakan tetap menjadi token utuh, sementara kata-kata langka atau tidak dikenal dipecah menjadi bagian-bagian yang lebih kecil dan bermakna (subkata).
  • Keunggulan:
    • Menangani kata-kata OOV dan variasi morfologis secara efektif.
    • Ukuran kamus yang terkontrol.
    • Menangkap struktur morfologis kata.
  • Algoritma utama:
    • Byte Pair Encoding (BPE): Algoritma iteratif yang dimulai dari sekumpulan karakter dan secara berurutan menggabungkan pasangan yang paling sering muncul menjadi token baru. Digunakan dalam model GPT. Byte-level BPE, yang digunakan dalam GPT-2 dan RoBERTa, memperlakukan kata sebagai urutan byte, yang sepenuhnya menyelesaikan masalah OOV.
    • WordPiece: Algoritma yang mirip dengan BPE, tetapi untuk penggabungan pasangan, dipilih yang memaksimalkan likelihood data pelatihan. Digunakan dalam model BERT.
    • Unigram LM: Berbeda dengan BPE/WordPiece, metode ini dimulai dari kumpulan subkata yang besar dan secara bertahap menguranginya dengan menghapus token yang paling sedikit memengaruhi probabilitas keseluruhan korpus. Hal ini memungkinkan pembuatan beberapa tokenisasi yang mungkin untuk satu kata (regularisasi subkata).
  • Toolkit SentencePiece: Pustaka dari Google yang mengimplementasikan BPE dan Unigram LM serta memproses teks sebagai aliran karakter yang kontinu, menjadikannya universal untuk bahasa tanpa pemisah kata yang jelas (misalnya, bahasa Mandarin). Digunakan dalam model LLaMA dan T5.

Tokenisasi dalam LLM Multimodal

Dalam model multimodal yang tidak hanya bekerja dengan teks, tokenisasi juga diterapkan pada jenis data lainnya:

  • Tokenisasi visual: Gambar dipecah menjadi patch-patch kecil (misalnya, 16x16 piksel), yang kemudian diubah menjadi vektor token, serupa dengan teks.
  • Tokenisasi audio: Sinyal audio yang kontinu diubah menjadi urutan token diskret yang merepresentasikan fragmen suara pendek.
  • Pendekatan terpadu (TEAL): Konsep di mana data dari modalitas apa pun pertama-tama ditokenisasi menggunakan tokenizer yang sesuai, kemudian embedding-nya diproses dalam satu ruang bersama.

Masalah dan Keterbatasan

Tokenisasi, meskipun penting, merupakan sumber berbagai masalah dalam cara kerja LLM:

  • Ketidakkonsistenan dan sensitivitas: Perubahan kecil pada data masukan (kesalahan ketik, huruf besar/kecil, spasi di akhir) dapat mengubah tokenisasi secara drastis, yang mengakibatkan perilaku model yang tidak terduga.
  • Masalah multibahasa: Kamus tunggal untuk banyak bahasa sering kali tidak efisien untuk bahasa berdaya rendah atau bahasa yang kaya secara morfologis, menghasilkan urutan token yang terlalu panjang.
  • Pengaruh terhadap penalaran: Pemecahan angka yang tidak logis (misalnya, «25.000» menjadi «25», «,», «000») atau simbol-simbol mempersulit pelaksanaan tugas aritmetika dan simbolik.
  • Glitch Token: Token anomali atau langka dari data pelatihan (misalnya, nama pengguna dari Reddit) yang dapat memicu perilaku model yang tidak terduga atau berbahaya.

Lanskap yang Berkembang dan Arah Masa Depan

Penelitian di bidang tokenisasi aktif dilakukan dalam arah-arah berikut:

  • Model tanpa tokenizer: Pengembangan model (CANINE, ByT5) yang bekerja langsung pada tingkat byte atau karakter untuk sepenuhnya menghilangkan tahap tokenisasi eksplisit beserta masalah-masalah yang terkait.
  • Tokenisasi adaptif dan dapat dilatih: Pembuatan tokenizer yang dapat beradaptasi secara dinamis terhadap bahasa, domain, atau bahkan teks masukan tertentu, atau yang dilatih bersama dengan model utama.
  • Pendekatan berbasis kognitif: Pengembangan metode yang terinspirasi dari ilmu kognitif tentang pemrosesan bahasa manusia (misalnya, «Prinsip Upaya Minimum») untuk menciptakan tokenisasi yang lebih bermakna secara semantik.

Tautan

  • Tinjauan tokenisasi dalam kursus LLM dari Hugging Face
  • Dokumentasi tokenisasi dari Mistral AI

Literatur

  • Schuster, M.; Nakajima, K. (2012). Japanese and Korean Voice Search. PDF.
  • Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
  • Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
  • Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
  • Song, X. et al. (2021). Fast WordPiece Tokenization. ACL-Anthology.
  • Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
  • Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
  • Clark, J. H. et al. (2022). CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation. arXiv:2103.06874.
  • Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling. arXiv:2305.17179.
  • Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-Tuning of NMT. arXiv:2303.00722.
  • Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
  • Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.