Transformers 文档

DialoGPT

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

DialoGPT

概述

DialoGPT 在 Yizhe Zhang、Siqi Sun、Michel Galley、Yen-Chun Chen、Chris Brockett、Xiang Gao、Jianfeng Gao、Jingjing Liu 和 Bill Dolan 发表的论文 DialoGPT:用于会话响应生成的规模化生成式预训练 中被提出。它是一个 GPT2 模型,在从 Reddit 中提取的 1.47 亿个类似对话的交换中进行训练。

论文摘要如下:

我们提出了一种大型的可调谐神经对话响应生成模型,DialoGPT(对话生成式预训练 Transformer)。DialoGPT 在从 2005 年到 2017 年期间从 Reddit 评论链中提取的 1.47 亿个类似对话的交换中进行训练,扩展了 Hugging Face PyTorch Transformer,在单轮对话场景中,其性能在自动和人工评估方面均接近人类水平。我们表明,利用 DialoGPT 的对话系统生成的响应比强大的基线系统更相关、更有内容和更具上下文一致性。预训练模型和训练管道已公开发布,以促进对神经响应生成的研究以及更智能的开放域对话系统的开发。

原始代码可以在这里找到 这里

使用技巧

  • DialoGPT 模型使用了绝对位置嵌入,因此通常建议在右侧填充输入而不是左侧。
  • DialoGPT 使用因果语言建模 (CLM) 目标在对话数据上进行训练,因此在开放域对话系统中生成回复非常强大。
  • DialoGPT 模型卡片 所示,DialoGPT 允许用户仅用 10 行代码创建聊天机器人。

训练

为了训练或微调 DialoGPT,可以使用因果语言建模训练。引用官方论文:我们遵循 OpenAI GPT-2 将多轮对话会话建模为长文本,并将生成任务设定为语言建模。我们首先将对话会话中的所有对话轮次连接成一个长文本 x_1,…, x_N(N 是序列长度),并在末尾添加文本结束标记。 更多信息请参考原始论文。

DialoGPT 的架构基于 GPT2 模型,有关 API 参考和示例,请参考 GPT2 的文档页面

< > GitHub 更新