/ Модель

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

Контекст
4 098 токенов
Параметры
152 млн
Архитектура
longformer · dense
Опубликована
2 мар 2022

longformer-base-4096-finetuned-squadv2

Ответы на вопросыТекст → текст4 профессии

Longformer-base-4096, дообученная на SQuAD v2 модель для ответов на вопросы по длинному англоязычному контексту.

158скачиваний за 30 дней15лайковвеса обновлены5 дек 2022

Бенчмарки

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

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

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

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

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

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

Это модель Longformer-base-4096, дообученная mrm8488 на наборе SQuAD v2 для ответов на вопросы по переданному тексту. Она предназначена для извлечения ответа из контекста и умеет возвращать пустой ответ, когда в контексте нет ответа на вопрос.

Модель построена на архитектуре Longformer — варианте Transformer с локальным скользящим вниманием и настраиваемым глобальным вниманием. Она поддерживает последовательности длиной до 4098 токенов и содержит около 151,8 млн параметров. Базовый Longformer был инициализирован из RoBERTa и предварительно обучен на длинных документах; доступны веса PyTorch и TensorFlow. Основной язык карточки и набора SQuAD v2 — английский.

Модель подходит для вопросов по длинным англоязычным документам, если нужный ответ содержится в предоставленном контексте. Она обучена на SQuAD v2, поэтому её качество на других типах текста и предметных областях может отличаться; это модель извлечения ответа, а не универсальный генератор ответов. Лицензия в предоставленных данных не указана.

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

  • поиск ответа на вопрос в англоязычном документе
  • ответы на вопросы по длинным текстам до 4098 токенов
  • определение, содержится ли ответ в предоставленном контексте

Ограничения

Обучение проводилось на SQuAD v2, поэтому качество на других жанрах и предметных областях может отличаться. Модель ищет ответ в заданном контексте и может вернуть пустой ответ, если ответа там нет.

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

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

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

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

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

Открыть на Hugging Face

Longformer-base-4096 fine-tuned on SQuAD v2

Longformer-base-4096 model fine-tuned on SQuAD v2 for Q&A downstream task.

Longformer-base-4096

Longformer is a transformer model for long documents.

longformer-base-4096 is a BERT-like model started from the RoBERTa checkpoint and pretrained for MLM on long documents. It supports sequences of length up to 4,096.

Longformer uses a combination of a sliding window (local) attention and global attention. Global attention is user-configured based on the task to allow the model to learn task-specific representations.

Details of the downstream task (Q&A) - Dataset 📚 🧐 ❓

Dataset ID: squad_v2 from HuggingFace/Datasets

DatasetSplit# samples
squad_v2train130319
squad_v2valid11873

How to load it from datasets

!pip install datasets
from datasets import load_dataset
dataset = load_dataset('squad_v2')

Check out more about this dataset and others in Datasets Viewer

Model fine-tuning 🏋️‍

The training script is a slightly modified version of this one

Model in Action 🚀

import torch
from transformers import AutoTokenizer, AutoModelForQuestionAnswering
ckpt = "mrm8488/longformer-base-4096-finetuned-squadv2"
tokenizer = AutoTokenizer.from_pretrained(ckpt)
model = AutoModelForQuestionAnswering.from_pretrained(ckpt)

text = "Huggingface has democratized NLP. Huge thanks to Huggingface for this."
question = "What has Huggingface done ?"
encoding = tokenizer(question, text, return_tensors="pt")
input_ids = encoding["input_ids"]

# default is local attention everywhere
# the forward method will automatically set global attention on question tokens
attention_mask = encoding["attention_mask"]

start_scores, end_scores = model(input_ids, attention_mask=attention_mask)
all_tokens = tokenizer.convert_ids_to_tokens(input_ids[0].tolist())

answer_tokens = all_tokens[torch.argmax(start_scores) :torch.argmax(end_scores)+1]
answer = tokenizer.decode(tokenizer.convert_tokens_to_ids(answer_tokens))

# output => democratized NLP

Usage with HF pipleine

from transformers import AutoTokenizer, AutoModelForQuestionAnswering, pipeline

ckpt = "mrm8488/longformer-base-4096-finetuned-squadv2"
tokenizer = AutoTokenizer.from_pretrained(ckpt)
model = AutoModelForQuestionAnswering.from_pretrained(ckpt)

qa = pipeline("question-answering", model=model, tokenizer=tokenizer)

text = "Huggingface has democratized NLP. Huge thanks to Huggingface for this."
question = "What has Huggingface done?"

qa({"question": question, "context": text})

If given the same context we ask something that is not there, the output for no answer will be <s>

Created by Manuel Romero/@mrm8488 | LinkedIn

Made with ♥ in Spain

ko-fi

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей