Lewati ke konten

Penghitung Token Gratis untuk GPT-4, ChatGPT & Model AI

Penghitung token akurat menggunakan pustaka tiktoken OpenAI. Hitung token untuk model GPT-4, ChatGPT, dan GPT-3. Kelola biaya API dan optimalkan prompt AI secara instan.

Penghitung Token

Pengodean

Masukan tidak valid

Kalkulator pemuatan...
📚

Dokumentasi

Apa Itu Penghitung Token?

Penghitung token mengukur berapa banyak token yang dihasilkan ketika sebuah model bahasa AI membaca suatu teks. Token adalah potongan-potongan kecil teks—kata utuh, bagian kata, atau tanda baca—yang diproses oleh model seperti GPT-4 dan ChatGPT, bukan huruf mentah. Alat ini menggunakan tiktoken, pustaka tokenizer sumber terbuka yang diterbitkan oleh OpenAI, sehingga jumlahnya sesuai dengan hasil model dan API milik OpenAI.

Cara Kerja Tokenisasi

Tokenizer tidak sekadar menghitung kata. Tokenizer menjalankan teks melalui algoritme yang disebut byte pair encoding (BPE). Algoritme ini dimulai dari setiap byte teks, lalu berulang kali menggabungkan pasangan bersebelahan yang paling umum berdasarkan pola yang dipelajari dari kumpulan besar teks selama pelatihan. Hasilnya adalah kosakata tetap berupa puluhan ribu potongan umum: kata-kata pendek utuh, fragmen kata yang sering muncul, dan karakter tunggal untuk teks yang jarang muncul.

Karena itu, satu kata dalam bahasa Inggris sering menjadi satu token, tetapi kata yang lebih panjang atau tidak umum dapat terpecah menjadi dua token atau lebih. Spasi biasanya melekat pada awal token berikutnya, bukan dihitung sendiri, dan tanda baca biasanya menjadi token tersendiri.

Encoding yang Didukung Alat Ini

Tiktoken menyediakan beberapa encoding, yang masing-masing terkait dengan suatu keluarga model OpenAI. Alat ini mendukung tiga encoding:

EncodingDigunakan olehPerkiraan ukuran kosakata
cl100k_baseModel keluarga GPT-3,5 dan GPT-4, ChatGPTsekitar 100.000 token
p50k_baseModel GPT-3 yang lebih barusekitar 50.000 token
r50k_baseModel GPT-3 dan GPT-2 yang lebih lamasekitar 50.000 token

cl100k_base dipilih secara default karena mencakup keluarga model yang paling banyak digunakan saat ini. Teks yang sama dapat menghasilkan jumlah token yang berbeda pada setiap encoding karena masing-masing dilatih menggunakan teks yang berbeda dan menggabungkan karakter dengan cara yang berbeda.

Cara Menghitung Jumlah Token

Tidak ada rumus aritmetika sederhana untuk mengubah jumlah karakter atau jumlah kata menjadi jumlah token karena penggabungan BPE bergantung pada teks tertentu dan kosakata yang telah dilatih. Satu-satunya metode yang tepat adalah menjalankan teks melalui tokenizer itu sendiri:

  1. Pilih encoding yang sesuai dengan model target.
  2. Masukkan teks ke tokenizer encoding tersebut.
  3. Hitung daftar ID token yang dihasilkan. Panjang daftar tersebut adalah jumlah token.

Sebagai perkiraan kasar untuk teks bahasa Inggris, satu token mendekati empat karakter, atau sekitar tiga perempat kata. Ini hanya panduan. Angka, kode, teks nonbahasa Inggris, dan ejaan yang tidak umum dapat mengubah perbandingan tersebut secara signifikan.

Contoh perhitungan

Perhatikan kalimat berikut:

Tokenisasi membagi teks menjadi beberapa bagian.

Dengan encoding cl100k_base, tiktoken memecahnya menjadi 7 token:

Token, ization, splits, text, into, pieces, .

Perhatikan bahwa "Tokenization" sendiri terpecah menjadi dua token, "Token" dan "ization", sedangkan semua kata lainnya tetap utuh. Titik di akhir menjadi token tersendiri. Karena itu, kalimat sepanjang 37 karakter dengan 5 kata menghasilkan 7 token, bukan 6.

Mengapa Jumlah Token Penting

Penyedia AI mengenakan biaya penggunaan API berdasarkan token, dengan menghitung teks yang dikirim dan teks yang dihasilkan sebagai respons, sehingga jumlah token dapat memperkirakan biaya sebelum permintaan dikirim. Setiap model juga memiliki panjang konteks maksimum, yaitu batas jumlah token yang dapat dimuat secara bersama-sama dalam satu permintaan dan balasannya. Batas tersebut berbeda-beda menurut model dan berubah ketika penyedia merilis versi baru. Karena itu, sebaiknya periksa dokumentasi terbaru untuk model yang digunakan, bukan mengandalkan ingatan.

Pertanyaan yang sering diajukan

Apa itu token dalam model bahasa AI? Token adalah potongan teks yang dibaca model bahasa sebagai satu unit. Token dapat berupa kata pendek yang utuh, bagian dari kata yang lebih panjang, tanda baca, atau spasi yang melekat pada kata berikutnya.

Mengapa encoding yang berbeda menghasilkan jumlah token yang berbeda untuk teks yang sama? Setiap encoding dilatih menggunakan sampel teksnya sendiri dan membangun kosakata potongan umum sendiri. Kata yang cukup umum untuk menjadi satu token dalam satu kosakata mungkin tidak terdapat sebagai satu token dalam kosakata lain, sehingga terpecah dengan cara yang berbeda.

Apakah tanda baca dihitung sebagai token? Ya. Tanda baca biasanya dihitung sebagai token tersendiri, atau terkadang digabungkan dengan karakter di sebelahnya, bergantung pada seberapa sering kombinasi tersebut muncul selama pelatihan tokenizer.

Apakah token sama dengan kata? Tidak. Kata-kata pendek dan umum biasanya menjadi satu token masing-masing. Kata yang lebih panjang atau kurang umum, serta sebagian besar kata di luar bahasa Inggris, sering terpecah menjadi dua token atau lebih.

Seberapa akurat alat ini? Alat ini menghitung token menggunakan pustaka tiktoken milik OpenAI, dengan menjalankan logika encoding yang sama seperti yang digunakan OpenAI secara internal. Karena itu, jumlahnya sesuai dengan yang akan dilaporkan oleh panggilan API OpenAI untuk teks dan encoding yang sama.

Apakah alat ini dapat menghitung token untuk model non-OpenAI? Alat ini menggunakan encoding tiktoken yang dibuat untuk model OpenAI. Penyedia lain, seperti Anthropic atau Google, menggunakan tokenizer mereka sendiri, yang dapat menghasilkan jumlah berbeda untuk teks yang sama.

Referensi

  1. OpenAI. "tiktoken." GitHub, https://github.com/openai/tiktoken.
  2. Sennrich, Rico, dkk. "Neural Machine Translation of Rare Words with Subword Units." arXiv:1508,07909, 2016, http://arxiv.org/abs/1508.07909.
  3. Brown, Tom B., dkk. "Language Models are Few-Shot Learners." arXiv:2005,14165, 2020, http://arxiv.org/abs/2005.14165.