Memahami token
Token adalah kata, set karakter, atau kombinasi kata dan tanda baca yang dihasilkan oleh model bahasa besar (LLM) saat menguraikan teks. Tokenisasi adalah langkah pertama dalam pelatihan. LLM menganalisis hubungan semantik antara token, seperti seberapa umum mereka digunakan bersama-sama atau apakah mereka digunakan dalam konteks yang sama. Setelah pelatihan, LLM menggunakan pola dan hubungan tersebut untuk menghasilkan urutan token output berdasarkan urutan input.
Mengubah teks menjadi token
Sekumpulan token unik tempat LLM dilatih dikenal sebagai kosakatanya.
Misalnya, pertimbangkan kalimat berikut:
I heard a dog bark loudly at a cat
Teks ini dapat ditokenisasi sebagai:
I
heard
a
dog
bark
loudly
at
a
cat
Dengan memiliki sekumpulan teks pelatihan yang cukup besar, tokenisasi dapat mengkompilasi kosakata ribuan token.
Metode tokenisasi umum
Metode tokenisasi khusus bervariasi menurut LLM. Metode tokenisasi umum meliputi:
- Tokenisasi word (teks dibagi menjadi kata individual berdasarkan pemisah)
- Tokenisasi karakter (teks dibagi menjadi karakter individual)
- Tokenisasi subkata (teks dibagi menjadi kata parsial atau set karakter)
Misalnya, model GPT, yang dikembangkan oleh OpenAI, menggunakan jenis tokenisasi subkata yang dikenal sebagai Byte-Pair Encoding (BPE). OpenAI menyediakan alat untuk memvisualisasikan bagaimana teks akan ditokenisasi.
Ada manfaat dan kerugian untuk setiap metode tokenisasi:
Ukuran token | Pro | Kontra |
---|---|---|
Token yang lebih kecil (tokenisasi karakter atau subkata) | - Memungkinkan model untuk menangani berbagai input yang lebih luas, seperti kata-kata yang tidak diketahui, kesalahan ketik, atau sintaks yang kompleks. - Mungkin memungkinkan ukuran kosakata dikurangi, membutuhkan lebih sedikit sumber daya memori. |
- Teks tertentu dipecah menjadi lebih banyak token, membutuhkan sumber daya komputasi tambahan saat diproses. - Mengingat batas token tetap, ukuran maksimum input dan output model lebih kecil. |
Token yang lebih besar (tokenisasi kata) | - Teks tertentu dipecah menjadi lebih sedikit token, membutuhkan lebih sedikit sumber daya komputasi saat memproses. - Mengingat batas token yang sama, ukuran maksimum input dan output model lebih besar. |
- Dapat menyebabkan peningkatan ukuran kosakata, membutuhkan lebih banyak sumber daya memori. - Dapat membatasi kemampuan model untuk menangani kata-kata, kesalahan ketik, atau sintaks yang kompleks yang tidak diketahui. |
Bagaimana LLM menggunakan token
Setelah LLM menyelesaikan tokenisasi, LLM menetapkan ID ke setiap token unik.
Pertimbangkan contoh kalimat kami:
I heard a dog bark loudly at a cat
Setelah model menggunakan metode tokenisasi kata, model dapat menetapkan ID token sebagai berikut:
-
I
(1) -
heard
(2) -
a
(3) -
dog
(4) -
bark
(5) -
loudly
(6) -
at
(7) -
a
(token "a" sudah diberi ID 3) -
cat
(8)
Dengan menetapkan ID, teks dapat direpresentasikan sebagai urutan ID token. Contoh kalimat akan diwakili sebagai [1, 2, 3, 4, 5, 6, 7, 3, 8]. Kalimat "I heard a cat
" akan diwakili sebagai [1, 2, 3, 8].
Saat pelatihan berlanjut, model menambahkan token baru dalam teks pelatihan ke kosakatanya dan menetapkannya id. Contohnya:
-
meow
(9) -
run
(10)
Hubungan semantik antara token dapat dianalisis dengan menggunakan urutan ID token ini. Vektor numerik multinilai, yang dikenal sebagai penyematan, digunakan untuk mewakili hubungan ini. Penyematan ditetapkan ke setiap token berdasarkan seberapa umum digunakan bersama dengan, atau dalam konteks yang sama dengan, token lainnya.
Setelah dilatih, model dapat menghitung penyematan untuk teks yang berisi beberapa token. Model ini mentokenisasi teks, lalu menghitung nilai penyematan keseluruhan berdasarkan penyematan token individual yang dipelajari. Teknik ini dapat digunakan untuk pencarian dokumen semantik atau menambahkan penyimpanan vektor ke AI.
Selama pembuatan output, model memprediksi nilai vektor untuk token berikutnya secara berurutan. Model kemudian memilih token berikutnya dari kosakatanya berdasarkan nilai vektor ini. Dalam praktiknya, model menghitung beberapa vektor dengan menggunakan berbagai elemen penyematan token sebelumnya. Model kemudian mengevaluasi semua token potensial dari vektor ini dan memilih yang paling mungkin untuk melanjutkan urutan.
Pembuatan output adalah operasi berulang. Model menambahkan token yang diprediksi ke urutan sejauh ini dan menggunakannya sebagai input untuk iterasi berikutnya, membangun output akhir satu token pada satu waktu.
Batas token
LLM memiliki batasan mengenai jumlah maksimum token yang dapat digunakan sebagai input atau dihasilkan sebagai output. Batasan ini sering menyebabkan token input dan output digabungkan ke dalam jendela konteks maksimum. Diambil bersama-sama, batas token model dan metode tokenisasi menentukan panjang maksimum teks yang dapat disediakan sebagai input atau dihasilkan sebagai output.
Misalnya, pertimbangkan model yang memiliki jendela konteks maksimum 100 token. Model memproses contoh kalimat sebagai teks input:
I heard a dog bark loudly at a cat
Dengan menggunakan metode tokenisasi berbasis kata, inputnya adalah sembilan token. Ini membuat 91 token kata tersedia untuk output.
Dengan menggunakan metode tokenisasi berbasis karakter, inputnya adalah 34 token (termasuk spasi). Ini hanya menyisakan 66 token karakter yang tersedia untuk output.
Harga berbasis token dan pembatasan tarif
Layanan AI generatif sering menggunakan harga berbasis token. Biaya setiap permintaan tergantung pada jumlah token input dan output. Harga mungkin berbeda antara input dan output. Misalnya, lihat Harga Layanan Azure OpenAI.
Layanan AI generatif mungkin juga dibatasi mengenai jumlah maksimum token per menit (TPM). Batas tarif ini dapat bervariasi tergantung pada wilayah layanan dan LLM. Untuk informasi selengkapnya tentang wilayah tertentu, lihat Kuota dan batas layanan Azure OpenAI.