57 lines
3.1 KiB
Markdown
57 lines
3.1 KiB
Markdown
<!--Copyright 2020 The HuggingFace Team. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
|
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations under the License.
|
|
|
|
⚠️ Note that this file is in Markdown but contain specific syntax for our doc-builder (similar to MDX) that may not be
|
|
rendered properly in your Markdown viewer.
|
|
|
|
-->
|
|
|
|
# DialoGPT
|
|
|
|
## Overview
|
|
|
|
DialoGPT was proposed in [DialoGPT: Large-Scale Generative Pre-training for Conversational Response Generation](https://arxiv.org/abs/1911.00536) by Yizhe Zhang, Siqi Sun, Michel Galley, Yen-Chun Chen, Chris Brockett, Xiang Gao,
|
|
Jianfeng Gao, Jingjing Liu, Bill Dolan. It's a GPT2 Model trained on 147M conversation-like exchanges extracted from
|
|
Reddit.
|
|
|
|
The abstract from the paper is the following:
|
|
|
|
*We present a large, tunable neural conversational response generation model, DialoGPT (dialogue generative pre-trained
|
|
transformer). Trained on 147M conversation-like exchanges extracted from Reddit comment chains over a period spanning
|
|
from 2005 through 2017, DialoGPT extends the Hugging Face PyTorch transformer to attain a performance close to human
|
|
both in terms of automatic and human evaluation in single-turn dialogue settings. We show that conversational systems
|
|
that leverage DialoGPT generate more relevant, contentful and context-consistent responses than strong baseline
|
|
systems. The pre-trained model and training pipeline are publicly released to facilitate research into neural response
|
|
generation and the development of more intelligent open-domain dialogue systems.*
|
|
|
|
The original code can be found [here](https://github.com/microsoft/DialoGPT).
|
|
|
|
## Usage tips
|
|
|
|
- DialoGPT is a model with absolute position embeddings so it's usually advised to pad the inputs on the right rather
|
|
than the left.
|
|
- DialoGPT was trained with a causal language modeling (CLM) objective on conversational data and is therefore powerful
|
|
at response generation in open-domain dialogue systems.
|
|
- DialoGPT enables the user to create a chat bot in just 10 lines of code as shown on [DialoGPT's model card](https://huggingface.co/microsoft/DialoGPT-medium).
|
|
|
|
Training:
|
|
|
|
In order to train or fine-tune DialoGPT, one can use causal language modeling training. To cite the official paper: *We
|
|
follow the OpenAI GPT-2 to model a multiturn dialogue session as a long text and frame the generation task as language
|
|
modeling. We first concatenate all dialog turns within a dialogue session into a long text x_1,..., x_N (N is the
|
|
sequence length), ended by the end-of-text token.* For more information please confer to the original paper.
|
|
|
|
<Tip>
|
|
|
|
DialoGPT's architecture is based on the GPT2 model, refer to [GPT2's documentation page](gpt2) for API reference and examples.
|
|
|
|
</Tip>
|