Одно и то же слово, написанное с большой или маленькой буквы, ставит мощную нейросеть в тупик. Почему? Потому что она разбивает текст на кусочки-токены и считает «Кот» и «кот» разными вселенными. Это словарный разрыв — одна из главных проблем быстрого поиска.
В разреженном поиске запрос и документы превращают в векторы, где большинство чисел — нули, а значимы только ключевые слова. Он быстр, как алфавитный указатель в книге, но чувствителен к тому, на какие кусочки разобран текст. Новые модели вроде ModernBERT великолепны в тяжёлых задачах, однако для такого поиска их словарь слишком пёстрый. Каждое слово дробится на десятки вариантов: регистр, опечатки, редкие формы. Нейросеть тратит силы на пустую каталогизацию вместо поиска смысла. Получается вавилонское столпотворение, где нет общего языка.
Метод Vocabulary Transfer действует как переводчик. Сначала выбирают простой словарь-посредник — как у старой модели BERT без учёта регистра, где «Token» и «token» — один токен. Затем строят смысловой мост. Для общих токенов копируют готовые представления, а для новых собирают как среднее из ближайших «якорей». Специальный алгоритм (sparsemax) оставляет только самые сильные связи, обнуляя шум. После этого модель коротко доучивают: всего 500 шагов с маскированием (примерно 0.2% от исходного обучения). Финальный штрих — калибровка активаций: подкручивают настройки так, чтобы нервные клетки сети не засыпали навсегда.
Результат: ModernBERT-VT достигает 52.4 баллов по шкале nDCG на тестах BEIR — прирост на 4.7 пункта. Метод реанимирует безнадёжные модели. Другой гигант, RoBERTa-large, изначально показывал жалкие 1.4 балла, а после переноса взлетает до 51.3. Любопытно: без калибровки активаций всё скатывается до 48.8. Так, преодолев путаницу в словоформах, нейросеть наконец заговаривает на языке точного и быстрого поиска. И мы быстрее находим нужное.
Простое приведение к нижнему регистру не помогает: слово «Halloween» дробится на «hall», «ow», «een», теряя смысл. VT решает проблему системно.