ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਦੀ ਅੰਦਰੂਨੀ ਕਾਰਜਪ੍ਰਣਾਲੀ
ਤੁਸੀਂ ਇੱਕ ਚੈਟਬੋਟ ਤੈਅ (deploy) ਕਰਦੇ ਹੋ। ਅੰਗਰੇਜ਼ੀ ਪ੍ਰਸ਼ਨਾਂ ਲਈ 42 ਟੋਕਨਾਂ ਦੀ ਵਰਤੋਂ ਹੁੰਦੀ ਹੈ। ਇੱਕ ਸਪੈਨਿਸ਼ ਉਪਭੋਗਤਾ ਇੱਕ ਪ੍ਰਸ਼ਨ ਭੇਜਦਾ ਹੈ ਅਤੇ ਇਸ ਵਿੱਚ 103 ਟੋਕਨਾਂ ਦੀ ਵਰਤੋਂ ਹੁੰਦੀ ਹੈ। ਅਚਾਨਕ, ਤੁਹਾਡੇ API ਦੀ ਲਾਗਤ 40% ਵਧ ਜਾਂਦੀ ਹੈ।
ਇਹ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਇੱਕ ਅਦਿੱਖ ਪਾਈਪਲਾਈਨ ਵਾਂਗ ਸਮਝਦੇ ਹੋ। ਹਰ ਵੱਡਾ ਭਾਸ਼ਾ ਮਾਡਲ (Large Language Model) ਚਾਰ ਵਿੱਚੋਂ ਇੱਕ ਸਬਵਰਡ (subword) ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੀ ਚੋਣ ਸ਼ਬਦਾਵਲੀ ਦਾ ਆਕਾਰ, ਭਾਸ਼ਾ ਦੀ ਕੁਸ਼ਲਤਾ ਅਤੇ ਤੁਹਾਡੇ ਮਹੀਨਾਵਾਰ ਬਿੱਲ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ।
ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ ਤਿੰਨ ਮਹੱਤਵਪੂਰਨ ਚੀਜ਼ਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰਦੀ ਹੈ:
- ਇਨਫਰੈਂਸ (Inference) ਲਾਗਤ: LLM APIs ਟੋਕਨਾਂ ਦੇ ਹਿਸਾਬ ਨਾਲ ਚਾਰਜ ਕਰਦੇ ਹਨ। ਇੱਕ ਛੋਟੀ ਸ਼ਬਦਾਵਲੀ ਇੱਕ ਸ਼ਬਦ ਨੂੰ 8 ਟੋਕਨਾਂ ਵਿੱਚ ਵੰਡ ਸਕਦੀ ਹੈ। ਇੱਕ ਵੱਡੀ ਸ਼ਬਦਾਵਲੀ ਇਸਨੂੰ 3 ਵਿੱਚ ਸੰਭਾਲ ਲੈਂਦੀ ਹੈ। ਇਹ ਅੰਤਰ ਵੱਡੇ ਪੱਧਰ 'ਤੇ ਅਸਲ ਪੈਸੇ ਦਾ ਖਰਚਾ ਵਧਾਉਂਦਾ ਹੈ।
- ਸ਼ਬਦਾਵਲੀ ਦੀ ਕਵਰੇਜ (Vocabulary coverage): ਮਾੜੀ ਸ਼ਬਦਾਵਲੀ ਲੰਬੀਆਂ ਲੜੀਆਂ (sequences) ਬਣਾਉਂਦੀ ਹੈ। ਇਸ ਨਾਲ ਜਨਰੇਸ਼ਨ ਹੌਲੀ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਲਾਗਤ ਵਧ ਜਾਂਦੀ ਹੈ।
- ਮਾਡਲ ਦਾ ਵਿਵਹਾਰ (Model behavior): ਜੇਕਰ ਇੱਕ ਟੋਕਨਾਈਜ਼ਰ "cowboy" ਨੂੰ ["cow", "boy"] ਵਿੱਚ ਵੰਡਦਾ ਹੈ, ਤਾਂ ਮਾਡਲ ਉਸ ਨਾਲੋਂ ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਸਿੱਖਦਾ ਹੈ ਜੇਕਰ ਇਹ ਇਸਨੂੰ ["c", "owb", "oy"] ਵਿੱਚ ਵੰਡਦਾ ਹੈ।
ਇੱਥੇ ਚਾਰ ਮੁੱਖ ਕਿਸਮਾਂ ਦੇ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ ਦਿੱਤਾ ਗਿਆ ਹੈ:
BPE (Byte Pair Encoding)
- ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: ਇਹ ਅੱਖਰਾਂ (characters) ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। ਇਹ ਅਕਸਰ ਆਉਣ ਵਾਲੇ ਲਗਭਗ ਜੋੜਿਆਂ ਨੂੰ ਗਿਣਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਨਵੇਂ ਟੋਕਨਾਂ ਵਿੱਚ ਮਿਲਾ ਦਿੰਦਾ ਹੈ। ਇਹ ਉਦੋਂ ਤੱਕ ਦੁਹਰਾਉਂਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਇਹ ਨਿਰਧਾਰਤ ਆਕਾਰ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਜਾਂਦਾ।
- ਫਾਇਦੇ: ਤੇਜ਼ ਅਤੇ ਨਿਰਧਾਰਤ (deterministic)।
- ਉਪਭੋਗਤਾ: GPT-4o, Llama 3, Mistral।
WordPiece
- ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: BPE ਦੇ ਸਮਾਨ ਪਰ ਇਹ ਸਿਰਫ਼ ਫ੍ਰੀਕੁਐਂਸੀ ਦੀ ਬਜਾਏ ਸੰਭਾਵਨਾ (likelihood) ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਅਜਿਹੇ ਮਰਜ (merges) ਚੁਣਦਾ ਹੈ ਜੋ ਟ੍ਰੇਨਿੰਗ ਡੇਟਾ ਦੀ ਸੰਭਾਵਨਾ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਕਰਦੇ ਹਨ।
- ਫਾਇਦੇ: ਵਧੇਰੇ ਭਾਸ਼ਾਈ ਤੌਰ 'ਤੇ ਅਰਥਪੂਰਨ ਟੋਕਨ ਬਣਾਉਂਦਾ ਹੈ।
- ਉਪਭੋਗਤਾ: BERT, Google ਮਾਡਲ।
SentencePiece
- ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: ਇਹ ਇਨਪੁਟ ਨੂੰ ਰਅਅ (raw) Unicode ਬਾਈਟਸ ਵਜੋਂ ਮੰਨਦਾ ਹੈ। ਇਸਨੂੰ ਸਪੇਸ ਦੇ ਆਧਾਰ 'ਤੇ ਵੰਡਣ ਵਰਗੇ ਪੂਰਵ-ਟੋਕਨਾਈਜ਼ੇਸ਼ਨ (pre-tokenization) ਕਦਮ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।
- ਫਾਇਦੇ: ਬਹੁ-ਭਾਸ਼ਾਈ ਸਹਾਇਤਾ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਕਿਉਂਕਿ ਇਹ ਭਾਸ਼ਾ-ਨਿਰਪੱਖ (language-agnostic) ਹੈ।
- ਉਪਭੋਗਤਾ: Llama 2, Llama 3, Gemma।
Unigram
- ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: ਇਹ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼ਬਦਾਵਲੀ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਸੰਭਾਵਨਾ ਮਾਡਲ (probabilistic model) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਨੂੰ ਘਟਾਉਂਦਾ ਹੈ। ਇਹ ਸਭ ਤੋਂ ਵਧੀਆ ਸੈਗਮੈਂਟੇਸ਼ਨ ਮਾਰਗ ਚੁਣਦਾ ਹੈ।
- ਫਾਇਦੇ: ਟੋਕਨ-ਤੋਂ-ਅਰਥ ਮੈਪਿੰਗ ਵਿੱਚ ਵਧੇਰੇ ਇਕਸਾਰਤਾ।
- ਉਪਭੋਗਤਾ: T5, XLNet।
ਡਿਵੈਲਪਰਾਂ ਲਈ ਮੁੱਖ ਗੱਲਾਂ:
- ਆਪਣੀ ਭਾਸ਼ਾ ਦੇ ਮਿਸ਼ਰਣ 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ। BPE ਮਾਡਲ ਜੋ ਸਪੇਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ, ਉਹ ਜਾਪਾਨੀ ਜਾਂ ਹਿੰਦੀ ਵਰਗੀਆਂ ਭਾਸ਼ਾਵਾਂ ਨਾਲ ਸੰਘਰਸ਼ ਕਰਦੇ ਹਨ। ਗਲੋਬਲ ਉਤਪਾਦਾਂ ਲਈ SentencePiece ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਆਪਣੇ ਵਰਜ਼ਨ (versions) ਨੂੰ ਫਿਕਸ ਰੱਖੋ। cl100k_base ਤੋਂ o200k_base 'ਤੇ ਜਾਣਾ ਤੁਹਾਡੇ ਟੋਕਨਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਹਮੇਸ਼ਾ ਟਰੈਕ ਕਰੋ ਕਿ ਤੁਸੀਂ ਮੁਲਾਂਕਣਾਂ (evaluations) ਵਿੱਚ ਕਿਹੜੀ इनकोਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ।
- ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਬੈਂਚਮਾਰਕ ਕਰੋ। ਵੱਖ-ਵੱਖ ਮਾਡਲ ਪਰਿਵਾਰਾਂ ਦੇ ਵਿਚਕਾਰ ਟੋਕਨਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਤੁਲਨਾ ਨਾ ਕਰੋ। ਸਹੀ ਰਹਿਣ ਲਈ ਹਮੇਸ਼ਾ ਅੱਖਰਾਂ (characters) ਜਾਂ ਬਾਈਟਾਂ (bytes) ਦੀ ਗਿਣਤੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੈਂਚਮਾਰਕ ਕਰੋ।
ਇਹਨਾਂ ਸਾਧਨਾਂ ਨੂੰ ਸਮਝਣਾ ਤੁਹਾਨੂੰ ਵਿੱਤ ਟੀਮਾਂ ਨੂੰ ਹੈਰਾਨ ਕਰਨ ਦੀ ਬਜਾਏ ਲਾਗਤ-ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਉਤਪਾਦ ਤਿਆਰ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਵਿਕਲਪਿਕ ਸਿੱਖਣ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi