/ Модель

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

Контекст
514 токенов
Параметры
305 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense

mfaq

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

Многоязычная модель на базе XLM-RoBERTa для ранжирования ответов FAQ по заданному вопросу.

1 535скачиваний за 30 дней35лайковвеса обновлены15 окт 2021

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MFAQ — многоязычная модель для поиска ответов на часто задаваемые вопросы, разработанная Maxime De Bruyn, Ehsan Lotfi, Jeska Buhmann и Walter Daelemans. Она обучена на наборе данных MFAQ и ранжирует варианты ответов по соответствию заданному вопросу.

Модель основана на XLM-RoBERTa, содержит 305,3 млн параметров и принимает текстовые вопросы и кандидаты ответов для вычисления их семантической близости. Её можно использовать через Sentence Transformers или Hugging Face Transformers; доступны веса PyTorch и TensorFlow. Контекст — до 514 токенов.

Подходит для построения многоязычного поиска по FAQ и выбора наиболее релевантного ответа из подготовленного набора. Поддерживаемые языки включают чешский, датский, немецкий, английский, испанский, финский, французский, иврит, хорватский, венгерский, индонезийский, итальянский, нидерландский, норвежский, польский, португальский, румынский, русский, шведский и турецкий. Лицензия — Apache-2.0.

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

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

Ограничения

Модель ранжирует только предоставленные варианты ответов и не предназначена для самостоятельной генерации ответов. Контекст ограничен 514 токенами.

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

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

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

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

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

Открыть на Hugging Face

MFAQ

We present a multilingual FAQ retrieval model trained on the MFAQ dataset, it ranks candidate answers according to a given question.

Installation

pip install sentence-transformers transformers

Usage

You can use MFAQ with sentence-transformers or directly with a HuggingFace model. In both cases, questions need to be prepended with <Q>, and answers with <A>.

Sentence Transformers

from sentence_transformers import SentenceTransformer

question = "<Q>How many models can I host on HuggingFace?"
answer_1 = "<A>All plans come with unlimited private models and datasets."
answer_2 = "<A>AutoNLP is an automatic way to train and deploy state-of-the-art NLP models, seamlessly integrated with the Hugging Face ecosystem."
answer_3 = "<A>Based on how much training data and model variants are created, we send you a compute cost and payment link - as low as $10 per job."

model = SentenceTransformer('clips/mfaq')
embeddings = model.encode([question, answer_1, answer_3, answer_3])
print(embeddings)

HuggingFace Transformers

from transformers import AutoTokenizer, AutoModel
import torch

def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0] #First element of model_output contains all token embeddings
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)

question = "<Q>How many models can I host on HuggingFace?"
answer_1 = "<A>All plans come with unlimited private models and datasets."
answer_2 = "<A>AutoNLP is an automatic way to train and deploy state-of-the-art NLP models, seamlessly integrated with the Hugging Face ecosystem."
answer_3 = "<A>Based on how much training data and model variants are created, we send you a compute cost and payment link - as low as $10 per job."

tokenizer = AutoTokenizer.from_pretrained('clips/mfaq')
model = AutoModel.from_pretrained('clips/mfaq')

# Tokenize sentences
encoded_input = tokenizer([question, answer_1, answer_3, answer_3], padding=True, truncation=True, return_tensors='pt')

# Compute token embeddings
with torch.no_grad():
    model_output = model(**encoded_input)

# Perform pooling. In this case, max pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])

Training

You can find the training script for the model here.

People

This model was developed by Maxime De Bruyn, Ehsan Lotfi, Jeska Buhmann and Walter Daelemans.

Citation information

@misc{debruyn2021mfaq,
      title={MFAQ: a Multilingual FAQ Dataset}, 
      author={Maxime De Bruyn and Ehsan Lotfi and Jeska Buhmann and Walter Daelemans},
      year={2021},
      eprint={2109.12870},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей