NagibakaFrontend, боты, автоматизация

Урок

1.4 Токены. Как они считаются и почему промты на английском языке помогают немного сэкономить?

Написано человеком0% LLM

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

Как выглядит один токен на английском и русском языке?

Gemini_Generated_Image_byvzpsbyvzpsbyvz.jpg

Нейронные сети не читают текст, как живые люди. Они разбивают весь текст на части при помощи специальных алгоритмов, которые называет токенайзерами.

На что разбивается текст:

  • Части слов: наиболее часто используемые слова могут быть одним токеном, редкие - делятся на слоги

  • Знаки и пробелы: знаки препинания, пробелы и эмодзи также считаются отдельными токенами

  • Зависимость от регистра: Слово "Привет" и слово "привет" могут содержать разное количество токенов

Пример визуального разделения

  • Английская фраза: 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 потратит больше думающих токенов, и ответ будет немного дольше, но, имхо, это небольшая плата за решение вашей задачи.