DialoGPT model fine-tuned using Amazon's Topical Chat Dataset

This model is fine-tuned from the original DialoGPT-medium.

This model was fine-tuned on a subset of messages from Amazon's Topical Chat dataset (due to processing limitations, I restricted my training data to 50,000 observations.

The dataset spands 8 broad topics and contains conversation partner who do not have defined roles. It was created with the goal of aiding in the effort to build a socialbot that can have deep, engaging open-domain conversations with humans.

The eight broad topics are:

  • fashion
  • politics
  • books
  • sports
  • general entertainment
  • music
  • science and technology
  • movies

Sample dialogue:

Role Response
User: What kind of movies do you like?
Bot: I like marvel movies like iron man
User: Do you like horror films?
Bot: Yea, I like the horror films that have macabre and supernatural themes the most
User: Interesting.
Bot: If you watch a horror movie before you view abstract art, you will enjoy the art more
User: Speaking from experience?
Bot: Yes, I've seen many horror movies where the characters were quite evil and supernatural.

Using the model

Example code for trying out the model (taken directly from the DialoGPT-medium model card):

from transformers import AutoModelWithLMHead, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("satkinson/DialoGPT-small-marvin")
model = AutoModelWithLMHead.from_pretrained("satkinson/DialoGPT-small-marvin")
# 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: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))
Downloads last month
26
Safetensors
Model size
380M params
Tensor type
F32
·
U8
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.