/ Модель

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

Контекст
514 токенов
Параметры
659 млн
Лицензия
CC BY-NC 4.0
Архитектура
roberta · dense
Опубликована
2 мар 2022

vi-mrc-large

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

Дообученная XLM-RoBERTa для извлечения ответов из контекста по вопросам, в первую очередь на вьетнамском языке.

114скачиваний за 30 дней6лайковвеса обновлены13 мар 2022

Бенчмарки

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

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

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

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

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

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

nguyenvulebinh/vi-mrc-large — модель для извлечения ответов из текста на основе XLM-RoBERTa, разработанная Binh Nguyen. Она дообучена для многоязычного поиска фрагмента ответа по вопросу и контексту, прежде всего на вьетнамском языке; английский также поддерживается. Обучение включало Squad 2.0, mailong25, VLSP MRC 2021 и MultiLingual Question Answering.

Модель использует архитектуру XLM-RoBERTa для ответов на вопросы и содержит 658,7 млн параметров. Максимальная длина контекста — 514 токенов. В описанном автором эксперименте модель заняла первое место в задаче VLSP MRC 2021; README приводит метрики EM и F1 для публичного и закрытого тестовых наборов. Для более точного инференса автор предлагает вариант, который объединяет представления подслов в представления слов суммированием; стандартный интерфейс Hugging Face этот приём не использует.

Модель распространяется по лицензии CC BY-NC 4.0, которая ограничивает коммерческое использование. Она предназначена для извлечения ответов из предоставленного контекста, а не для генерации свободных ответов; качество английской версии отдельно не оценено в карточке.

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

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

Ограничения

Для качественного инференса автор рекомендует объединять представления подслов суммированием; обычный pipeline Hugging Face этого не делает. Английский поддерживается, но приведённые оценки относятся к вьетнамскому тестовому набору.

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

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

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

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

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

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

Открыть на Hugging Face

Model Description

This model is intended to be used for QA in the Vietnamese language so the valid set is Vietnamese only (but English works fine). The evaluation result below uses the VLSP MRC 2021 test set. This experiment achieves TOP 1 on the leaderboard.

ModelEMF1
large public_test_set85.84783.826
large private_test_set82.07278.071
Public leaderboardPrivate leaderboard

MRCQuestionAnswering using XLM-RoBERTa as a pre-trained language model. By default, XLM-RoBERTa will split word in to sub-words. But in my implementation, I re-combine sub-words representation (after encoded by BERT layer) into word representation using sum strategy.

Using pre-trained model

Open In Colab

  • Hugging Face pipeline style (NOT using sum features strategy).
from transformers import pipeline
# model_checkpoint = "nguyenvulebinh/vi-mrc-large"
model_checkpoint = "nguyenvulebinh/vi-mrc-base"
nlp = pipeline('question-answering', model=model_checkpoint,
                   tokenizer=model_checkpoint)
QA_input = {
  'question': "Bình là chuyên gia về gì ?",
  'context': "Bình Nguyễn là một người đam mê với lĩnh vực xử lý ngôn ngữ tự nhiên . Anh nhận chứng chỉ Google Developer Expert năm 2020"
}
res = nlp(QA_input)
print('pipeline: {}'.format(res))
#{'score': 0.5782045125961304, 'start': 45, 'end': 68, 'answer': 'xử lý ngôn ngữ tự nhiên'}
from infer import tokenize_function, data_collator, extract_answer
from model.mrc_model import MRCQuestionAnswering
from transformers import AutoTokenizer

model_checkpoint = "nguyenvulebinh/vi-mrc-large"
#model_checkpoint = "nguyenvulebinh/vi-mrc-base"
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = MRCQuestionAnswering.from_pretrained(model_checkpoint)

QA_input = {
  'question': "Bình được công nhận với danh hiệu gì ?",
  'context': "Bình Nguyễn là một người đam mê với lĩnh vực xử lý ngôn ngữ tự nhiên . Anh nhận chứng chỉ Google Developer Expert năm 2020"
}

inputs = [tokenize_function(*QA_input)]
inputs_ids = data_collator(inputs)
outputs = model(**inputs_ids)
answer = extract_answer(inputs, outputs, tokenizer)

print(answer)
# answer: Google Developer Expert. Score start: 0.9926977753639221, Score end: 0.9909810423851013

About

Built by Binh Nguyen Follow For more details, visit the project repository. GitHub stars

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
XLMRobertaForQuestionAnswering
Ревизия весов
732c309

0 моделей