原文:https://arxiv.org/pdf/2412.15479
解读:此文章本身创新不多,应用意义也不大。不过,让我想起很久很久以前阅读的三篇高含金量的文章,阅读此文结合之前的三篇文章,希望给大家带来更多灵感。推荐阅读:《 Intents 意图 :用zep解释如何让大模型理解客户意图 》、《 CoD:密度链 》、《 Ragas:评估RAG召回QA准确率与答案相关性 》(关注置信度评估部分)。
快速阅读:《深入解析CLOB与CIS:基于黑盒大语言模型的持续学习新范式》
在人工智能领域,持续学习(CL)一直是一个备受关注的研究方向。随着大语言模型(LLM)的兴起,如何在不重新训练整个模型的情况下,让模型能够持续学习新任务,同时避免遗忘旧知识,成为了一个重要课题。本文将介绍一种全新的持续学习范式——CLOB(Black-box LLMs 上的持续学习),以及基于此提出的CIS(通过增量摘要的上下文 CL)方法,并通过详细的客户服务流程示例和工作流,帮助读者深入理解其核心机制和优势。
1. 持续学习面临的挑战
在传统的持续学习场景中,模型需要逐步学习一系列任务,而每个任务的数据在训练后通常会被丢弃。这种方式虽然节省了存储空间,但也带来了**灾难性遗忘(Catastrophic Forgetting)**的问题,即模型在学习新任务时会遗忘之前学到的知识。
1.1 传统方法的局限性
- 参数微调:通过微调模型参数来适应新任务,但容易导致对旧任务的遗忘。
- 知识蒸馏:将旧模型的知识迁移到新模型,但实现复杂且计算成本高。
- 数据重放:保留部分旧任务数据用于训练,但需要额外的存储空间,且可能引发隐私问题。
2. CLOB:黑盒大语言模型的持续学习新范式
CLOB(Continual Learning Over Black-box LLMs)是一种全新的持续学习范式,它将大语言模型视为一个黑盒,仅通过**语言提示(Verbal Prompting)**来实现持续学习,而无需对模型参数进行任何微调或添加可训练参数。
2.1 CLOB 的核心优势
- 避免参数遗忘:由于不改变模型参数,因此不存在基于参数的灾难性遗忘。
- 灵活性高:适用于通过 API 访问的 LLM,无需访问模型内部结构。
- 可扩展性强:可以轻松扩展到更多任务和类别。
2.2 CLOB 的工作原理
CLOB 的工作流程可以概括为以下步骤:
- 任务到达:当一个新任务到达时,系统会接收该任务的一部分训练数据。
- 摘要生成:使用 LLM 生成每个类别的摘要,这些摘要旨在捕捉每个类别的关键信息。
- 摘要保存:将生成的摘要保存到**记忆库(Memory Repository)**中,作为后续学习和推理的依据。
图 1:CLOB 系统概述。左侧展示了 CIS 在 CLOB 中的应用,右侧展示了学习过程中每个组件使用的提示。
3. CIS:基于增量摘要的上下文持续学习
CIS(in-context CL via Incremental Summarization)是 CLOB 的一个具体实现方法,它利用 LLM 的摘要能力,通过增量更新摘要来实现持续学习。
3.1 CIS 的关键组件
3.1.1 摘要生成器(Reflector)
- 功能:当新任务到达时,生成每个类别的摘要。
- 工作流程:
- 接收新任务数据:例如,客户服务部门接收到关于新产品的常见问题(FAQ)。
- 生成摘要:使用以下提示生成每个类别的摘要:
我将向你展示来自同一类别的几个示例。基于这些示例,请提供该类别的摘要,不超过 3 句话。请注意,你的摘要不应包含任何示例。 示例:[客户关于新产品的常见问题及解答]
示例:
提示: 我将向你展示来自同一类别的几个示例。基于这些示例,请提供该类别的摘要,不超过 3 句话。请注意,你的摘要不应包含任何示例。 示例: 1. 客户:这款新手机有哪些颜色? 客服:这款手机有黑色、白色和蓝色三种颜色。 2. 客户:这款手机的电池续航时间有多长? 客服:这款手机的电池续航时间为两天。
生成摘要:
新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天。
- 保存摘要:将生成的摘要保存到记忆库中。
3.1.2 摘要更新器(Updater)
- 功能:当接收到旧任务的新数据时,更新相关类别的摘要。
- 工作流程:
- 接收新数据:例如,客户服务部门接收到关于新产品 FAQ 的新问题。
- 更新摘要:使用以下提示更新相关类别的摘要:
下面是某个类别的原始摘要。我现在将提供 m 个该类别内的额外示例。基于这些,请相应地更新摘要。确保更新后的摘要不超过 3 句话。 原始摘要:新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天。 额外示例: 1. 客户:这款手机支持5G网络吗? 客服:是的,这款手机支持5G网络。
更新后的摘要:
新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天,支持5G网络。
- 保存更新后的摘要:将更新后的摘要替换记忆库中的原始摘要。
3.1.3 求解器(Solver)
- 功能:进行分类推理,处理客户查询。
- 工作流程:
- 接收客户查询:例如,客户询问“这款手机有哪些颜色?”
- 步骤 1:
Solver 提示(步骤 1): 请告诉我你对测试样本属于我提供的每个类别的置信度分数。我将向你提供这些类别的摘要作为参考。摘要的格式为 '<类别名称>: [摘要]'。你的回答应仅包含类别名称和相应的置信度分数作为答案。 测试样本:这款手机有哪些颜色? 列出的列表: 新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天,支持5G网络。
输出:
新产品 FAQ:0.95
- 步骤 2:选择置信度最高的前 k=1 个类别,即“新产品 FAQ”。
- 生成回复:根据“新产品 FAQ”类别的摘要生成回复:
客服回复:这款手机有黑色、白色和蓝色三种颜色。
- 发送回复:将回复发送给客户。
3.2 记忆库的存取逻辑
- 存储:每个类别的摘要作为记忆库中的一个节点进行存储。例如,“新产品 FAQ”是一个记忆库节点,包含其对应的摘要。
- 读取:在推理过程中,系统会读取相关类别的摘要,并根据这些摘要生成回复。
- 更新:当新数据到来时,摘要被更新以反映最新的知识。例如,当接收到关于新产品的新 FAQ 时,“新产品 FAQ”节点的摘要会被更新。
4. CLOB 与 CIS 的区别
- CLOB 是一种更广泛的持续学习范式,强调使用语言提示进行学习,而无需修改模型参数。它适用于各种类型的任务和数据。
- CIS 是 CLOB 的一个具体实现方法,侧重于利用增量摘要来管理知识,并解决 LLM 的输入长度限制问题。在客户服务场景中,CIS 通过维护一个动态更新的摘要库,能够有效地处理不断变化的客户需求和知识。
5. 示例:CIS 在客户服务流程中的完整工作流
5.1 新任务到达
假设客户服务部门推出了一款新产品,需要处理相关的客户查询。
- 接收数据:系统接收到关于新产品的常见问题(FAQ)。
- 生成摘要:
Reflector 提示: 我将向你展示来自同一类别的几个示例。基于这些示例,请提供该类别的摘要,不超过 3 句话。请注意,你的摘要不应包含任何示例。 示例: 1. 客户:这款新手机有哪些颜色? 客服:这款手机有黑色、白色和蓝色三种颜色。 2. 客户:这款手机的电池续航时间有多长? 客服:这款手机的电池续航时间为两天。
生成摘要:
新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天。
- 保存摘要:将“新产品 FAQ”的摘要保存到记忆库中。
5.2 旧任务新数据到达
假设接收到关于新产品 FAQ 的新问题。
- 接收新数据:客户询问“这款手机支持5G网络吗?”
- 更新摘要:
Updater 提示: 下面是某个类别的原始摘要。我现在将提供 m 个该类别内的额外示例。基于这些,请相应地更新摘要。确保更新后的摘要不超过 3 句话。 原始摘要:新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天。 额外示例: 1. 客户:这款手机支持5G网络吗? 客服:是的,这款手机支持5G网络。
更新后的摘要:
新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天,支持5G网络。
- 保存更新后的摘要:将更新后的摘要替换记忆库中的原始摘要。
5.3 推理过程
- 接收客户查询:客户询问“这款手机有哪些颜色?”
- 步骤 1:
Solver 提示(步骤 1): 请告诉我你对测试样本属于我提供的每个类别的置信度分数。我将向你提供这些类别的摘要作为参考。摘要的格式为 '<类别名称>: [摘要]'。你的回答应仅包含类别名称和相应的置信度分数作为答案。 测试样本:这款手机有哪些颜色? 列出的列表: 新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天,支持5G网络。
输出:
新产品 FAQ:0.95
- 步骤 2:选择置信度最高的前 k=1 个类别,即“新产品 FAQ”。
- 生成回复:根据“新产品 FAQ”类别的摘要生成回复:
客服回复:这款手机有黑色、白色和蓝色三种颜色。
- 发送回复:将回复发送给客户。
5.4 持续学习
随着时间的推移,客户服务部门可能会收到更多关于新产品的查询,例如:
- 客户询问“这款手机的尺寸是多少?”
- 客户询问“这款手机的价格是多少?”
这些新数据会通过 CIS 的更新机制被添加到“新产品 FAQ”类别的摘要中:
Updater 提示:
下面是某个类别的原始摘要。我现在将提供 m 个该类别内的额外示例。基于这些,请相应地更新摘要。确保更新后的摘要不超过 3 句话。
原始摘要:新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天,支持5G网络。
额外示例:
1. 客户:这款手机的尺寸是多少?
客服:这款手机的尺寸为 146.7mm x 71.5mm x 7.65mm。
2. 客户:这款手机的价格是多少?
客服:这款手机的价格为 999 美元。
更新后的摘要:
新产品 FAQ:这款手机有黑色、白色和蓝色三种颜色,电池续航时间为两天,支持5G网络,尺寸为 146.7mm x 71.5mm x 7.65mm,价格为 999 美元。
6. 总结
通过上述示例,我们可以看到,CIS 在客户服务流程中展示了强大的持续学习能力:
- 动态更新:能够根据新数据动态更新类别的摘要。
- 高效推理:通过摘要库快速定位客户查询对应的类别,并生成准确的回复。
- 知识积累:随着时间的推移,摘要库不断积累知识,从而更好地服务客户。
这种基于 CLOB 和 CIS 的持续学习范式,为客户服务领域带来了新的机遇,使得企业能够更高效地处理客户查询,提升客户满意度。
7. 未来展望
尽管 CLOB 和 CIS 在客户服务场景中展现了巨大的潜力,但仍有以下问题值得进一步探索:
- 多模态数据处理:如何将文本、图像、语音等多种数据形式整合到摘要库中?
- 个性化服务:如何根据不同客户的需求和偏好,提供个性化的回复?
- 实时性:如何进一步提高系统处理客户查询的实时性?
通过不断的研究和创新,CLOB 和 CIS 有望在更广泛的客户服务场景中发挥更大的作用,为企业创造更大的价值。