Сразу оговорка: токен в контексте нейросетей не имеет отношения ни к криптовалюте, ни к токенам авторизации. Здесь токен означает единицу информации, с которой работает языковая модель. Чаще всего это часть слова, реже целое слово или отдельный символ.
Представьте конструктор LEGO. У вас есть набор из нескольких десятков тысяч деталей разного размера. Некоторые детали крупные — это целые слова: «the», «cat», «and». Другие мелкие и обозначают части слов или даже отдельные буквы. Из этих деталей можно собрать любое слово, даже то, которое создателями конструктора не предполагалось.
Давайте разберемся на примере. Английское слово «cat» укладывается в один токен. Слово «darkness» разбивается на два: «dark» и «ness». По-русски «нейросеть» превращается в «нейро» + «сеть», а «интернационализация» распадается на четыре токена: «интер», «наци», «онали», «зация». Если завтра появится новый бренд «Нейромаркет», модель разобьет его на «Нейро» + «маркет» и поймет обе части по отдельности.
Нейросети работают с токенами, а не с обычными словами, по двум причинам.
- В любом языке существуют миллионы словоформ: только из слова «бежать» можно образовать «побежал», «забегала», «перебежишь» и десятки других вариантов. Уместить все формы в словарь невозможно, зато из ограниченного набора токенов можно собрать каждую из них.
- Токены позволяют работать с незнакомыми словами и разными языками одновременно, включая китайский и японский, где между словами нет пробелов.
Каждый токен модель преобразует в числовой идентификатор, потому что нейросети оперируют числами, а не буквами. Текст превращается в последовательность чисел, проходит через вычисления и на выходе снова становится текстом. Токены здесь работают как переводчик между человеческим языком и математикой модели.
Один токен покрывает примерно 4 символа латиницы или около 2 символов кириллицы. Среднее английское слово занимает 1–1,3 токена, русское слово тяжелее и весит 2–3 токена.
Поэтому тысяча токенов вмещает около 750 английских слов, но только 350–400 русских. Одна страница А4 на русском языке (2000–2500 символов) занимает примерно 1000–1250 токенов. Книга на 300 страниц по-английски укладывается примерно в 100 000 токенов.
| Метрика |
Английский |
Русский |
| 1000 токенов |
~750 слов |
~350–400 слов |
| Среднее слово |
~1–1,3 токена |
~2–3 токена |
| Символов на токен |
~4 |
~2 |
| Фраза в 75 слов |
~100 токенов |
~120–150 токенов |
Основная причина — в обучающих данных.…