SPARCOL-Lexicon
разреженные эмбеддинги для атрибуции авторов
Это финальный чекпоинт lexicon-модели от UBC-SLIME, сопровождающий исследование по крупномасштабной атрибуции авторов. Основа — answerdotai/ModernBERT-large, около 0.4 млрд параметров; на выходе один 2000-мерный вектор на токен. Модель работает с английским текстом, максимальная длина последовательности — 512 токенов.
📝 Ключевые особенности
- 🤓 Строит разреженные лексические представления: один вектор на токен, 2000 измерений.
- 🤔 Кластерные назначения токенов уже обучены и лежат в
cluster_ids.pt— заново запускать k-means не нужно. - ⌨ Использует активации
log1p(ReLU), без CLS/SEP-токенов и без rescaling эмбеддингов. - 👍 Оценка — mean MaxSim по ненулевым токенам запроса.
- 📝 Для инференса нужен код
lingjzhu/neural_lexical; логи обучения и примеры данных из пакета удалены.
⌨ Пример
import torch
from src.models.ClusteredTransformer import ClusteredTransformer, clustered_maxsim
from src.models.SparseEncoder import SparseEncoder
module = ClusteredTransformer.load('UBC-SLIME/sparcol-lexicon-large-c2000')
model = SparseEncoder(modules=[module]).to('cuda').eval()
features = {k: v.to('cuda') for k, v in model.tokenize(['A sample document.']).items()}
with torch.inference_mode(), torch.autocast('cuda', dtype=torch.bfloat16):
emb = model(features)['sparse_embeddings']; scores = clustered_maxsim(emb, emb)
Подробнее
Бенчмарки в карточке не заявлены: полная HRS-оценка для этого релиза не перезапускалась.Чекпоинт: шаг 1580, эпоха 2.0, backbone ModernBERT-large, максимум 512 токенов.
Язык — английский; для инференса нужны код lingjzhu/neural_lexical и cluster_ids.pt.








Комментарии