Как текст превращается в токены

Нейросеть не видит букв. Перед тем как прочитать ваше сообщение, специальная программа — токенизатор — режет текст на кусочки из своего словаря и заменяет каждый номером. Модель работает уже с цепочкой чисел, а потом так же, кусочек за кусочком, собирает ответ.

Частые слова попадают в словарь целиком и становятся одним токеном. Редкие делятся на части: «нейросеть» может превратиться в «ней», «рос» и «еть». Знаки препинания и пробелы тоже считаются. Поэтому короткое «Привет, как дела?» — это не три слова, а пять-шесть токенов.

У каждой модели свой словарь. Одна и та же фраза у одной нейросети займёт пять токенов, у другой — восемь. Сравнивать «сколько токенов в слове» можно только в пределах одной модели.

Почему русский текст «тяжелее» английского

На английском одно слово в среднем занимает чуть больше одного токена. На русском у современных моделей выходит около двух токенов на слово, а у моделей постарше — до трёх. Причин две:

  • Словари собирают в основном по английским текстам. Английским словам достаётся больше места, русским — меньше, и они чаще режутся на части.
  • У русского слова много форм: «дом», «дома», «дому», «домами». Каждая форма — отдельная запись, и не все из них попадают в словарь целиком.

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

Промт, контекст и окно

Когда вы отправляете сообщение персонажу, модель получает не одну вашу фразу. Сервис собирает целый пакет:

  1. Инструкции сервиса: как отвечать, чего не делать.
  2. Описание персонажа: характер, манера речи, история.
  3. Память о вас: имя, важные факты.
  4. История переписки.
  5. Ваше новое сообщение.

Всё это вместе называется контекстом, а предел, сколько контекста модель может прочитать за раз, — контекстным окном. Окно измеряют в токенах. У современных моделей оно огромное, сотни тысяч и даже миллион токенов, но сервисы редко отдают его целиком: каждый прочитанный токен стоит денег и времени.

Почему персонаж забывает длинный разговор

Важная деталь: модель перечитывает весь контекст на каждом шаге. В сотом сообщении она снова читает первые девяносто девять. Поэтому длинный разговор становится тяжёлым, и сервисы с этим что-то делают. Отсюда три причины забывчивости:

  • История обрезаетсяКогда переписка не помещается, самые старые сообщения выпадают из окна. Модель их просто больше не видит.
  • Середина видна хужеИсследователи заметили, что модели лучше помнят начало и конец длинного текста, а середину упускают. Эффект даже получил название «потерянное в середине».
  • Выжимка теряет деталиМногие сервисы сжимают старую часть разговора в краткий пересказ. Цвет шарфа и кличка собаки в него могут не попасть.

Как помочь модели помнить

  • Повторяйте важное ближе к концу. Если в начале вы договорились, что персонаж зовёт вас «капитан», напомните об этом, когда разговор разросся.
  • Время от времени просите подвести итог: «перечисли, о чём мы договорились». Заодно увидите, что модель уже потеряла.
  • Новую тему начинайте в новом чате. Короткий пересказ первым сообщением работает лучше, чем бесконечная лента.
  • Пишите по делу. Чем меньше лишнего, тем больше важного поместится в окно.

Как писать запрос, чтобы модель с первого раза поняла, чего вы хотите, — в статье как написать промт. А что делать, если ответы стали путаными или вовсе пропали, — в материале нейросеть не отвечает.

Как это устроено на my-idol.ru

Персонажи пишут по-русски и помнят разговор, а советы выше работают и здесь: напоминайте важное и начинайте новую историю в новом чате. Подробнее о том, что и как запоминает персонаж, — в статье память ИИ-персонажа.

Начните разговор и проверьте, что персонаж вспомнит через неделю.

Выбрать персонажа