# Токен және токенизация: тілдік модельдер мәтінді қалай оқиды

> Токен деген не екенін, токенизация мәтінді тілдік модель өңдей алатын бөліктерге қалай бөлетінін, токен саны неге өзгеретінін және токенизатор әр тіл үшін неге маңызды екенін біліңіз.

- URL: https://neuronai.uz/kk/blog/token-and-tokenization/
- Published: 2026-10-13
- Author: NeuronAI Team

Тілдік модельге сөйлем жазғанда, модель оны әдеттегі сөздер тізімі ретінде өңдей бермейді.

Алдымен мәтін **токендер** деп аталатын шағын бөліктерге бөлінеді. Бұл процесс **токенизация** деп аталады.

Қарапайым түрде мәтін модельге былай жетеді:

1. Сіз мәтін жазасыз.
2. Токенизатор оны токендерге бөледі.
3. Әр токен өз нөмірімен, яғни token ID-мен алмастырылады.
4. Тілдік модель осы сандарды өңдейді.

Токендер қазіргі тілдік модельдердің негізгі құрылыс бөліктерінің бірі. Олар мәтіннің қалай ұсынылатынына, модель қанша контекстті өңдей алатынына, қаншалықты жылдам жұмыс істейтініне және сервисті пайдалану көлемінің қалай есептелетініне әсер етеді.

## Токен деген не?

**Токен** — модель жұмыс істейтін мәтін бірлігі. Токен мыналардың бірі болуы мүмкін:

- толық сөз;
- сөздің бір бөлігі;
- тыныс белгісі;
- сан;
- бос орынмен бірге келетін таңбалар тізбегі;
- кейбір токенизаторларда бір таңба немесе байттар тізбегі.

Демек, токен **сөзбен бірдей ұғым емес**.

Токенизаторға байланысты жиі кездесетін сөз бір токен болуы мүмкін, ал ұзын немесе сирек сөз бірнеше бөлікке бөлінуі мүмкін. Мысалы, бір токенизатор ағылшынша *tokenization* сөзін *token* және *ization* бөліктеріне бөлсе, басқасы оны басқаша бөлуі мүмкін.

Маңыздысы — токен шекараларын сөздер арасындағы бос орын емес, **токенизатордың өзі анықтайды**.

## Токенизация деген не?

**Токенизация** — бастапқы мәтінді модель қолданатын токен бөліктеріне айналдыру процесі.

Токенизаторда әдетте **сөздік (vocabulary)** болады. Бұл — ол ұсына алатын мәтін бөліктерінің белгіленген жиыны. Сөздіктегі әр токенге **token ID** деп аталатын сандық идентификатор беріледі.

Мысалы, «AI пайдалы.» сөйлемі шартты түрде төрт токенге бөлінуі мүмкін:

| Токен | Token ID |
| --- | --- |
| «AI» | 4210 |
| «пайда» | 9132 |
| «лы» | 2801 |
| «.» | 13 |

Бөлу мен сандар тек түсіндіру үшін берілген: нақты токендер мен ID-лер токенизаторға байланысты. Бұл мысалда *пайдалы* сөзі түбір мен жұрнаққа бөлінгенін байқаңыз. Мұның әр тіл үшін неге маңызды екенін төменде көреміз.

