Patchscopes实战教程,包括拆箱黑盒LLM、谷歌统一框架。

2024-04-29

大模型最受诟病的问题是不透明,无法解释。谷歌最新框架Patchscopes可以提供模型内部隐藏表征的自然语言解释。本文介绍了一些实际应用的例子。


虽然大的语言模型(LLM)它在各种常见的自然语言理解任务中表现出优异的性能,但随之而来的幻觉也揭示了模型在真实性和透明度上仍然存在问题。


如果模型能够产生错误的回复内容,「对这背后的运行机制有深入的了解」,或许可以解决模型幻觉问题。


但是,随着深度神经网络的复杂性和规模的增加,模型「可解释研究」通过探索机器学习,也越来越具有挑战性。(ML)模型表示所学内容(模型所谓隐藏表示)的方式,即隐藏表示(hidden representation),研究者能够在一定程度上控制模型的行为,并对模型的实际运行方式有更深入的科学认识。


从以往的研究结果来看,一个相对有前途的方向是「利用LLMs来解释其它模型的神经元方法。」(neuron patterns)。


今年1月,Google Research和特拉维夫大学的研究人员共同提出了一个统一的框架Patchscopes来讨论LLMs中的隐藏表征,其主要思想是使用LLMs来解释相关模型本身的隐藏表征。


论文链接:https://arxiv.org/pdf/2401.06102.pdf


Patchscopes统一并扩展了现有的可解释技术,可以让模型回答以前无法解决的问题。例如,模型可以说出关于模型的内容。「如何捕捉模型输入中LLM的隐藏表征意义的细微差别?」观点和想法,可以帮助开发者更容易地修复某些特定类型的推理错误。


当论文刚刚发表时,研究人员还只是将Patchscopes的使用场景集中在自然语言理解领域和自回归Transformer模型家族中,但实际上这种方法的潜在应用范围很广。


最近,研究人员发布了一个博客,阐述了该方法在更复杂的场景中如何构建预测的应用示例,以检测和纠正模型幻觉,探索多模式(图像和文本)的表征,以及研究模型如何在更复杂的场景中。


01 使用Patchscopes的方法


在NLP中很常见「实体共同指代解析」(co-references to entities)例如,在Patchscopes中,需要获得一个专门用于解决共指问题的工具。


例如,对代词进行模型研究。「it」如何理解代表人物的前后文,需要建立一套Patchscopes配置。



通过使用预定义的目标提示符(右)解码源提示符(左),Patchscopes框架图解,「It」编码内容在表征中。


设置 Setup

在给出目标模型之后,需要输入一个标准提醒(即源提醒),包括上下文信息,source prompt),如“Patchscopes is robust. It helps interpret"(Patchscopes是稳定的,有利于解释…)


目标 Target

二级提醒(secondary prompt 即 target prompt)其目的是提取具体的隐藏信息,在这个例子中,一个简单的单词反复提醒就能揭示隐藏表征中的信息。


例子中的目标提示是「cat->cat; 135->135; hello->hello; ?」,但是需要注意的是,提醒中的单词是随机抽取的,所以看起来可能与输入文本无关,但也需要遵循特定的写作方法:包括多个例子,其中每个例子包括一个单词、一个箭头和单词的重复。


若将文本输入到训练后的语言模型中,以预测下一个单词,则该模型的预期输出可以继续遵循该模型。


也就是说,如果模型把它放在一起「?」用其它随机词替换内容,使模型产生下一个单词,从而检查模型应该重复哪些单词?


块 Patch

在源提示符上执行推理(inference),其中「It」transformation(示例中的f函数)可以应用transformation(示例中的f函数)将token中感兴趣层的隐藏表征(图中的绿点)注入目标提醒(图中的橙点)。


揭示 Reveal

对增强后的输入(augmented input),从模型到导出,包括原模型是如何在特定的前后文本中对单词进行内部对话的?「It」拓展的想法。


在给定的例子中,模型生成「Patchscopes」,解释了在「It」token上方模型第四层的隐藏表征,结果表明,经过四层计算,模型已经将以前的词汇信息合并到以前的词汇中。「It」在token上方的隐藏表征中,得出结论,它不再指通用目标,而是指代替。「Patchscopes」。


虽然token表征(绿点)可能看起来像一个浮点数向量,没有任何意义解,但Patchscopes框架可以将其转换为人们可以理解的文本,这意味着它指的是「Patchscopes」,和以前的工作一致,也就是说,关于一个主题的信息会在最后一个token中积累。


02 实战Patchscopes


Patchscopes广泛应用于LLMs的理解和控制。


下一个token预测(next token prediction)

