/ Модель

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

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

dpr-question_encoder-single-lfqa-wiki

ЭмбеддингиТекст → embedding4 профессии

Англоязычный DPR-энкодер преобразует вопросы в векторы для поиска релевантных фрагментов в системах ответов на вопросы.

736скачиваний за 30 дней3лайкавеса обновлены27 ноя 2024

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

vblagoje/dpr-question_encoder-single-lfqa-wiki — англоязычный энкодер вопросов на архитектуре DPRQuestionEncoder, разработанный Владимиром Благоевичем. Он преобразует вопрос в векторное представление для поиска подходящих фрагментов текста в системе извлечения ответов на вопросы. Модель обучена в два этапа с использованием DPR-форматированных пар вопросов и ответов из LFQA, а затем примеров, отобранных из индекса Википедии.

Модель содержит 136,7 млн параметров, принимает текстовые вопросы с контекстом до 512 токенов и выдаёт векторные представления вопросов. Её можно использовать как вопросную часть плотного ретривера для поиска по корпусу; для полной системы нужен совместимый энкодер контекста, например парная модель vblagoje/dpr-ctx_encoder-single-lfqa-wiki.

Модель опубликована в форматах PyTorch и Safetensors под лицензией MIT. По описанию авторов, ретривер немного уступает результату REALM на бенчмарке KILT; качество поиска также зависит от корпуса и совместимости энкодера контекста.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Introduction

The question encoder model based on DPRQuestionEncoder architecture. It uses the transformer's pooler outputs as question representations. See blog post for more details.

Training

We trained vblagoje/dpr-question_encoder-single-lfqa-wiki using FAIR's dpr-scale in two stages. In the first stage, we used PAQ based pretrained checkpoint and fine-tuned the retriever on the question-answer pairs from the LFQA dataset. As dpr-scale requires DPR formatted training set input with positive, negative, and hard negative samples - we created a training file with an answer being positive, negatives being question unrelated answers, while hard negative samples were chosen from answers on questions between 0.55 and 0.65 of cosine similarity. In the second stage, we created a new DPR training set using positives, negatives, and hard negatives from the Wikipedia/Faiss index created in the first stage instead of LFQA dataset answers. More precisely, for each dataset question, we queried the first stage Wikipedia Faiss index and subsequently used SBert cross-encoder to score questions/answers (passage) pairs with topk=50. The cross-encoder selected the positive passage with the highest score, while the bottom seven answers were selected for hard-negatives. Negative samples were again chosen to be answers unrelated to a given dataset question. After creating a DPR formatted training file with Wikipedia sourced positive, negative, and hard negative passages, we trained DPR-based question/passage encoders using dpr-scale.

Performance

LFQA DPR-based retriever (vblagoje/dpr-question_encoder-single-lfqa-wiki and vblagoje/dpr-ctx_encoder-single-lfqa-wiki) slightly underperform 'state-of-the-art' Krishna et al. "Hurdles to Progress in Long-form Question Answering" REALM based retriever with KILT benchmark performance of 11.2 for R-precision and 19.5 for Recall@5.

Usage

from transformers import DPRContextEncoder, DPRContextEncoderTokenizer

model = DPRQuestionEncoder.from_pretrained("vblagoje/dpr-question_encoder-single-lfqa-wiki").to(device)
tokenizer = AutoTokenizer.from_pretrained("vblagoje/dpr-question_encoder-single-lfqa-wiki")

input_ids = tokenizer("Why do airplanes leave contrails in the sky?", return_tensors="pt")["input_ids"]
embeddings = model(input_ids).pooler_output

Author

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

Класс архитектуры
DPRQuestionEncoder
Ревизия весов
4ce4936

0 моделей