/ Модель

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

Контекст
2 048 токенов
Лицензия
Apache 2.0
Архитектура
nomic_bert · dense
Опубликована
4 янв 2024

nomic-bert-2048

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

Англоязычная BERT-модель Nomic AI с контекстом до 2048 токенов для заполнения пропусков и дообучения на задачах понимания текста.

2 634скачиваний за 30 дней54лайкавеса обновлены29 апр 2025

Бенчмарки

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

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

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

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

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

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

nomic-ai/nomic-bert-2048 — англоязычная модель семейства NomicBERT, разработанная Nomic AI и предварительно обученная на Wikipedia и BookCorpus. Это плотная BERT-архитектура для работы с последовательностями длиной до 2048 токенов; модель поддерживает задачу fill-mask и может служить основой для дообучения классификатора последовательностей и других задач понимания текста.

В обучении используются Rotary Position Embeddings, позволяющие экстраполировать контекст, и активации SwiGLU; dropout отключён. В оценке на GLUE модель показала средний результат 0,84, сопоставимый с другими BERT-моделями, при более длинном контексте, чем у приведённых в карточке базовых моделей. Доступны веса PyTorch и Safetensors.

Модель рассчитана на английский текст. Её можно дообучить для классификации текста, разметки токенов, ответов на вопросы и задач с выбором ответа. Это энкодер для понимания текста, а не генеративный чат-бот. Лицензия — Apache-2.0.

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

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

Ограничения

Модель предварительно обучена для английского языка и не является генеративным чат-ботом; для задач классификации, разметки и ответов на вопросы требуется дообучение соответствующей головы.

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

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

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

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

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

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

Открыть на Hugging Face

nomic-bert-2048: A 2048 Sequence Length Pretrained BERT

nomic-bert-2048 is a BERT model pretrained on wikipedia and bookcorpus with a max sequence length of 2048.

We make several modifications to our BERT training procedure similar to MosaicBERT. Namely, we add:

We evaluate the quality of nomic-bert-2048 on the standard GLUE benchmark. We find it performs comparably to other BERT models but with the advantage of a significantly longer context length.

ModelBszStepsSeqAvgColaSST2MRPCSTSBQQPMNLIQNLIRTE
NomicBERT4k100k20480.840.500.930.880.900.920.860.920.82
RobertaBase8k500k5120.860.640.950.900.910.920.880.930.79
JinaBERTBase4k100k5120.830.510.950.880.900.810.860.920.79
MosaicBERT4k178k1280.850.590.940.890.900.920.860.910.83

Pretraining Data

We use BookCorpus and a 2023 dump of wikipedia. We pack and tokenize the sequences to 2048 tokens. If a document is shorter than 2048 tokens, we append another document until it fits 2048 tokens. If a document is greater than 2048 tokens, we split it across multiple documents. We release the dataset here

Usage

from transformers import AutoModelForMaskedLM, AutoConfig, AutoTokenizer, pipeline

tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased') # `nomic-bert-2048` uses the standard BERT tokenizer

config = AutoConfig.from_pretrained('nomic-ai/nomic-bert-2048', trust_remote_code=True) # the config needs to be passed in
model = AutoModelForMaskedLM.from_pretrained('nomic-ai/nomic-bert-2048',config=config, trust_remote_code=True)

# To use this model directly for masked language modeling
classifier = pipeline('fill-mask', model=model, tokenizer=tokenizer,device="cpu")

print(classifier("I [MASK] to the store yesterday."))

To finetune the model for a Sequence Classification task, you can use the following snippet

from transformers import AutoConfig, AutoModelForSequenceClassification
model_path = "nomic-ai/nomic-bert-2048"
config = AutoConfig.from_pretrained(model_path, trust_remote_code=True)
# strict needs to be false here since we're initializing some new params
model = AutoModelForSequenceClassification.from_pretrained(model_path, config=config, trust_remote_code=True, strict=False)

Join the Nomic Community

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей