Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
StaRSE научилась превращать русские предложения в векторы без запуска Transformer для каждого текста. В препринте Бориса Малашенко и соавторов, который не прошёл рецензирование, все замеры выполнили сами авторы: модель занимает 11,3 МиБ и остаётся близка по качеству к небольшому контекстному кодировщику. Такой вариант подходит системам, где документы часто переиндексируют на CPU, а максимальная точность важна меньше предсказуемой задержки.
Как таблица знаков заменяет Transformer
Контекстный кодировщик обрабатывает предложение целиком и строит представление каждого токена с учётом соседних слов. StaRSE делает меньше: находит готовый вектор каждого токена в таблице, усредняет эти векторы и нормализует результат. Порядок слов и контекстное значение омонимов при этом не учитываются.
Обычная таблица токенов всё ещё занимает много памяти, если хранить каждую координату как число с плавающей точкой. StaRSE оставляет от направления токенного вектора только знаки координат: плюс или минус можно записать одним битом. Отдельно модель хранит одно число, которое задаёт длину вектора и тем самым вес токена при усреднении.
Итоговый вектор предложения не становится двоичным. Модель складывает знаковые направления с учётом сохранённых весов, поэтому после усреднения получает обычный вещественный вектор. Его можно использовать для косинусного сходства, кластеризации и поиска ближайших документов теми же способами, что и другие векторные представления.
Начальную таблицу взяли из входных представлений ruBERT-base, сократили её размерность и обучили на парах русских предложений. В качестве слабых положительных примеров использовали соседние предложения из одного документа с лемматическим пересечением. Контрастное обучение сближало такие пары и раздвигало остальные тексты в пакете.
После основного обучения знаковую таблицу донастроили непосредственно в том виде, в котором она работает после развёртывания. Это заметная часть метода: простое округление готовых направлений до знаков даёт худшую геометрию. Вес токена также нельзя безболезненно убрать — без сохранённых длин средний результат теряет 8,42 балла, а перевод итогового вектора предложения в знаки стоит ещё 3,84 балла.
Качество приблизилось к небольшому контекстному кодировщику
На RuMTEB, русском наборе задач для поиска, классификации, кластеризации и оценки сходства, StaRSE получила средний результат 51,16 балла. Это на 7,98 балла выше лучшей статической модели из сравнения и на 2,60 балла ниже ruBERT-tiny-turbo — ближайшего по качеству контекстного кодировщика.
При одинаковом протоколе измерения на CPU StaRSE кодировала отдельное предложение примерно в 18 раз быстрее ruBERT-tiny-turbo. Ускорение возникает не из новой реализации Transformer, а из полного отказа от него во время работы: остаются токенизация, чтение строк таблицы, усреднение и нормализация.
Основное сравнение охватывает 23 задачи RuMTEB и только русский язык. Крупные этапы обучения запускали по одному разу, поэтому работа не показывает разброс результата между повторами. Параметры финальной стадии подбирали по среднему результату на том же наборе, а замеры эффективности учитывают кодировщик и его файлы, но не полный поисковый сервис с индексом и передачей данных.
Когда StaRSE меняет планы продукта
Работа добавляет практичный промежуточный вариант между классическими словарными векторами и Transformer-кодировщиками. Он особенно уместен, когда система регулярно пересчитывает представления большого корпуса, работает без GPU или должна отвечать с устойчивой задержкой на ограниченном оборудовании. Здесь сокращается стоимость именно кодирования; размер поискового индекса определяется итоговыми векторами предложений и выбранным форматом их хранения.
Для поиска, где запрос и документ обычно совпадают по теме и словам, StaRSE стоит включить в пилот рядом с небольшой контекстной моделью. Проверять нужно не только средний балл, но и свои запросы: названия товаров, сокращения, отрицания, перестановки слов и случаи, где одно слово меняет смысл в зависимости от контекста.
Для задач, чувствительных к синтаксису, порядку слов или тонким различиям значений, архитектурный компромисс остаётся существенным. StaRSE не заменяет контекстный кодировщик по умолчанию, но позволяет пересмотреть план, в котором Transformer запускается для каждого документа только потому, что статические русские модели раньше слишком сильно проигрывали по качеству.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



