/ Модель

Характеристики

Контекст
8 192 токена
Лицензия
Apache 2.0
Архитектура
nomic_bert · dense
Базовая модель
nomic-embed-text-v1-unsupervised
Библиотека
transformers
Опубликована
22 июл 2026

nomic-embed-text-v1-unsupervised-cs-surgery

Заполнение пропусковТекст → текст7 профессий

Текстовая модель эмбеддингов NomicBert с расширенным словарём для академических текстов по компьютерным наукам.

30скачиваний за 30 дней0лайковвеса обновлены22 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

nomic-embed-text-v1-unsupervised-cs-surgery — расширенная версия текстовой модели эмбеддингов Nomic AI, подготовленная для академических текстов по компьютерным наукам. Разработчик добавил 500 англоязычных слов в токенизатор и соответствующие строки в матрицу входных эмбеддингов NomicBert. Новые векторы инициализированы средними значениями векторов старых частей слов; дополнительного дообучения не проводилось.

Модель предназначена для преобразования текстов в эмбеддинги, например для поиска и сравнения академических публикаций по компьютерным наукам. Контекст составляет до 8192 токенов. Репозиторий распространяется по лицензии Apache-2.0. Для загрузки требуется trust_remote_code=True; README отмечает, что геометрия представлений для нового словаря может улучшиться после дальнейшего контрастивного обучения.

Сценарии применения

  • поиск академических статей по компьютерным наукам по смыслу
  • сравнение семантической близости научных текстов
  • индексация аннотаций и полных текстов публикаций
  • поиск документов по запросам с терминами компьютерных наук

Ограничения

Дополнительного дообучения не проводилось: новые эмбеддинги лишь инициализированы из представлений частей слов, поэтому качество доменных представлений может требовать дальнейшего контрастивного обучения. Для загрузки требуется trust_remote_code=True.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

nomic-embed-text-v1-unsupervised-cs-surgery

Surgically extended version of nomic-ai/nomic-embed-text-v1-unsupervised for academic Computer Science text.

Part 1 deliverable: expanded fast tokenizer + aligned input embeddings. No fine-tuning — new token rows are initialized with FVT (mean of old subword pieces).

Summary

Base modelnomic-ai/nomic-embed-text-v1-unsupervised
DomainAcademic CS (arxiv cs.* + Qasper)
Tokens added500 (lowercase NL whole words)
New token ids30522 … 31021
Embedding matrix[31040, 768] (pad ×64; was [30528, 768])
config.vocab_size31040
Init methodFVT — mean of former WordPiece piece embeddings
Transformer bodyUnchanged
TrainingNone (surgery only); intended for ≤512-token training later

How surgery was done

  1. Corpus — streamed ~250k arxiv papers with cs.* categories (title + abstract) + Qasper full text.
  2. Token selection — rank whole words by corpus frequency; keep those absent from Nomic vocab, fragmented into ≥2 pieces, freq ≥ 30, lowercase alpha ≥3 chars; drop LaTeX/placeholder artifacts; take top 500.
  3. Tokenizer — insert tokens into fast tokenizer source of truth: tokenizer.json → model.vocab (WordPiece). Sync vocab.txt as slow-path mirror only. Not HF add_tokens.
  4. Embeddings — build pad-aware W_new; copy rows 0..30521 unchanged; FVT-init new rows; set vocab_size=31040.
  5. Verify — round-trip: tokenize(term) → one new id → that id indexes the initialized row; old rows untouched; general-text cosine ≈ 1 vs base.

Added tokens (preview)

First 50 of 500:

dataset, stochastic, datasets, gaussian, clustering, convolutional, embedding, probabilistic, decoding, dynamical, deterministic, bayesian, segmentation, embeddings, markov, achieves, polarization, asymptotic, mimo, experimentally, outperforms, queries, iterative, metrics, benchmark, photonic, throughput, generalization, relativistic, characterize, heterogeneous, robustness, dispersion, localization, excitation, planar, numerically, dipole, classifier, correlations, architectures, decoder, approximations, frac, automata, variational, dielectric, recurrent, latent, optimized

Full list: added_domain_tokens.json

Files

FileDescription
model.safetensorsWeights including expanded embedding matrix
config.jsonvocab_size=31040, NomicBert config
tokenizer.jsonFast tokenizer with extended model.vocab
tokenizer_config.jsonTokenizer settings (do_lower_case, specials, …)
modeling_hf_nomic_bert.pyNomic remote modeling code (required)
configuration_hf_nomic_bert.pyNomic config class
added_domain_tokens.jsonAll 500 tokens + id map

Usage

from transformers import AutoTokenizer, AutoModel
import torch
import torch.nn.functional as F

repo = "OmarH455/nomic-embed-text-v1-unsupervised-cs-surgery"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModel.from_pretrained(repo, trust_remote_code=True)
model.eval()

# Round-trip check: domain term is one token
assert tok.tokenize("convolutional") == ["convolutional"]
assert tok.encode("bayesian", add_special_tokens=False) == [tok.convert_tokens_to_ids("bayesian")]

def mean_pool(out, mask):
    e = out[0]
    m = mask.unsqueeze(-1).expand(e.size()).float()
    return (e * m).sum(1) / m.sum(1).clamp(min=1e-9)

text = "search_document: Stochastic gradient methods for convolutional segmentation on large datasets."
enc = tok(text, return_tensors="pt")
with torch.no_grad():
    emb = mean_pool(model(**enc), enc["attention_mask"])
    emb = F.normalize(emb, p=2, dim=1)
print(emb.shape)  # [1, 768]

Verification (local)

python surgery/cs_phase4_verify.py

Checks: round-trip for all 500 tokens, pretrained rows unchanged, general-text cosine ≈ 1, domain sentence embeds cleanly.

Important notes

  • Default load uses the fast tokenizer; tokenizer.json is the source of truth (not vocab.txt alone).
  • Nomic pads embeddings to a multiple of 64 (30522 real vocab → 30528 matrix originally). New size 31040 follows the same rule.
  • New embeddings are warm-started only. Domain geometry improves after continued / contrastive training.
  • Requires trust_remote_code=True (NomicBert custom code).

References

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
NomicBertModel
Ревизия весов
e7b9c6b

0 моделей