Урок
1.4 Токены. Как они считаются и почему промты на английском языке помогают немного сэкономить?
Один токен - это не одна буква. Хотя, бывает и так. Токен - это единица смысла в LLM. Это может быть и одно слово целиком, и часть слова и знак препинания. Понимание, как устроены токены, дает возможность более эффективно работать с нейронной сетью. Об об этом мы сегодня и поговорим.
Как выглядит один токен на английском и русском языке?

Нейронные сети не читают текст, как живые люди. Они разбивают весь текст на части при помощи специальных алгоритмов, которые называет токенайзерами.
На что разбивается текст:
Части слов: наиболее часто используемые слова могут быть одним токеном, редкие - делятся на слоги
Знаки и пробелы: знаки препинания, пробелы и эмодзи также считаются отдельными токенами
Зависимость от регистра: Слово "Привет" и слово "привет" могут содержать разное количество токенов
Пример визуального разделения
Английская фраза: AI is future - распознается как 3 токена ( AI, is, future).
Русская фраза: ИИ - это будущее - может превратиться в 6–8 токенов ( И, И, -, э, то, буд, ущ, ее).
Использование английского языка позволит неплохо сэкономить токены
Если вы пишете промт на английском, то вы обычно тратите в 2-3 раза меньше токенов, чтобы передать тот же смысл. Также вы можете загрузить в контекст намного больше материала на английском языке, чем на другом языке.
Параметр | Английский язык | Русский язык |
Средняя длина токена | ~4 символа (целое слово) | ~1-2 символа (часть слова / буквы) |
Слово «Привет» / "Hello" | "Hello" = 1 токен | «При-вет» = 2 токена |
Сложные/длинные слова | "Revolutionary" = 1-2 токена | «Ре-во-лю-ци-он-ны-й» = 4-7 токенов |
На каком языке лучше писать промпты при написании кода?
Большие лингвистические модели, в-основном, обучаются на англоязычных текстах, по крайней мере, LLM скормили таких текстов больше всего. И английский язык намного проще, чем другие языки, например русский или китайский. Современные думающие модели очень часто переводят промт с вашего родного языка на английский, прежде чем дать ответ.
В идеале, промты лучше писать на английском - тогда LLM будет более точно понимать ваши намерения и будет возникать меньше трудностей перевода.
Но, есть один очень важный нюанс. Если вы не владеете свободным, богатым, техническим английским языком, то вам будет намного проще и эффективнее, излагать мысли на своем родном языке, вы точно сможете более четко и ясно объяснить нейронке свой запрос. Нейронка переведет на английский, и вы получите более ожидаемый и предсказуемый результат. LLM потратит больше думающих токенов, и ответ будет немного дольше, но, имхо, это небольшая плата за решение вашей задачи.
