Токенизация - это первый шаг перед тем, как LLM вообще начнет “думать”.
Модель не понимает текст напрямую.
Она понимает только числа.
Поэтому любой текст сначала разбивается на маленькие кусочки - токены:
- иногда это целые слова
- иногда части слов (su, per, man)
- иногда один символ
- иногда даже пробел - тоже токен
Пример:
Фраза "I love programming" разбивается не обязательно на слова, а на кусочки слов:
[I] ,[ love] ,[ program] , [ming]Обрати внимание:
- " love" начинается с пробела - потому что пробел тоже часть токена
- programming разделилось на 2 токена: " program" + "ming"
То есть Токенизация - это когда LLM режет текст на маленькие кусочки (токены) и переводит их в числа.
Важно:
Чем больше токенов - тем дороже запрос и тем быстрее съедается контекст.
Плохая токенизация = странные ошибки (особенно в коде, ссылках, редких словах).
Поэтому LLM отлично понимают частые слова, но могут путаться на редких именах, терминах и смешанных языках.
И лайфхак: если хочешь “дешевле” и “чище” ответы - пиши короче, без мусора, без повторов.
Контекст - это валюта.
# Tokenization demo (Python)
# pip install tiktoken
import tiktoken
text = "I love programming in Python 🐍"
enc = tiktoken.get_encoding("cl100k_base")
tokens = enc.encode(text)
print("Text:", text)
print("Token IDs:", tokens)
print("Tokens count:", len(tokens))
# decode back
print("\nDecoded tokens:")
for t in tokens:
print(t, "->", repr(enc.decode([t])))
https://www.youtube.com/shorts/A7DCcYLq38M