返回

Patchscopes: 用于检查语言模型隐藏表征的统一框架

https://www.chatbro.cn/news/661bf30d2583eaa15fc81756

Patchscopes是一个新兴的框架,旨在通过利用大型语言模型(LLMs)自身的语言能力,来统一和解释其内部工作机制的各种先前方法。该框架通过自然语言解释模型内部隐藏的表示方式,提供了直观的理解。

随着大型语言模型的显著进步,人们对其准确性和透明度的担忧也日益增加,因此理解这些模型的工作机制变得尤为重要,尤其是在模型出现错误的情况下。通过探索机器学习模型如何表示其所学习到的内容(即模型的隐藏表示),我们可以更好地控制模型的行为,并深入科学地了解这些模型的实际工作方式。这一点随着深度神经网络的复杂性和规模的增长而变得越来越重要。最近在可解释性研究方面的进展,展示了使用LLMs来解释另一个模型中的神经元模式的有希望的结果。

这些发现促使我们设计了一个用LLMs来研究LLMs隐藏表示的新框架,我们称之为Patchscopes。这个框架的核心思想是使用LLMs来提供关于它们自己内部隐藏表示的自然语言解释。Patchscopes整合并扩展了广泛的现有可解释性技术,并使得回答以前困难或不可能的问题成为可能。例如,它提供了洞察LLMs隐藏表示如何捕捉模型输入中的意义细微差别的能力,这使得修正某些类型的推理错误变得更加容易。虽然我们最初将Patchscopes的应用集中在自然语言领域和自回归的Transformer模型家族,但其潜在应用范围更广。例如,我们对其在检测和纠正模型幻觉、探索多模态(图像和文本)表示,以及研究模型在更复杂情境下如何构建预测的应用感到兴奋。

以一个例子来了解Patchscopes的运作过程。考虑一个理解LLM如何处理文本中实体共指的任务。Patchscopes的一个实现是一个专门设计来解决特定问题的共指解析工具。例如,要调查模型对代词如“它”所指对象的上下文理解,可以创建如下的Patchscopes配置:

设置阶段:向被研究的模型提供一个包含相关上下文信息的标准提示(即“源提示”)。下面的例子中,完整的源提示是“Patchscopes是强大的。它帮助解释…” 目标阶段:设计一个次级提示(即“目标提示”)来提取特定的隐藏信息。在这个例子中,一个简单的单词重复提示可以揭示隐藏表示中的信息。下面的例子中,目标提示是“cat->cat; 135->135; hello->hello; ?”。请注意,这些单词是随机选择的,因此提示一开始可能看起来像无意义的字符,但也有一定的模式:它由几个例子组成,每个例子都是一个单词,一个箭头,和同一个单词的重复。如果我们将这段文本输入到一个训练有素的语言模型中,以预测下一个单词,预计它会继续遵循这个模式。也就是说,如果我们用任何随机单词替换“?”并让模型生成下一个单词,它应该重复我们用来替换“?”的单词。 修补阶段:在源提示上执行推理。在感兴趣的层级上,将“它”这个令牌的隐藏表示(例子中的绿点)注入到目标提示中(例子中的橙点)。可以选择性地应用转换(例子中的“f”),以使表示与其他层级或模型对齐。 揭示阶段:模型处理增强的输入,其输出提供了关于原始模型如何在特定上下文中内部理解单词“它”的见解。下面的例子中,模型生成了“Patchscopes”,解释了模型在“它”令牌上方第四层的隐藏表示。这表明,在经过四层计算后,模型已经将之前单词的信息整合到这个隐藏表示中,并得出结论,它不再是指一个通用的对象,而是指的是“Patchscopes”。虽然这个令牌表示(绿点)可能看起来像是一个深奥的浮点数向量,但Patchscopes可以将其翻译成人类可理解的文本,显示它指的是“Patchscopes”。这与之前的工作一致,即关于一个主题的信息在其最后一个令牌中得到累积。