/ Модель

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

Контекст
512 токенов
Параметры
80,1 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
2 мар 2022

tinybert-6l-768d-squad2

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

Компактная англоязычная BERT-модель deepset для извлечения ответов на вопросы из текста.

92скачиваний за 30 дней2лайкавеса обновлены26 сен 2024

Бенчмарки

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

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

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

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

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

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

deepset/tinybert-6l-768d-squad2 — англоязычная модель для извлекающего ответа на вопросы, разработанная deepset. Она находит в переданном тексте фрагмент, отвечающий на вопрос, и предназначена для поиска ответов в документах, в том числе в конвейерах Haystack. Модель основана на TinyBERT General 6L 768D и обучена методом дистилляции промежуточных и предсказательных слоёв с учителем deepset/bert-base-uncased-squad2. Для обучения использовались данные SQuAD 2.0; оценка проводилась на dev-разбиении этого набора.

Это плотная BERT-модель класса BertForQuestionAnswering с 80,1 млн параметров и контекстом до 512 токенов. Модель принимает текст и возвращает текстовый ответ, работает на английском языке. Опубликованные форматы весов — PyTorch и Safetensors. Лицензия — MIT.

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

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

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

Ограничения

Работает с английским текстом и ограничена контекстом до 512 токенов; длинные документы необходимо разбивать на фрагменты. Предназначена для извлечения ответа из заданного контекста, а не для свободной генерации текста.

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

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

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

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

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

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

Открыть на Hugging Face

tinybert for Extractive QA

Overview

Language model: deepset/tinybert-6L-768D-squad2
Language: English
Training data: SQuAD 2.0 training set x 20 augmented + SQuAD 2.0 training set without augmentation
Eval data: SQuAD 2.0 dev set Code: See an example extractive QA pipeline built with Haystack
Infrastructure: 1x V100 GPU
Published: Dec 8th, 2021

Details

  • Haystack's intermediate layer and prediction layer distillation features were used for training (based on TinyBERT). deepset/bert-base-uncased-squad2 was used as the teacher model and huawei-noah/TinyBERT_General_6L_768D was used as the student model.

Hyperparameters

Intermediate layer distillation

batch_size = 26
n_epochs = 5
max_seq_len = 384
learning_rate = 5e-5
lr_schedule = LinearWarmup
embeds_dropout_prob = 0.1
temperature = 1

Prediction layer distillation

batch_size = 26
n_epochs = 5
max_seq_len = 384
learning_rate = 3e-5
lr_schedule = LinearWarmup
embeds_dropout_prob = 0.1
temperature = 1
distillation_loss_weight = 1.0

Usage

In Haystack

Haystack is an AI orchestration framework to build customizable, production-ready LLM applications. You can use this model in Haystack to do extractive question answering on documents. To load and run the model with Haystack:

# After running pip install haystack-ai "transformers[torch,sentencepiece]"

from haystack import Document
from haystack.components.readers import ExtractiveReader

docs = [
    Document(content="Python is a popular programming language"),
    Document(content="python ist eine beliebte Programmiersprache"),
]

reader = ExtractiveReader(model="deepset/tinybert-6l-768d-squad2")
reader.warm_up()

question = "What is a popular programming language?"
result = reader.run(query=question, documents=docs)
# {'answers': [ExtractedAnswer(query='What is a popular programming language?', score=0.5740374326705933, data='python', document=Document(id=..., content: '...'), context=None, document_offset=ExtractedAnswer.Span(start=0, end=6),...)]}

For a complete example with an extractive question answering pipeline that scales over many documents, check out the corresponding Haystack tutorial.

In Transformers

from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline

model_name = "deepset/tinybert-6l-768d-squad2"

# a) Get predictions
nlp = pipeline('question-answering', model=model_name, tokenizer=model_name)
QA_input = {
    'question': 'Why is model conversion important?',
    'context': 'The option to convert models between FARM and transformers gives freedom to the user and let people easily switch between frameworks.'
}
res = nlp(QA_input)

# b) Load model & tokenizer
model = AutoModelForQuestionAnswering.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

Performance

"exact": 71.87736882001179
"f1": 76.36111895973675

Authors

  • Timo Möller: timo.moeller [at] deepset.ai
  • Julian Risch: julian.risch [at] deepset.ai
  • Malte Pietsch: malte.pietsch [at] deepset.ai
  • Michel Bartels: michel.bartels [at] deepset.ai

About us

deepset is the company behind the production-ready open-source AI framework Haystack.

Some of our other work:

Get in touch and join the Haystack community

We also have a Discord community open to everyone!

Twitter | LinkedIn | Discord | GitHub Discussions | Website | YouTube

By the way: we're hiring!

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForQuestionAnswering
Ревизия весов
2483bb0

0 моделей