作者:bhn(已授权)
论文:Beyond the Turn-Based Game: Enabling Real-Time Conversations with Duplex Models
链接:https://arxiv.org/abs/2406.15718
EMNLP2024分享会要开始啦!6大主题、2多主题,快来预约不错过
背景
大语言模型渗透到了日常生活中,我们中的大多数每日都会使用类使用ChatGPT等类型的对话型ai。但是是否注意到这样的场景,对于一些复杂或者长的文本生成场景,等待生成回复占据了很长事件,并且这期间我们不能对ai进行干涉。
这篇论文为了解决这个交互体验不佳的问题,使用双工(duplex)的思想,构造双工模型,即生成输出的同时能够倾听用户,并进行动态调整,以及时生成合适的响应。
本文的工作
该方法由两部分组成,首先作者描述了双工模型的设计以及实现,然后够了了双工对齐数据集,以实现现存模型向双工模型的调整。
-
双工模型
现存的模型,在输入阶段,LLM编码输入到key-value cache,此时并不能生成输出。而作者将输入划分为时间片,并且立刻处理输入时间片去生成输出。
具体来说,模型每k秒(k秒为一个时间片)进行一次推理。通过一个特殊的token—
标识,来决定模型是继续等待输入,还是进行推理。
这个方法模拟人类对话时,会不断补充自己的想法的形式。
-
双工数据集
Duplex-UltraChat
一般的LLM并不能处理时间片信息,为此作者专门设计了双工数据集去微调模型,以将一般模型转化为双工模型。该数据集没有特殊的token和关键词指示消息的开始和结束,消息被划分为时间片,每个时间片由具体的消息和
组成。
这个数据集由未打断的对话和存在打断的对话组成。
基于上面描述的2大类,6小类数据,对模型进行微调,以实现伪双工模型。
-
Generation Termination:生成结束,用户通过口头的描述而非点击中断按钮停止模型生成。
-
Regeneration:在用户不满意模型的输出时,用户直接口头提示模型,以便模型再次生成。
-
Dialogue Reset:在对话时,用户突然聊到了另一个完全不相干的话题。
-
Back on Topic:在模型回答了用户突然的提问后,用户不在进行输入,则模型应该继续之前的对话生成。
-
Basic:在用户输入结束前,模型保持空闲。而当模型生成时,用户保持空闲。
-
Topic Interweaving:模拟人们在讨论几个话题,并且其中并没有什么连贯性。
-
-
Dialogues with Interruptions
实验分析
实验模型
:
MiniCPM2.4B
和基于MiniCPM2.4B微调的双工模型
MiniCPM-duplex。
评估方式
:GPT-4 Evaluation和Human Evaluation
GPT-4 Evaluation:该论文将MT-Bench数据划分为4-6个词的时间片,输入到
MiniCPM-duplex
模型中。对于普通模型,则直接将prompt输入到模型。
人类评估:
-
Responsiveness
(响应性):即模型是否会回答用户的问题,以及延迟大小。
-
Human-Likeness
(人类相似度):评价模型对话于人类对话的相似程度。
-
Faithfulness
(忠诚度):评价模型遵守用户指示的能力。
-
Factuality
(事实性):评价模型的幻觉程度。
实验总结
: