ਟੋਕਨ ਗਿਣਤੀ
Token Counter
Introduction
Token Counter ਇੱਕ ਟੂਲ ਹੈ ਜੋ tiktoken ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਦਿੱਤੇ ਗਏ ਸਟਰਿੰਗ ਵਿੱਚ ਟੋਕਨਾਂ ਦੀ ਗਿਣਤੀ ਕਰਦਾ ਹੈ। ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਪ੍ਰਕਿਰਿਆ (NLP) ਵਿੱਚ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਕਦਮ ਹੈ ਅਤੇ ਇਹ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਮਾਡਲਾਂ, ਲੇਖ ਵਿਸ਼ਲੇਸ਼ਣ, ਅਤੇ ਭਾਸ਼ਾ ਸਮਝਣ ਵਾਲੇ ਸਿਸਟਮਾਂ ਸਮੇਤ ਵੱਖ-ਵੱਖ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
How to Use This Tool
- ਦਿੱਤੇ ਗਏ ਟੈਕਸਟ ਖੇਤਰ ਵਿੱਚ ਉਹ ਟੈਕਸਟ ਦਰਜ ਕਰੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਟੋਕਨਾਈਜ਼ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
- ਡਰਾਪਡਾਊਨ ਮੇਨੂ ਵਿੱਚੋਂ ਕੋਡਿੰਗ ਐਲਗੋਰਿਦਮ ਚੁਣੋ। ਉਪਲਬਧ ਵਿਕਲਪ ਹਨ:
- CL100K_BASE
- P50K_BASE
- R50K_BASE
- ਟੂਲ ਆਪਣੇ ਆਪ ਟੋਕਨ ਗਿਣਤੀ ਦੀ ਗਿਣਤੀ ਕਰੇਗਾ ਅਤੇ ਦਿਖਾਏਗਾ।
- ਤੁਸੀਂ "Copy Result" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਨਤੀਜਾ ਆਪਣੇ ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰ ਸਕਦੇ ਹੋ।
Tokenization Process
ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਇੱਕ ਪ੍ਰਕਿਰਿਆ ਹੈ ਜੋ ਲੇਖ ਨੂੰ ਛੋਟੇ ਇਕਾਈਆਂ ਵਿੱਚ ਤੋੜਦੀ ਹੈ ਜਿਸਨੂੰ ਟੋਕਨ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਟੋਕਨ ਸ਼ਬਦ, ਉਪਸ਼ਬਦ, ਜਾਂ ਅੱਖਰ ਹੋ ਸਕਦੇ ਹਨ, ਜੋ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। tiktoken ਲਾਇਬ੍ਰੇਰੀ, ਜੋ OpenAI ਦੁਆਰਾ ਵਿਕਸਿਤ ਕੀਤੀ ਗਈ ਹੈ, ਉਹ ਸੁਗਮ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਐਲਗੋਰਿਦਮਾਂ ਨੂੰ ਲਾਗੂ ਕਰਦੀ ਹੈ ਜੋ GPT-3 ਅਤੇ GPT-4 ਵਰਗੇ ਮਾਡਲਾਂ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
Encoding Algorithms
-
CL100K_BASE: ਇਹ OpenAI ਮਾਡਲਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਸਭ ਤੋਂ ਨਵਾਂ ਕੋਡਿੰਗ ਹੈ। ਇਹ ਵੱਖ-ਵੱਖ ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਖਾਸ ਅੱਖਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ।
-
P50K_BASE: ਕੁਝ GPT-3 ਮਾਡਲਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਪੁਰਾਣਾ ਕੋਡਿੰਗ। ਇਸ ਵਿੱਚ ਲਗਭਗ 50,000 ਟੋਕਨਾਂ ਦੀ ਸ਼ਬਦਕੋਸ਼ ਹੈ।
-
R50K_BASE: ਪਹਿਲੇ GPT-3 ਮਾਡਲਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਹੋਰ ਕੋਡਿੰਗ, ਜਿਸ ਵਿੱਚ ਵੀ ਲਗਭਗ 50,000 ਟੋਕਨਾਂ ਦੀ ਸ਼ਬਦਕੋਸ਼ ਹੈ।
Use Cases
ਟੋਕਨ ਗਿਣਤੀ ਅਤੇ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਦੇ ਕੁਝ ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਪ੍ਰਕਿਰਿਆ ਅਤੇ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਐਪਲੀਕੇਸ਼ਨ ਹਨ:
-
ਭਾਸ਼ਾ ਮਾਡਲ ਟ੍ਰੇਨਿੰਗ: ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਵੱਡੇ ਭਾਸ਼ਾ ਮਾਡਲਾਂ ਜਿਵੇਂ GPT-3 ਅਤੇ BERT ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪ੍ਰੀ-ਪ੍ਰਕਿਰਿਆ ਕਦਮ ਹੈ।
-
ਟੈਕਸਟ ਵਰਗੀਕਰਨ: ਟੋਕਨਾਈਜ਼ ਕੀਤੀ ਗਈ ਟੈਕਸਟ ਬਹੁਤ ਵਾਰ ਟੈਕਸਟ ਵਰਗੀਕਰਨ ਕਾਰਜਾਂ ਲਈ ਇਨਪੁਟ ਵਜੋਂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਭਾਵਨਾ ਵਿਸ਼ਲੇਸ਼ਣ ਜਾਂ ਵਿਸ਼ਾ ਵਰਗੀਕਰਨ।
-
ਮਸ਼ੀਨ ਅਨੁਵਾਦ: ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਵਾਕਾਂ ਨੂੰ ਅਨੁਵਾਦ ਸਿਸਟਮਾਂ ਲਈ ਪ੍ਰਬੰਧਿਤ ਇਕਾਈਆਂ ਵਿੱਚ ਤੋੜਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ।
-
ਸੂਚਨਾ ਪ੍ਰਾਪਤੀ: ਖੋਜ ਇੰਜਣ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਦਾ ਇਸਤੇਮਾਲ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਇੰਡੈਕਸ ਕਰਨ ਅਤੇ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਮਿਲਾਉਣ ਲਈ ਕਰਦੇ ਹਨ।
-
ਟੈਕਸਟ ਸੰਖੇਪ: ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਮਹੱਤਵਪੂਰਨ ਸ਼ਬਦਾਂ ਅਤੇ ਵਾਕਾਂ ਨੂੰ ਪਛਾਣਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਤਾਂ ਜੋ ਸੰਖੇਪ ਬਣਾਇਆ ਜਾ ਸਕੇ।
-
ਚੈਟਬੋਟ ਅਤੇ ਸੰਵਾਦੀ AI: ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਵਰਤੋਂਕਾਰ ਦੀਆਂ ਇਨਪੁਟਾਂ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਉਚਿਤ ਜਵਾਬ ਪੈਦਾ ਕਰਨ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
-
ਸਮੱਗਰੀ ਮੋਡਰੇਸ਼ਨ: ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਸਮੱਗਰੀ ਮੋਡਰੇਸ਼ਨ ਸਿਸਟਮਾਂ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਸ਼ਬਦਾਂ ਜਾਂ ਵਾਕਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀ ਹੈ।
Alternatives
ਜਦੋਂ ਕਿ ਇਹ ਟੂਲ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਲਈ tiktoken ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਹੋਰ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਤਰੀਕੇ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਉਪਲਬਧ ਹਨ:
-
NLTK (ਨੈਚਰਲ ਲੈਂਗਵੇਜ ਟੂਲਕਿਟ): NLP ਕਾਰਜਾਂ ਲਈ ਇੱਕ ਪ੍ਰਸਿੱਧ ਪਾਇਥਨ ਲਾਇਬ੍ਰੇਰੀ, ਜਿਸ ਵਿੱਚ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਵੀ ਸ਼ਾਮਲ ਹੈ।
-
spaCy: ਇੱਕ ਹੋਰ ਸ਼ਕਤੀਸ਼ਾਲੀ NLP ਲਾਇਬ੍ਰੇਰੀ ਜੋ ਪ੍ਰਦਰਸ਼ਨਸ਼ੀਲ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਦੇ ਨਾਲ ਨਾਲ ਹੋਰ ਭਾਸ਼ਾ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।
-
WordPiece: BERT ਅਤੇ ਹੋਰ ਟ੍ਰਾਂਸਫਾਰਮਰ ਮਾਡਲਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਉਪਸ਼ਬਦ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਐਲਗੋਰਿਦਮ।
-
Byte Pair Encoding (BPE): ਇੱਕ ਡੇਟਾ ਸੰਕੋਚਨ ਤਕਨੀਕ ਜੋ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਲਈ ਅਨੁਕੂਲਿਤ ਕੀਤੀ ਗਈ ਹੈ, ਜੋ GPT-2 ਜਿਹੇ ਮਾਡਲਾਂ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
-
SentencePiece: ਇੱਕ ਬਿਨਾ ਨਿਗਰਾਨੀ ਵਾਲੀ ਟੈਕਸਟ ਟੋਕਨਾਈਜ਼ਰ ਅਤੇ ਡੀਟੋਕਨਾਈਜ਼ਰ, ਮੁੱਖ ਤੌਰ 'ਤੇ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਆਧਾਰਿਤ ਟੈਕਸਟ ਪੈਦਾ ਕਰਨ ਵਾਲੇ ਸਿਸਟਮਾਂ ਲਈ।
History
ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਇੱਕ ਮੂਲ ਧਾਰਨਾ ਰਹੀ ਹੈ। ਹਾਲਾਂਕਿ, ਆਧੁਨਿਕ ਭਾਸ਼ਾ ਮਾਡਲਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਵਿਸ਼ੇਸ਼ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਤਰੀਕਿਆਂ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਤਬਦੀਲੀਆਂ ਆਈਆਂ ਹਨ:
-
ਸ਼ਬਦ-ਆਧਾਰਿਤ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ: ਪਹਿਲੇ NLP ਸਿਸਟਮਾਂ ਨੇ ਸਧਾਰਨ ਸ਼ਬਦ-ਆਧਾਰਿਤ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕੀਤੀ, ਜੋ ਖਾਲੀ ਥਾਂ ਅਤੇ ਪੁਨਰਵਿਰਾਮਾਂ 'ਤੇ ਲੇਖ ਨੂੰ ਤੋੜਦੀ ਹੈ।
-
ਨਿਯਮ-ਆਧਾਰਿਤ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ: ਹੋਰ ਸੁਖਮਈ ਸਿਸਟਮਾਂ ਨੇ ਜਟਿਲ ਮਾਮਲਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਭਾਸ਼ਾਈ ਨਿਯਮਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ, ਜਿਵੇਂ ਕਿ ਸੰਕੁਚਨ ਅਤੇ ਜੋੜੇ ਸ਼ਬਦ।
-
ਸੰਖਿਆਕੀ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ: ਡੇਟਾ ਤੋਂ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਪੈਟਰਨ ਸਿੱਖਣ ਲਈ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਤਕਨੀਕਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕੀਤੀ ਗਈ।
-
ਉਪਸ਼ਬਦ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ: ਡੀਪ ਲਰਨਿੰਗ ਦੇ ਉੱਪਰ ਆਧਾਰਿਤ NLP ਵਿੱਚ, ਉਪਸ਼ਬਦ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਤਰੀਕੇ ਜਿਵੇਂ Byte Pair Encoding (BPE) ਅਤੇ WordPiece ਪ੍ਰਸਿੱਧ ਹੋ ਗਏ। ਇਹ ਤਰੀਕੇ ਬਾਹਰ ਦੇ ਸ਼ਬਦਾਂ ਨੂੰ ਸੰਭਾਲ ਸਕਦੇ ਹਨ ਅਤੇ ਕਈ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦੇ ਹਨ।
-
Tiktoken ਅਤੇ GPT ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ: OpenAI ਦੁਆਰਾ ਵਿਕਸਿਤ, tiktoken GPT ਮਾਡਲਾਂ ਦੁਆਰਾ ਵਰਤੀ ਜਾਂਦੀ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਅਤੇ ਵਿਆਪਕ ਭਾਸ਼ਾ ਕਵਰੇਜ ਲਈ ਢੰਗ ਨਾਲ ਢਾਲਿਆ ਗਿਆ ਹੈ।
Examples
ਇੱਥੇ ਕੁਝ ਕੋਡ ਉਦਾਹਰਨਾਂ ਹਨ ਜੋ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟੋਕਨ ਗਿਣਤੀ ਨੂੰ ਦਰਸਾਉਂਦੀਆਂ ਹਨ:
import tiktoken
def count_tokens(text, encoding_name):
encoding = tiktoken.get_encoding(encoding_name)
tokens = encoding.encode(text)
return len(tokens)
## Example usage
text = "Hello, world! This is a tokenization example."
encoding_name = "cl100k_base"
token_count = count_tokens(text, encoding_name)
print(f"Token count: {token_count}")
ਇਹ ਉਦਾਹਰਨਾਂ ਦਿਖਾਉਂਦੀਆਂ ਹਨ ਕਿ ਕਿਸ ਤਰ੍ਹਾਂ tiktoken ਲਾਇਬ੍ਰੇਰੀ (ਜਾਂ ਹੋਰ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਇਸਦੇ ਸਮਕਾਲੀ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਦਿੱਤੇ ਗਏ ਟੈਕਸਟ ਵਿੱਚ ਨਿਰਧਾਰਿਤ ਕੋਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟੋਕਨਾਂ ਦੀ ਗਿਣਤੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
References
- OpenAI. "Tiktoken." GitHub, https://github.com/openai/tiktoken. Accessed 2 Aug. 2024.
- Vaswani, Ashish, et al. "Attention Is All You Need." arXiv:1706.03762 [cs], Dec. 2017, http://arxiv.org/abs/1706.03762.
- Sennrich, Rico, et al. "Neural Machine Translation of Rare Words with Subword Units." arXiv:1508.07909 [cs], Jun. 2016, http://arxiv.org/abs/1508.07909.
- Brown, Tom B., et al. "Language Models are Few-Shot Learners." arXiv:2005.14165 [cs], Jul. 2020, http://arxiv.org/abs/2005.14165.
- Devlin, Jacob, et al. "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." arXiv:1810.04805 [cs], May 2019, http://arxiv.org/abs/1810.04805.