根据给定的前后文,在计算过程中,模型可以「多早地」得到最后的预测?


Token预测是一种常见的方法,可以用来评估Transformer内部的可解释性方法,从中间隐藏表示。


Patchscope的效果特别好,即使在更复杂的初期或中期处理层:在不同的语言模型中,从第10层开始,它的性能优于之前的方法,比如Tuned。 Lens和Logit Lens。


用下一个token预测任务来评价LLM中间隐藏表征的各种可解释性方法,展示了使用一个简单的方法。「Token Identity」目标提示符(即由k个表示与标志相似的函数的演示组成的目标提示符,格式为「tok_1 → tok_1 ; tok_2 → tok_2 ; ... ; tok_k」)和Tuned一起 Lens和Logit 与Lens方法相比。x轴是LLM中检查的隐藏表征层;y轴显示precision@1,测量token匹配原始分布中最高概率token示例的比例。


提取事实(pulling out facts)

在模型计算中,可以提前获得特征信息(例如,某个国家的货币)。


在这个实验中,研究人员主要考虑从文本中获取属性任务。文本来源是Hernandez等人编写的常识和事实知识任务(2024年)。


论文链接:https://openreview.net/pdf?id=E4kE7LU2s14


使用目标提醒主要针对简单的动词关系,其次是占位符的主题。例如,我们应该从「States」在表征中获得美国官方货币,使用目标提示符「The official currency of x」,考虑到Patchscopes应用程序不使用任何训练示例,而且明显优于其它技术。


跨源层属性提取准确性(Attribute extraction accuracy across source layers,简称REQ)。左:工具解决的问题(常识),54个来源提醒,12个类别。右:国家货币(事实),83个来源提醒,14个类别。


说明实体:不仅使用yes或no

处理输入时如何理解模型?「亚历山大帝」(Alexander the Great)这种多字输入?


超越简单的Patchscopes「这个问题已经解决了」(has it figured this out yet)回答,揭示了模型如何从一开始就逐渐理解一个实体。


使用下列few-shot目标提醒,逐步处理解码模型:「叙利亚:中东国家,列奥纳多迪卡普里奥:美国演员,三星:韩国大型跨国家电及消费电子企业,x」(Syria: Country in the Middle East, Leonardo DiCaprio: American actor, Samsung: South Korean multinational major appliance and consumer electronics corporation, x)。


在遍历两种不同的模式时(Vicuna-13 B和Pythia-12 B)在层次上,更多来自上下文的单词被整合到当前的表征中,并体现在生成中。


通过定性案例说明实体分析:表达性生成说明,当通过层时,更多来自上下文的tokens被整合到当前的表征中。「解释」(Explanation)指生成与源提示词的关系。这两个例子都使用了上述相同的目标提示符。


团队合作:用模型解释模型

Patchscopes框架可以用强大的语言模型来解码较小的过程:研究人员使用Vicuna-13 Vicuna-7a- B的输入处理将隐藏的物理表征从较小的模型修复到较大的模型,然后测量模型生成的文本和维基百科的具体参考描述之间的词汇相似度(使用RougeL评分)。


Vicuna-7 B → 13 B(绿线)几乎总是高于Vicuna-7 B → 7 B(蓝线)曲线下面积较大。结果表明,跨模型被修复为更大、更有表现力的模型,在优化生成和参考文本之间词汇相似度的结果表明,跨模型修复的过程显著增强了模型能力,生成文本前后对齐的输入表示从另一个模型。


利用Vicuna模型,RougeL(词汇相似度)从Vicuna-7a-Vicuna- B到Vicuna-13 B的patched表征导致对popular和rare实体进行更具表现力的语言分析。


修正错误推理

虽然最先进的LLMs可以独立处理每一个推理步骤,但是多步推理仍然很难实现。


Patchscopes可以通过再次隐藏路由中间的表征来帮助解决这个问题,从而显著提高准确性:在实验中,系统地生成了多跳的事实和常识推理查询,并表明通过修复隐藏的表征,可以将输入结构的先验知识从查询的一部分固定到另一个固定。


思维链(CoT)Pathcscope使用相同的源提示和目标提醒来执行顺序推理,但是将一个位置的隐藏表征修复到另一个位置。


CoT Patchscope将准确率从19.57%提高到50%,这个实验的目的是证明使用Patchscopes进行干预和纠正是合理的,但是要注意CoT Pathscope是一种表现,而非一种通用的纠正方法。


参考资料:


https://research.google/blog/patchscopes-a-unifying-framework-for-inspecting-hidden-representations-of-language-models/


本文来自微信微信官方账号“新智元”(ID:AI_era),作者:新智元,36氪经授权发布。


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com