Transformers 文档

DialoGPT

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

该模型于 2019-11-01 发布,并于 2020-11-16 添加到 Hugging Face Transformers。

DialoGPT

PyTorch

概述

DialoGPT 在 Yizhe Zhang、Siqi Sun、Michel Galley、Yen-Chun Chen、Chris Brockett、Xiang Gao、Jianfeng Gao、Jingjing Liu、Bill Dolan 提出的 DialoGPT: Large-Scale Generative Pre-training for Conversational Response Generation 中被提出。它是一个 GPT2 模型,在从 Reddit 提取的 1.47 亿个对话式交换数据上进行了训练。

论文摘要如下:

我们提出了一种大型、可调的神经对话回复生成模型 DialoGPT(对话生成预训练 Transformer)。DialoGPT 在从 2005 年至 2017 年间的 Reddit 评论链中提取的 1.47 亿个对话式交换数据上进行了训练,它扩展了 Hugging Face PyTorch Transformer,在单轮对话场景下的自动和人工评估中均达到了接近人类的性能。我们证明,利用 DialoGPT 的对话系统生成的回复比强大的基线系统更具相关性、内容丰富性和上下文一致性。我们公开发布了预训练模型和训练流程,以促进神经回复生成的研究和更智能的开放域对话系统的开发。

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

使用技巧

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

训练

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

DialoGPT 的架构基于 GPT2 模型,请参考GPT2 的文档页面以获取 API 参考和示例。

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.