Transformers 文档

DialoGPT

DialoGPT

概述

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 中提出的。它是一个基于从 Reddit 提取的 1.47 亿次类似对话的 GPT2 模型。

论文的摘要如下:

我们提出了一个大型、可调的神经对话响应生成模型,DialoGPT(对话生成预训练变换器)。该模型在从2005年到2017年期间从Reddit评论链中提取的1.47亿次类似对话的交流上进行训练,DialoGPT扩展了Hugging Face的PyTorch变换器,在单轮对话设置中的自动和人工评估方面达到了接近人类的表现。我们展示了利用DialoGPT的对话系统比强大的基线系统生成更相关、内容丰富且上下文一致的响应。预训练模型和训练管道已公开发布,以促进神经响应生成的研究和更智能的开放域对话系统的开发。

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

使用提示

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

训练:

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

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

< > Update on GitHub