OpenAI
Halaman ini diterjemahkan oleh mesin. Lihat artikel asli dalam bahasa Inggris.

Apa itu token dan bagaimana cara menghitungnya?

Diperbarui: 4 days ago

Apa itu token?

Token adalah unit penyusun teks yang diproses oleh model OpenAI. Panjangnya bisa sesingkat satu karakter atau sepanjang satu kata utuh, tergantung bahasa dan konteksnya. Spasi, tanda baca, dan bagian kata turut menentukan jumlah token. Beginilah cara API membagi teks Anda secara internal sebelum menghasilkan respons.

Patokan praktis untuk bahasa Inggris:

  • 1 token ≈ 4 karakter

  • 1 token ≈ ¾ kata

  • 100 token ≈ 75 kata

  • 1–2 kalimat ≈ 30 token

  • 1 paragraf ≈ 100 token

  • ~1.500 kata ≈ 2.048 token

Tokenisasi berbeda-beda menurut model dan enkode. Gunakan alat Tokenizer atau tiktoken.encoding_for_model(model) untuk mendapatkan jumlah persis bagi model target Anda.

Contoh

Berikut beberapa contoh teks nyata beserta perkiraan jumlah tokennya:

  • Kutipan Wayne Gretzky, “Anda melewatkan 100% tembakan yang tidak Anda lakukan” = 11 token

  • Piagam OpenAI = 476 token

  • Deklarasi Kemerdekaan AS = 1.695 token

Cara menghitung jumlah token

Saat Anda mengirim teks ke API:

  1. Teks dipecah menjadi token.

  2. Model memproses token tersebut.

  3. Respons dihasilkan sebagai rangkaian token, lalu dikonversi kembali menjadi teks.

Penggunaan token dilacak dalam beberapa kategori:

  • Token input – token dalam permintaan Anda.

  • Token output – token yang dihasilkan dalam respons.

  • Token yang di-cache – token dari riwayat percakapan yang digunakan kembali (sering kali dikenai tarif lebih rendah).

  • Token penalaran – pada beberapa model canggih, “langkah berpikir” tambahan disertakan secara internal sebelum menghasilkan output akhir.

Jumlah ini tercantum dalam metadata respons API Anda dan digunakan untuk penagihan serta pelacakan penggunaan.

Untuk mempelajari tokenisasi lebih lanjut, Anda dapat menggunakan alat Tokenizer interaktif kami untuk menghitung jumlah token dan melihat cara teks dipecah menjadi token.

Atau, jika ingin memecah teks menjadi token secara terprogram, gunakan Tiktoken, tokenizer BPE cepat yang dirancang khusus untuk model OpenAI.

Batas Token

Setiap model memiliki batas maksimum gabungan token (input + output). Model berkapasitas tinggi saat ini mendukung hingga ratusan ribu token dalam konteks, meskipun batas praktisnya dapat berbeda tergantung versi model dan tingkat penggunaan Anda.

Jika melampaui batas, Anda dapat:

  • Mempersingkat atau menyusun ulang prompt.

  • Membagi teks panjang menjadi bagian-bagian yang lebih kecil.

  • Meringkas atau melakukan prapemrosesan input sebelum mengirimkannya.

Harga Token

Biaya penggunaan API dihitung per token dan berbeda menurut model serta jenis tokennya: input, output, atau yang di-cache. Lihat halaman harga OpenAI untuk mengetahui tarif terbaru. Beberapa model penalaran mungkin menggunakan lebih banyak token secara internal, tetapi dirancang untuk meningkatkan efisiensi dengan mengurangi jumlah token yang diperlukan per tugas yang diselesaikan.

Token tidak distandardisasi di seluruh model atau penyedia AI. Model yang berbeda dapat memproses atau menghasilkan teks yang sama dengan jumlah token berbeda. Karena itu, harga per sejuta token yang diiklankan lebih rendah belum tentu berarti biaya totalnya lebih rendah.

Panjang respons yang terlihat juga tidak menggambarkan keseluruhan penggunaan. Beberapa model menggunakan token penalaran secara internal sebelum menghasilkan jawaban. Jadi, respons yang terlihat lebih panjang belum tentu berarti model tersebut menggunakan lebih banyak token secara keseluruhan.

Saat membandingkan model, pertimbangkan jumlah total token yang diperlukan dan biaya per hasil yang berhasil. Tolok ukur dapat menjadi titik awal yang berguna, tetapi menguji model pada kasus penggunaan Anda sendiri adalah cara terbaik untuk memahami biaya dan kinerja sebenarnya.

Mempelajari token

API memperlakukan kata berdasarkan konteksnya dalam data korpus. Model menerima prompt, mengonversi input menjadi daftar token, memproses prompt, lalu mengonversi token prediksi kembali menjadi kata-kata yang kita lihat dalam respons.

Dua kata yang tampak sama bagi kita dapat menghasilkan token berbeda, tergantung susunannya dalam teks. Perhatikan cara API menghasilkan nilai token untuk kata ‘red’ berdasarkan konteksnya dalam teks:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

Dalam contoh pertama di atas, token “2266” untuk ‘ red’ menyertakan spasi di belakang (Catatan: ID token ini hanyalah contoh untuk tujuan demonstrasi).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

Token “2296” untuk ‘ Red’ (dengan spasi di depan dan diawali huruf kapital) berbeda dari token “2266” untuk ‘ red’ yang menggunakan huruf kecil.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

Saat ‘Red’ digunakan pada awal kalimat, token yang dihasilkan tidak menyertakan spasi di depan. Token “7738” berbeda dari dua contoh kata sebelumnya.

Pengamatan:

Semakin besar kemungkinan atau frekuensi suatu token, semakin rendah nomor token yang diberikan kepadanya:

  • Token yang dihasilkan untuk tanda titik sama (“13”) pada ketiga kalimat. Hal ini karena, secara kontekstual, tanda titik digunakan dengan cara yang hampir sama di seluruh data korpus.

  • Token yang dihasilkan untuk ‘red’ berbeda-beda menurut posisinya dalam kalimat:

    • Huruf kecil di tengah kalimat: ‘ red’ - (token: “2266”)

    • Huruf kapital di tengah kalimat: ‘ Red’ - (token: “2297”)

    • Huruf kapital di awal kalimat: ‘Red’ - (token: “7738”)

Apakah artikel ini membantu?