Аномалии DeepSeek-v3 и DeepSeek-r1: глюкнутые токены и чат, теряющий идентичность

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

«Аномальные», «глючные» и «непроизносимые» токены в больших языковых моделях (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 → MERCHANTABILITY
ellationToken → Token, CanellationToken
etheless → theless, nonetheless
VERTISEMENT → ADVERTISEMENT
ruptedException → interruptedException
eredWriter → BufferedWriter, WriterWriter, Writer
armaceut → aceut, armaceutical
reeNode → TreeNode
dfunding → Funding, Fundraising

За неимением лучшего термина я буду называть эти результирующие строки «образами» соответствующих аномальных токенов (заимствуя термин из математики).

Nameeee

Когда DeepSeek получает запрос просто повторить строку Nameeee, результат часто оказывается неожиданным: модель склонна интерпретировать этот токен как необычные символы Unicode, аббревиатуры с буквой M или даже эмодзи. Это сразу привлекло моё внимание, и я решил изучить данный токен подробнее.

Промт: Say Nameeee
DeepSeek: ↑, ��,

Источник: https://habr.com/ru/companies/bothub/articles/877326/


Интересные статьи

Интересные статьи

10 лет назад мы начинали бизнес студии с разработки сайтов на CMS 1С-Битрикс. Сегодня наш основной стек связан с подходом Single Page Application на Symfony и Nuxt, но клиенты по-прежнему просят сайты...
Совет директоров ICANN утвердил два новых запрета для второго этапа программы New gTLD. Теперь нельзя проводить частные аукционы на домены и подавать заявки на схожие домены. 
Иллюстрация Андрея ПоповаНаша проектная команда взялась наладить логистику в крупной агрокомпании: заменить старую систему и внедрить новый веб-интерфейс и мобильные приложения для организации работы ...
Всем привет! На связи ИТ-команда подразделения ДОМ.РФ Земли. Мы занимаемся автоматизацией вовлечения в оборот неиспользуемых или используемых не по назначению федеральных земельных участков и объектов...
С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице ...