人工智能咨询培训老师叶梓 转载标明出处
大模型虽然在广泛的任务上具有通用性,但在面对特定领域的任务时,它们的性能往往不如专门为这些领域训练的模型。传统的知识蒸馏(Knowledge Distillation, KD)方法通过资源密集型的微调过程来提升模型的领域特定能力,但这种方法并不适用于闭源的商业LLMs。为了解决这一问题,清华大学的刘安等人提出了一种名为PANDA(Preference Adaptation for Enhancing Domain-specific Abilities of LLMs)的新方法,旨在通过利用专家模型的响应偏好来增强LLMs的领域特定能力,而无需进行耗时耗资源的微调(fine-tuning),使LLMs能够学习专家模型的偏好,从而提升其在特定任务上的表现。
方法
PANDA方法包含两个主要阶段:学习阶段和推理阶段。在学习阶段,专家模型首先对训练数据进行推断,生成样本,这些样本代表了专家的偏好。然后PANDA根据特定的偏好启发式原则,为每个数据实例创建偏好对。例如,在分类任务中,可以根据专家模型对每个类别输出的logits分布来确定偏好排名,较高的logits值意味着专家模型更倾向于将查询归类于此类别。
接下来大模型(LLMs)被提示生成对专家偏好的解释,这些解释被称为"insights"。这些insights是通过训练数据派生出的,它们构成了"insight pool",即见解池。见解池的目的是存储和组织从专家模型中提取的知识,以便在推理阶段使用。
在推理阶段,PANDA利用见解池检索与当前查询最相关的见解,并使用这些见解通过上下文学习来调整LLMs的偏好,使其与专家模型的偏好一致。这种方法的目标是通过与专家模型的偏好对齐,来增强LLMs在特定任务上的领域特定能力。
尽管PANDA和传统的知识蒸馏(KD)在实现技术上有很大的不同,但它们在每个阶段都具有相似的本质。例如,在传统的KD中,学生模型通过梯度下降来最小化与教师模型输出分布之间的KL散度,而PANDA则通过直接从专家那里获取见解来实现类似的目标。
从专家偏好中学习仅仅模仿专家模型的行为是不够的。更高级的方法是不仅要记忆专家模型的行为,还要理解其行为背后的逻辑和原因,以及专家模型避免的不良行为。这种深层次的学习可以帮助LLMs更好地理解和适应特定领域的任务。
PANDA的设计灵感来源于强化学习中的人类偏好反馈(RLHF),这是一种首先使用人类偏好数据训练奖励模型,然后利用该模型通过强化学习使LLMs与人类偏好对齐的方法。这种方法启发了PANDA,使其通过学习专家的偏好来提升性能。
PANDA利用LLMs强大的语言理解和生成能力,通过提示(prompting)让模型生成对专家偏好的解释。这个过程涉及到使用简化的提示模板,例如:"专家更倾向于选择A而不是B,请解释专家持有这种偏好的原因。" 这里的A和B代表专家模型对某个查询的两种可能响应,其中对A的置信度高于B。
通过上述过程生成的解释性见解被称为"专家见解"(Expert Insight),它们被用来构建"见解池"(insight pool)。见解池是存储从专家模型中提取的知识的集合,这些知识随后可以在推理阶段用来指导LLMs。
通过从专家模型的偏好中学习,PANDA能够使LLMs适应特定任务,从而提升性能。与直接依赖专家模型相比,PANDA更注重有效利用专家知识,目标是实现更高的性能上限。
作者首先提出了一个观点,即解决相似问题时采用的策略往往能够相互受益。基于这个观点,PANDA在处理新的查询时,会首先从见解池中检索与当前查询上下文最相关的见解。
在推理阶段,PANDA使用当前查询的上下文作为检索键,从见解池中检索出相关的见解。这种方法与基于自我反思的方法不同,后者可能需要通过试错来提高性能。而PANDA则能够直接利用已有的专家知识,避免了试错过程,从而减少了潜在的交互成本。
PANDA利用LLMs的上下文学习能力,将检索到的见解作为提示的一部分,与当前的查询上下文结合起来。这种结合旨在增强LLMs在完成特定任务时的偏好,使其更符合专家模型的偏好。
通过这种方式,PANDA不仅提高了LLMs在特定任务上的性能,还增强了其泛化能力。这是因为PANDA能够从专家模型的偏好中学到更深层次的知识,并将这些知识应用到新的上下文中,从而提升模型对未知情况的适应性。
PANDA在推理阶段的偏好适配过程,使得LLMs在处理特定领域的任务时,能够更好地对齐专家模型的偏好,从而实现性能上的提升。这种方法相比传统的基于梯度的方法,不需要对大模型进行微调,因此在资源和时间上更为高效。
实验
为了确保实验的公平性和成本控制,作者随机抽取了任务样本,实验中使用的LLM模型是gpt-3.5-turbo-1106。在ScienceWorld中,作者设置了检索到的见解数量为1,在TweetEval中设置为6。这些实验结果表明PANDA能够显著提升LLMs在领域特定任务上的性能。
作者使用基准ScienceWorld评估了PANDA在交互式决策任务中的效果,这是一个模拟实验室环境的交互文本模拟平台。该平台具有丰富的动作集,为LLMs在推理、规划和环境适应性方面提供了挑战。ScienceWorld包含多个子房间,如温室、铸造厂和车间,每个房间都提供了不同的环境配置和任务目标。作者随机抽取了每个类别的2个任务,共20个任务进行评估。实验结果显示,PANDA在16个任务中的性能超过了ReAct基线,在10个任务中超过了SayCan基线,并且在9个任务中超过了Reflexion基线。特别是,使用PANDA的ReAct在4个任务中的性能超过了专家模型,显示了PANDA在无需微调的情况下实现从弱到强泛化潜力。
作者使用基准TweetEval评估了PANDA在文本分类任务中的效果,它包含11个不同的Twitter特定分类任务。这些任务包括情感、表情符号、情绪、仇恨、讽刺、冒犯性和立场等分类。TweetEval的特点是样本分布可能不平衡,因此作者使用了宏观平均F1分数作为性能指标。作者主要关注了专家模型持续超越LLMs的任务,以展示PANDA在缩小LLMs和领域特定微调模型之间性能差距方面的潜力。实验结果表明,PANDA显著提高了GPT-3.5-turbo在几乎所有任务中的性能,包括zero-shot、few-shot、zero-shot Chain-of-Thought (ZS-CoT)和few-shot Chain-of-Thought (FS-CoT)四种不同设置。
消融研究的目的是评估该方法中不同组件的贡献和重要性。通过在ScienceWorld基准的10个任务上进行实验,作者发现PANDA在大多数情况下都优于仅考虑原始偏好的消融案例。这表明PANDA通过收集专家偏好的见解,而不是仅仅依赖于专家模型的原始行为,能够更有效地提升性能。消融实验包括了使用不同数量的专家响应作为学习数据,以及比较了PANDA与其他基线方法的性能差异。
作者进一步探讨了PANDA在跨领域设置中的泛化能力。通过在ScienceWorld和TweetEval上进行跨任务迁移实验,作者发现PANDA能够在学习一个任务后,在另一个相关但不同的任务上实现正向迁移。例如,在ScienceWorld中,PANDA在一个任务上学到的知识能够在相似但不同的任务上提高性能。在TweetEval中,作者将情绪分类任务中学到的知识迁移到情感分类任务上,同样观察到了正向迁移的效果。
作者还评估了PANDA在可以使用真实标签的情况下的性能。通过与消融方法进行比较,作者发现使用真实标签的消融方法虽然性能有所提升,但PANDA仍然保持了其优越性。这表明PANDA不仅能够有效地利用专家模型的偏好,还能够从真实标签中提取有价值的知识,即使在专家模型的预测不是完全准确的情况下。
作者还探讨了PANDA在不同质量的训练数据上的性能,发现PANDA在训练数据质量较低时仍然能够实现改进,这显示了PANDA在提取泛化知识方面的鲁棒性。
实验结果表明,PANDA显著提升了LLMs在文本分类和交互式决策任务上的领域特定能力。特别是在ScienceWorld的16个任务和TweetEval的7个任务上,使用PANDA的LLMs甚至超越了在ScienceWorld的4个任务上训练的专家模型。这一发现突出了探索无需微调的方法来实现从弱到强的泛化潜力。
论文链接:https://arxiv.org/abs/2402.12835
PANDA的代码将在以下GitHub链接公开:GitHub - THUNLP-MT/PANDA