对话机器人是人工智能领域的一个重要方向,它可以与人类进行自然、流畅、有趣的交流,从而实现各种任务或娱乐目的。然而,要让机器人能够理解和生成复杂多样的自然语言,并且适应不同的对话场景和用户需求,是一项极具挑战性的工作。
近年来,随着深度学习技术和大规模数据集的发展,预训练语言模型(PLM)成为了提升自然语言处理(NLP)任务性能的一种有效方法。预训练语言模型通过在大量无标注文本上进行无监督学习,可以捕获丰富的语义、句法和常识知识,并且可以通过微调或生成式方法应用到下游任务中。
其中,以GPT系列为代表的自回归预训练语言模型(AR-PLM),由于其强大的生成能力,在对话机器人领域取得了令人瞩目的成果。例如,在年7月发布的美国OpenAI公司开发的GPT-3模型,在多个对话评测指标上都达到了接近或超越人类水平的表现。然而,GPT-3模型并不是完美的,它也存在着一些问题,比如:
GPT-3模型是一个闭源的商业产品,普通用户无法直接使用或修改它,只能通过API接口进行有限的访问和调用;
GPT-3模型是一个英文为主的语言模型,对于中文等其他语言的支持并不充分,尤其是在对话场景中,中文的语法、语义和文化特点与英文有很大差异;
GPT-3模型是一个参数规模巨大的语言模型,需要高端的硬件设备和计算资源才能运行和训练,这对于大多数研究者和开发者来说是难以承受的。
为了解决这些问题,清华大学知识工程和数据挖掘小组(KEG)与智谱AI公司联合开源了ChatGLM-6B,这是一个基于GLM架构的中英双语对话语言模型,具有62亿参数。该模型结合了模型量化技术,可以在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存),为对话机器人的研发和应用提供了便利。
ChatGLM-6B是清华系ChatGPT的一员,它继承了清华大学KEG实验室与智谱AI公司于年8月发布的GLM-B模型(一种包含多目标函数的自回归预训练语言模型)的优势。相比于其他预训练语言模型(如BERT、GPT-3以及T5),GLM架构具有以下特点:
GLM架构可以同时支持自回归(AR)、自编码(AE)和融合编码(FE)三种目标函数,在保证生成能力强大同时也增强了表示能力;
GLM架构可以灵活地处理各种输入输出格式,在单个框架下实现多任务学习,并且可以通过指令提示或微调方式适配到不同任务中;
GLM架构可以有效地利用多源异构数据进行预训练,并且可以根据任务需求进行动态调整数据权重。
基于GLM架构,在0亿参数规模下训练出来的GLM-B模型,在多个NLP任务上都取得了优异的成绩,包括机器翻译、文本摘要、阅读理解、自然语言推理等。在对话机器人领域,GLM-B模型也展现出了强大的生成能力和适应性,可以在中英双语下进行多轮对话,并且可以根据用户的指令或偏好进行风格调整。
然而,GLM-B模型由于其庞大的参数规模和计算资源需求,也不适合直接用于对话机器人的部署和应用。因此,清华大学KEG实验室与智谱AI公司针对中文对话场景,从GLM-B模型中蒸馏出了一个更小更精的对话语言模型——ChatGLM-6B。
ChatGLM-6B模型是一个62亿参数规模的中英双语对话语言模型,它使用了清华大学KEG实验室与智谱AI公司共同构建的一个包含超过亿词汇量的中英双语数据集进行预训练。该数据集涵盖了各种类型和领域的文本数据,包括新闻、百科、社交媒体、小说、电影剧本等,并且特别增加了大量的对话数据,如电视剧台词、聊天记录、问答平台等。通过这样一个丰富多样的数据集,ChatGLM-6B模型可以学习到更加全面和深入的语言知识,并且可以更好地适应不同风格和主题的对话场景。
除此之外,ChatGLM-6B模型还使用了一种基于知识蒸馏(KD)和注意力蒸馏(AD)相结合的模型压缩技术,将GLM-B模型的参数规模和计算复杂度大幅降低,同时保持了较高的性能水平。具体来说,该技术通过对GLM-B模型的输出概率分布和注意力权重进行蒸馏,可以有效地将其语言知识和表示能力传递给ChatGLM-6B模型。在此基础上,ChatGLM-6B模型还使用了一种基于INT4量化级别的模型量化技术,进一步减少了其显存占用和推理时间。
通过这些优化措施,ChatGLM-6B模型可以在消费级的显卡上进行本地部署,并且可以实现实时的对话交互。根据清华大学KEG实验室与智谱AI公司提供的数据,ChatGLM-6B模型在INT4量化级别下最低只需6GB显存就可以运行,并且在RTX显卡上的推理速度可以达到每秒10个句子(每个句子包含20个词)。
为了验证ChatGLM-6B模型在对话机器人领域的效果,清华大学KEG实验室与智谱AI公司还对其进行了多项评测。其中,在中文对话任务上,ChatGLM-6B模型使用了清华大学KEG实验室与智谱AI公司共同构建的一个包含超过万条中文多轮对话数据(CTD)进行微调,并且在该数据集上进行了人工评价。结果显示,ChatGLM-6B模型相比于其他预训练语言模型(如GPT-3、CPM-2和WuDao-2)在对话质量、流畅度、一致性和多样性等方面都有明显的提升,尤其是在对话质量上,ChatGLM-6B模型的平均得分为3.75,高于其他模型的3.25。
在英文对话任务上,ChatGLM-6B模型使用了一个包含超过万条英文多轮对话数据(CTD-E)进行微调,并且在该数据集上进行了人工评价。结果显示,ChatGLM-6B模型相比于其他预训练语言模型(如GPT-3和DialoGPT)在对话质量、流畅度、一致性和多样性等方面也有较大的优势,尤其是在对话质量上,ChatGLM-6B模型的平均得分为4.01,高于其他模型的3.61。
此外,在中英双语翻译任务上,ChatGLM-6B模型使用了一个包含超过万条中英双语平行数据(CTD-P)进行微调,并且在该数据集上进行了自动评价。结果显示,ChatGLM-6B模型相比于其他预训练语言模型(如GPT-3和mT5)在中英互译的BLEU值上都有显著的提升,尤其是在中译英的BLEU值上,ChatGLM-6B模型达到了32.45,高于其他模型的28.35。
综上所述,ChatGLM-6B模型是一个基于GLM架构的中英双语对话语言模型,它具有62亿参数,并且可以在消费级的显卡上进行本地部署。该模型在多个对话机器人相关的任务上都表现出了优异的性能,可以为对话机器人的研发和应用提供了一个强大而灵活的工具。
清华大学KEG实验室与智谱AI公司表示,他们将持续改进和优化ChatGLM-6B模型,并且计划在未来开放更多的数据集和应用场景,以促进对话机器人领域的发展和创新。