GODEL-v1_1-large-seq2seq项目介绍
GODEL是一款专为目标导向对话设计的大规模预训练模型。这个模型基于Transformer架构的编码器-解码器设计,以生成基于外部文本的响应为训练目标。这种设计使得在需要使用外部信息(如检索文档)来生成对话时,可以更加有效调优并适应新的任务。通过少量的特定任务对话,预训练模型可以高效地进行微调和适应。
训练数据和模型特性
GODEL v1.1版本使用了来自Reddit讨论线程的5.51亿多轮对话数据,以及500万条基于指令和知识的对话进行训练。这个版本的模型能够在交互环境中提供多轮对话生成的示例,并展示其在轶事聊天和基于知识的响应生成方面的能力。
多轮生成示例
以下是基于GODEL模型进行互动环境的生成示例:
闲聊示例:
指令: 给定对话上下文,你需要发表富有同理心的回应。
用户: 钱能买到幸福吗?
代理: 这是个问题。钱可以买到很多东西,但不一定能买到幸福。
用户: 买幸福的最佳方法是什么?
代理: 幸福是通过体验而非金钱来获得的。
基于知识的回应示例:
指令: 给定对话上下文和相关知识,你需要依据知识安全地回应。
知识: Stardew Valley中最好的模组 PCGamesN_0 / 关于SMAPI
用户: 我最喜欢的游戏是Stardew Valley,玩起来很有趣。
代理: 我喜欢Stardew Valley的模组,比如PCGamesN_0 / 关于SMAPI。
关于GODEL的详细信息可以在项目页面上找到。
如何使用
GODEL模型可作为聊天伙伴。以下是一个简单的Python代码示例,可以用来尝试模型如何在对话中生成反应:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("microsoft/GODEL-v1_1-large-seq2seq")
model = AutoModelForSeq2SeqLM.from_pretrained("microsoft/GODEL-v1_1-large-seq2seq")
def generate(instruction, knowledge, dialog):
if knowledge != '':
knowledge = '[KNOWLEDGE] ' + knowledge
dialog = ' EOS '.join(dialog)
query = f"{instruction} [CONTEXT] {dialog} {knowledge}"
input_ids = tokenizer(f"{query}", return_tensors="pt").input_ids
outputs = model.generate(input_ids, max_length=128, min_length=8, top_p=0.9, do_sample=True)
output = tokenizer.decode(outputs[0], skip_special_tokens=True)
return output
instruction = f'Instruction: given a dialog context, you need to response empathically.'
knowledge = ''
dialog = [
'Does money buy happiness?',
'It is a question. Money buys you a lot of things, but not enough to buy happiness.',
'What is the best way to buy happiness ?'
]
response = generate(instruction, knowledge, dialog)
print(response)
引用
如果您在研究中使用此代码和数据,请引用我们的arxiv论文:
@misc{peng2022godel,
author = {Peng, Baolin and Galley, Michel and He, Pengcheng and Brockett, Chris and Liden, Lars and Nouri, Elnaz and Yu, Zhou and Dolan, Bill and Gao, Jianfeng},
title = {GODEL: Large-Scale Pre-training for Goal-Directed Dialog},
howpublished = {arXiv},
year = {2022},
month = {June},
url = {https://www.microsoft.com/en-us/research/publication/godel-large-scale-pre-training-for-goal-directed-dialog/},
}