Модельдің өзі сандармен жұмыс істейді. Сондықтан token ID арқылы [нейрондық желі](https://neuronai.uz/kk/blog/neyron-tarmoq-nima/) өңдей алатын, көбіне **embedding** деп аталатын үйренілген векторлық көріністер алынады.

Тілдік модель мәтін жасағанда процесс кері бағытта жүреді: модель token ID-лерді болжайды, ал токенизатор оларды қайтадан оқылатын мәтінге айналдырады.

## Неліктен жай ғана сөздерді қолданбаймыз?

Әрбір мүмкін сөзге жеке токен беру қарапайым шешім сияқты көрінеді, бірақ бірнеше қиындық туғызады.

Тілдерде өте көп сөз, есім, техникалық термин, жазылу нұсқалары және жаңадан пайда болатын тіркестер бар.

Егер әр толық сөзге жеке токен қажет болса:

- сөздік өте үлкен болып кетуі мүмкін;
- сирек сөздерді ұсыну қиындайды;
- жаңа сөздер сөздікте мүлде болмауы мүмкін;
- сөз формалары көп тілдерге өте көп жеке жазба қажет болады.

Тек жеке таңбаларды пайдалану белгісіз сөз мәселесін шешеді, бірақ кәдімгі мәтінді өте ұзын тізбекке айналдырады.

Сондықтан қазіргі тілдік модельдер көбіне аралық шешімді — **subword-токенизацияны** қолданады.

Жиі кездесетін сөз немесе сөз бөлігі бірге қалуы мүмкін, ал сирек сөз кішірек, қайта қолданылатын бөліктерге бөлінеді. Бұл тәсіл модельге сөздіктің көлемін басқарылатын деңгейде ұстап, кез келген дерлік мәтінді ұсынуға мүмкіндік береді.

## Кең таралған токенизация әдістері

Токенизатор құрудың бірнеше әдісі бар. Қазіргі NLP-де үш атау жиі кездеседі:

- **BPE (Byte Pair Encoding):** жеке таңбалардан немесе байттардан бастап, ең жиі кездесетін көрші жұпты қайта-қайта жаңа токенге біріктіреді;
- **WordPiece:** пайдалы сөз бөліктерінен сөздік құрады және BERT сияқты модельдер арқылы танымал;
- **Unigram:** көптеген ықтимал бөліктерден бастап, ықтималдық моделі ең пайдалы деп тапқандарын қалдырады.

Қарапайым оқырман үшін алгоритмнің барлық егжей-тегжейінен гөрі негізгі ой маңызды:

> **Токенизатор пайдалы мәтін бөліктерінің жиынын үйренеді немесе анықтайды және мәтінді әрдайым сол бөліктерге бірдей бөледі.**

Сондықтан бір тілмен жұмыс істесе де, әртүрлі модель отбасылары әртүрлі токенизатор қолдануы мүмкін.

## Неліктен бір сөйлемнің токен саны әртүрлі болуы мүмкін?

Өйткені токенизация токенизаторға байланысты.

Екі модельдің сөздігі әртүрлі болуы мүмкін. Бір токенизатор жиі кездесетін сөзді бір токен ретінде таниды, ал екіншісіне сол сөзді екі немесе үш бөлікке бөлу қажет болуы мүмкін.

Сондықтан бірдей сөйлем A токенизаторында 8 токен, ал B токенизаторында 11 токен болуы мүмкін, көрінетін мәтін толық бірдей болса да.

Сол себепті **сөз саны мен токен саны бірдей өлшем емес**.

Кәдімгі ағылшын мәтінінде кейбір токенизаторларда бір токен орта есеппен бірнеше таңбаға сәйкес келуі мүмкін, бірақ бұл тек жуық бағалау. Оны барлық тілге, жазу жүйесіне немесе модельге ортақ ереже ретінде қабылдауға болмайды.

## Неліктен тілдің өзі маңызды?

Токенизация сапасы тілдер арасында айтарлықтай ерекшеленуі мүмкін.

Негізінен бір тілдің деректерімен жасалған токенизатор сол тілді өте тиімді ұсына алады, бірақ басқа тілдегі сөздерді көптеген шағын бөлікке бөліп жіберуі мүмкін.

Бұл сөзжасамы бай, басқа әліпбиді қолданатын, арнайы тыныс белгілері бар немесе токенизатор құрастырылған деректерде аз кездесетін тілдер үшін әсіресе маңызды.

Өзбек тілі — жақсы мысал. Бір түбірге көптеген жұрнақ пен жалғау жалғануы мүмкін. Өзбек мәтіні латын және кирилл жазуында кездеседі, сондай-ақ апострофқа ұқсас бірнеше таңба қолданылуы мүмкін. Өзбек тіліндегі жиі кездесетін үлгілерді жақсы ұсынатын токенизатор мұндай үлгілері сөздігінде аз токенизаторға қарағанда тілді тиімдірек өңдей алады.

Бұл тек теория емес. NeuronAI [**MustaqiLLM**](https://neuronai.uz/kk/blog/mustaqillm/) моделін жасағанда токенизатор модель дизайнының бір бөлігі болды: жарияланған модель **48 000 токендік BPE-токенизаторды** қолданады және өзбек тіліне арнайы бейімделген.

Бұл токенизатордың жай ғана көрінбейтін мәтін өңдеу бөлшегі емес екенін көрсетеді. Көптілді және жергілікті тілдерге арналған AI үшін ол модель дизайнының маңызды бөлігі.

## Токендер және контекст терезесі

Тілдік модель бір уақытта шектеулі көлемдегі ақпаратты ғана өңдей алады.

Бұл шек әдетте **context window — контекст терезесі** деп аталады және көбіне сөзбен емес, токенмен өлшенеді.

Мысалы, модель 128 000 токендік контекстті қолдаса, осы бюджетке қолданушының prompt-ы, диалог тарихы, жүйелік нұсқаулар, құжаттар және модель ескеруі тиіс басқа мәтіндер кіруі мүмкін.

Сөзі аз құжат әрқашан токені де аз болады деген кепілдік жоқ, әсіресе әртүрлі тілдер немесе токенизаторлар салыстырылса.

Сондықтан тиімді токенизация бірдей контекст бюджетіне көбірек пайдалы мәтін сыйғызуға көмектеседі.

## Токендер, жылдамдық және құн

Токендердің практикалық маңызы да бар.

Көптеген AI сервистерінде пайдалану көлемі ішінара **input token** және **output token** саны арқылы өлшенеді.

Токен көбейген сайын модель өңдеуге тиіс бірліктер саны да артады. Бұл мыналарға әсер етуі мүмкін:

- [inference](https://neuronai.uz/kk/blog/training-inference-farqi/) уақытына;
- жад қолдануына;
- есептеу талабына;
- API құнына;
- контекст терезесіне қанша ақпарат сыятынына.

Бұл ең қысқа prompt әрқашан ең жақсы деген сөз емес. Дұрыс және жеткілікті контекст нәтижені жақсарта алады.

Практикалық мақсат — модельге қажет ақпаратты сақтай отырып, артық мәтінді қысқарту.

## LLM жауабында токендер қалай жұмыс істейді?

Үлкен тілдік модельдер мәтінді токен бойынша біртіндеп жасайды. Қарапайым генерация циклі мынадай:

1. Модель prompt токендерін оқиды.
2. Келесі токен болуы мүмкін әр нұсқаның ықтималдығын есептейді.
3. Бір токен таңдалады.
4. Ол тізбекке қосылады.
5. Жауап дайын болғанша цикл қайталанады: модель ұзарған тізбек бойынша келесі токенді болжайды.

[LLM туралы мақаламызда](https://neuronai.uz/kk/blog/llm-nima/) тілдік модель келесі токенді болжайды дегенде дәл осы процесті меңзедік.

Толық жауап жүздеген немесе мыңдаған осындай қадамнан тұруы мүмкін. Бізге соңғы мәтін тұтас көрінеді, бірақ модель ішінде ол токен-токен болып құрылған.

## Токендер әрқашан көрінетін мәтін бе?

Жоқ.

Кейбір жүйелер кәдімгі мәтін ретінде көрсетілмейтін **арнайы токендерді** қолданады. Олар мыналарды белгілеуі мүмкін:

- тізбектің басталуы немесе аяқталуы;
- хабарламалар арасындағы шекара;
- диалогтағы әртүрлі рөлдер;
- padding — тізбектерді бірдей ұзындыққа келтіретін толтырғыш токендер;
- басқа арнайы басқару ақпараты.

Нақты арнайы токендер модель мен токенизаторға байланысты.

Сондықтан жүйе қолданған токен саны кейде prompt-та көрінетін сөздерден көбірек ақпаратты қамтуы мүмкін.

## Токенизатор модельдің бір бөлігі ме?

Токенизаторды модельмен тығыз байланысқан компонент деп қарастырған дұрыс.

Токенизатор сөздікті анықтайды және токендерге ID береді. Модельді оқыту кезінде модель осы ID-лерге сәйкес ішкі көріністерді үйренеді.

Сондықтан оқытылып қойған модельдің токенизаторын ауыстыру жай мәтін өңдеу параметрін өзгертумен бірдей емес. Сөздік өзгерсе, token ID мен модель үйренген embedding-тер арасындағы байланыс бұзылады.

Сол себепті токенизатор әдетте модельді әзірлеуге дейін немесе әзірлеу барысында таңдалады, training аяқталғаннан кейін жай ғана ауыстырылмайды.

## Токенизация мағынаны түсіне ме?

Жоқ.

Токенизатордың міндеті — мәтінді бөлу және кодтау. Оған сөйлемнің мағынасын тілдік модель сияқты түсіну міндетті емес.

Мысалы, токенизатор техникалық терминді сөздігі үшін ыңғайлы болғандықтан бірнеше бөлікке бөлуі мүмкін. Кейін тілдік модель training барысында осы токендердің өзара байланысын үйренеді.

Сонымен жұмыс екіге бөлінеді:

- **Токенизатор:** мәтін → токен бөліктері → token ID.
- **Модель:** токен көріністері → үйренілген байланыстар → болжам.

Токенизация тілді модельге дайындайды. Ал заңдылықтарды үйрену — модельдің міндеті.

## Есте сақтаудың ең оңай жолы

Егер тек екі ойды есте сақтасаңыз, мынау болсын:

> **Токен — модель жұмыс істейтін мәтін бөлігі.**
>
> **Токенизация — мәтінді сол бөліктерге бөлу және оларды ID-лерге айналдыру процесі.**

Бір жолмен айтсақ: **мәтін → токенизатор → токендер → сандар → модель**.

Бұл шағын алдын ала өңдеу (preprocessing) қадамы күткеннен әлдеқайда үлкен әсер етеді. Ол модельдің әртүрлі тілдерді қаншалықты тиімді өңдейтініне, контекст терезесіне қанша мәтін сыятынына, пайдалану көлемінің қалай есептелетініне және тілдің нейрондық желіге қалай жететініне әсер етеді.

LLM келесі токенді болжай алмай тұрып, токенизатор алдымен ненің токен екенін анықтауы керек.
