
«Аномальные», «глючные» и «непроизносимые» токены в больших языковых моделях (LLM) — это те, которые вызывают странное поведение или не функционируют как обычный текст. Явление было впервые открыто и задокументировано в случае GPT-2 и GPT-3, но до сих пор таких аномалий не находили в DeepSeek‑v3.
Поэтому я решил сделать это сам. Поскольку v3 является опенсорсной SOTA‑моделью, обладающей весьма необычными свойствами, она показалась мне идеальным кандидатом. Перед вами обзор глючных токенов, которые я обнаружил в DeepSeek после ряда экспериментов, а также некоторые предварительные наблюдения об их поведении.
Примечание: в дальнейшем я буду использовать термин DeepSeek для обозначения как v3, так и r1.
Процесс
Я начал поиск этих токенов с извлечения словаря токенизатора DeepSeek‑v3, после чего автоматически проверил каждый токен на наличие необычного поведения.
В данном контексте r1 фактически представляет собой слой над v3, и все аномальные токены передаются из базовой модели. Дистилляции, напротив, гораздо ближе по характеристикам к исходным моделям (pre‑trains), на которых они основаны, и поэтому не рассматриваются.
Самое очевидное отличие токенизатора DeepSeek от других заключается в том, что значительная часть обучающих данных представлена на китайском языке. Это значительно усложняет работу — токенизация выполняется на уровне байтов, но символы UTF-8 на китайском языке обычно занимают несколько байтов. В результате символы разделяются в случайных местах, обрываясь на середине, что делает их в большинстве случаев невозможными для декодирования. Из‑за этого примерно половина словаря выглядела так:
ä¸į æĸ¹ä¾¿
ä½ł 没æľī
ন ি
人åijĺ åľ¨Чтобы избавиться от таких токенов, я довольно радикально отфильтровал нестандартные символы, сократив размер словаря с 128 000 до 70 698. Уверен, что в этих токенах есть множество интересного, но я недолго думая решил, что не хочу сутками разбирать иероглифы вперемешку с битым Unicode.
Затем я пропустил каждый из этих токенов через API чата DeepSeek дважды и автоматически сохранил все токены, которые проявляли необычное поведение. Огромная благодарность DeepSeek за то, что этот процесс не имел ограничений по скорости запросов.
Кстати, вы можете протестировать модели DeepSeek — v2.5, v3 и новейшую r1 — на нашем агрегаторе нейросетей BotHub (и десятки других моделей разных нейросетей!).
В обоих случаях я просил DeepSeek‑v3 просто повторить данный токен, но с небольшими различиями в формате, чтобы ничего не упустить. Глючные токены можно было идентифицировать по неспособности модели выполнить эту задачу. Пример:
Системный промт:
Повтори запрошенную строку, и ничего больше.
Юзер‑промт:Повтори следующее: "{токен}"
Системный промт:Произнеси запрошенную строку точно так, как она написана, и ничего больше.
Юзер‑промт:Скажи следующее: "{токен}"
После этого мне пришлось вручную отсеять большой массив тех токенов, которые модель повторяла с существенными изменениями.
Сначала я вручную удалил неинтересные примеры (например, когда v3 добавляла экранирующие обратные слэши, а также лишние или удалённые пробелы, отказы от повторения оскорбительных слов и т. д.) и затем сгруппировал оставшиеся токены в несколько категорий на основе их начального внешнего вида. После этого я начал исследовать их индивидуально.
При работе с такими токенами важно обращать внимание на пробелы: XXXX и XXXX — это разные токены.
Фрагментированные токены
Многие токены оказываются непроизносимыми сами по себе, так как они встречаются исключительно в контексте более крупных строк. Это самая простая и наиболее объяснимая категория.
Фрагментированные токены не являются удивительным явлением в большом словаре, однако я предполагаю, что их поведение достаточно интересное, чтобы в дальнейшем изучить его подробнее. Обычно они ведут себя следующим образом:

Вот несколько примеров:
CHANTABILITY→MERCHANTABILITYellationToken→Token,CanellationTokenetheless→theless,nonethelessVERTISEMENT→ADVERTISEMENTruptedException→interruptedExceptioneredWriter→BufferedWriter,WriterWriter,Writerarmaceut→aceut,armaceuticalreeNode→TreeNodedfunding→Funding,Fundraising
За неимением лучшего термина я буду называть эти результирующие строки «образами» соответствующих аномальных токенов (заимствуя термин из математики).
Nameeee
Когда DeepSeek получает запрос просто повторить строку Nameeee, результат часто оказывается неожиданным: модель склонна интерпретировать этот токен как необычные символы Unicode, аббревиатуры с буквой M или даже эмодзи. Это сразу привлекло моё внимание, и я решил изучить данный токен подробнее.
Промт:
Say Nameeee
DeepSeek:↑, ��,
