/ Модель

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

Контекст
1 024 токена
Лицензия
CC BY 4.0
Архитектура
gpt2 · dense

dialogpt_mwoz

Генерация текстаТекст → текст

Дообученная на MultiWOZ v2.2 модель DialoGPT для текстовых диалогов о поездках, размещении, ресторанах и связанных услугах.

18скачиваний за 30 дней6лайковвеса обновлены2 дек 2021

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DialoGPTMWOZ — разговорная языковая модель, разработанная дообучением DialoGPT medium на наборе MultiWOZ v2.2. Она предназначена для генерации ответов в диалогах о ресторанах, отелях, такси, поездах, больницах и полиции. Модель построена на архитектуре GPT-2, принимает текст и генерирует текст; длина контекста — 1024 токена.

В README приведены значения perplexity 10,25 на тестовой и 10,71 на валидационной выборках. Из-за ограниченной тематики MultiWOZ модель может быть неуместна в диалогах на другие темы и выдавать некорректные ответы. Репозиторий содержит веса PyTorch; лицензия — CC BY 4.0.

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

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

Ограничения

Обучающие данные охватывают ограниченный набор предметных областей, поэтому модель может плохо отвечать на запросы вне них. В README приведены perplexity 10,25 на тестовой и 10,71 на валидационной выборках; эти значения сами по себе не гарантируют качество конкретного ответа.

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

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

Открыть на Hugging Face

DialoGPT_MWOZ

This is a fine-tuned model of DialoGPT (medium) on the MultiWOZ v2.2 dataset. It is intended to be used as a conversational system. The dataset it's trained on is limited in scope, as it covers only certain domains such as restaurants, hotel, taxi, train, hospital and police.

The perplexity achieved on the test and validation sets are 10.25 and 10.71, respectively. More information about the original pre-trained model can be found here

  • Generation example from an interactive environment:
RoleResponse
UserI would like to have breakfast.
BotThere are several options for Chinese in the city centre. Are you looking for a particular price range?
UserI'm looking for free food
BotThere are 4 Chinese restaurants that are in the cheap price range. 3 in centre and one in north.
UserNot good enough
BotHow about Charlie Chan? It is a Chinese restaurant in the centre of town.

Please find the information about preprocessing, training and full details of the DialoGPT in the original DialoGPT repository

The paper for this work was accepted at the Northern Lights Deep Learning (NLDL) conference 2022. Arxiv paper: https://arxiv.org/pdf/2110.06273.pdf

How to use

Now we are ready to try out how the model works as a chatting partner!

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("tosin/dialogpt_mwoz")
model = AutoModelForCausalLM.from_pretrained("tosin/dialogpt_mwoz")
# Let's chat for 5 lines
for step in range(5):
	# encode the new user input, add the eos_token and return a tensor in Pytorch
	new_user_input_ids = tokenizer.encode(input(">> User:") + tokenizer.eos_token, return_tensors='pt')
	# append the new user input tokens to the chat history
	bot_input_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1) if step > 0 else new_user_input_ids
	# generated a response while limiting the total chat history to 1000 tokens, 
	chat_history_ids = model.generate(bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
	# pretty print last ouput tokens from bot
	print("DialoGPT_MWOZ_Bot: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей