前沿探索 | 让大语言模型更聪明!引入经验笔记本提升解决问题的能力

在这里插入图片描述

大家好!现代科技的进步带来了许多令人惊叹的创新,其中之一就是大型语言模型(LLMs)。这些模型在解决各种任务上展现了惊人的能力,并被认为是通用问题解决器。它们可以理解任务指令,但在特定任务上仍然有不尽如人意的表现。

那么,有没有办法提升这些大型语言模型在解决问题时的能力呢?最近,研究者们提出了一个创新的想法。就像我们人类学习的过程一样,在学习的过程中会总结许多知识和经验,有时会将这些非常识的知识和经验记录在外部介质(书籍、电脑)中,以备将来使用

比如,对于高中生而言,他们可能会将错题和重要知识点记录在错题本中,并在考试前(最好是考试时)翻阅这本笔记来利用过去积累的经验帮助解题。

基于这一类比,有研究者提出了一种自动化框架,名为ExpNote(经验笔记本****)。这个框架可以帮助大语言模型更好地适应陌生任务,下面一起来看看吧~

图片

EMNLP2023: ExpNote

图片

论文题目: ExpNote: Black-box Large Language Models are Better Task Solvers with Experience Notebook

本文作者: 孙望涛,余宣庆,何世柱,赵军,刘康(中科院自动化所)

发表会议: EMNLP 2023 (Findings)

论文链接: https://arxiv.org/abs/2311.07032

代码链接: https://github.com/forangel2014/ExpNote

欢迎转载,转载请注明出处

01

引言

黑盒大型语言模型(LLMs)在解决各种任务上展现了巨大的能力,并被认为是通用问题解决器。然而,尽管LLMs能够理解任务指令,它们在许多特定任务上仍然表现不佳。本文关注的问题是如何提升黑盒LLMs解决下游任务的能力。我们提出了一个自动化框架ExpNote通过反思和记录训练数据中的经验,并在测试过程中从外部存储器中检索这些经验,来帮助LLMs更好地适应陌生的任务。我们在多个任务上对ExpNote进行了评估,实验结果表明所提出的方法显著提高了黑盒LLMs的性能。

02

动机

大型语言模型(LLMs)在自然语言理解和生成方面展示了令人惊讶的能力。然而,由于参数有限和上下文处理长度的限制,LLMs无法掌握现实世界应用中的所有任务特定知识。因此,LLMs在某些特定任务上表现可能只是平庸的,例如归纳推理和实体识别。

在这个背景下,如何使LLMs适应下游任务已经引起越来越多的关注。近期的技术,如prefix-tuning、P-tuning和LoRA,提出了对LLMs进行微调的低成本解决方案。然而,这些方法并不能适用于黑盒的LLMs,例如ChatGPT和GPT4。

因此,本文提出了一个名为ExpNote(经验笔记)的框架,通过自动学习和使用任务特定的经验,来增强黑盒LLMs在下游任务中的能力。

图片

我们为LLMs配备了一个动态内存,并设计了几个命令来帮助LLMs与内存进行交互。具体而言,在训练阶段,ExpNote引导LLMs生成任务特定的经验并将其存储在外部内存中。在测试阶段,ExpNote使用检索器从内存中检索相关的经验,学习到的经验将帮助LLMs解决直接无法回答的案例。

03

方法介绍

(原文用数学形式化表达,为方便大家理解,本小节由编辑转述)

在这里插入图片描述

简单地来说,研究者们设计的这个ExpNote框架能够增强大语言模型的问题解决能力主要得益于以下过程:

问题和答案的配对:每个任务被看作是一个问题(x)和期望答案(y)的组合。这就像是有一个问题和它的正确答案。

训练阶段:在训练阶段,我们首先让LLM像平常一样(COT推理)尝试解决问题并给出答案(ŷ)。这个过程类似于学生在学习时尝试直接解决问题。

比如这个阶段中,LLM尝试解答家庭关系的推理问题:“如果A有一个女儿B,并且A与C结婚,那么B和C的关系是什么?

图片

生成反馈:一旦LLM给出了答案,ExpNote会根据这个答案是否正确来生成反馈。这个反馈其实是一个只包含正确答案的简单提示,也就是不包含额外知识,以此帮助LLM学习正确的解答方式。

反思和记录经验:LLM会根据这个反馈来反思,并把学到的东西(比如特定的解题方法)记录到内存中。这就像学生在错题本上记录错误和正确的解决方法。

例如对于上面家庭关系的问题,它可能学习并记录下这样一个经验:“如果A有一个女儿B,并且A与C结婚,那么B也是C的女儿。”,并分配一个用于检索的关键词。

测试阶段:在测试阶段,当面临新的问题时,ExpNote会帮助LLM回顾之前记录的经验。这就像学生在考试前复习错题本,回顾之前学过的知识。

应用经验解决问题:最后,LLM会结合这些经验来解决新的问题,给出答案。这就像学生在考试中运用之前学到的知识和技巧来解答问题。

图片

具体地,ExpNote将使用测试实例作为搜索查询,从动态内存中检索若干经验。检索的经验将添加到LLM提示中。然后,LLM将决定是否参考这些经验,并最终输出答案。

04

实验

4.1 数据集

为了展示ExpNote在处理各种任务上的有效性,我们选择了多个来自不同任务的数据集进行实证研究,包括CLUTRR(归纳推理)、METS-CoV(医学实体识别)、EMOJI(情感分类)。此外,我们提出了一个名为LETS(字母拼接)的数据集,用于评估经过ExpNote增强的LLMs的符号推理能力。

4.2 基线方法

(本小节由编辑转述)

为了评估ExpNote的性能,研究者们除了采用标准的零样本(zero-shot)和少样本(few-shot)设置外,还将其与几种先进的学习方法进行了比较,使得评估更加全面和直观。这些方法包括:

CoT: 这种方法通过展示LLM如何使用链式思考(Chain-of-Thought)来解决问题的实例进行学习。简单来说,就是让LLM观察一系列解题的思考过程。

TeachMe: 针对一些难以直接获取核心事实或人类反馈的特定任务,研究者们使用了一个常识知识库,名为Conceptnet,作为TeachMe方法的信息存储器。这相当于给LLM提供了一个基础知识的参考资料库。

Reflexion: 这个方法本来包含了一种检测重复动作的启发式函数,但由于它在这些任务中不太适用,研究者们允许Reflexion在每次失败后再次尝试,而不需要知道正确答案。这种设置就像是给了LLM一个完美的评估工具,可以100%准确地判断每次尝试的成功与否。

研究者们还开发了几种ExpNote的变体:

disabled: 这个变体采用ExpNote的推理形式,但禁用了检索功能。

case: 这个变体将记下的案例的原始问题和答案进行回忆,而不是学到的经验。

positive/negative: 这个变体只保留LLM在训练样本中回答正确/错误的经验。

4.3 对比基线结果

图片

如表所示,完整的ExpNote方法在所有数据集上均取得了最佳性能,平均比CoT方法高出20.5%。

TeachMe未能超越少样本学习,因为在没有人类反馈的情况下很难获取特定任务的知识。与Reflexion相比,即使我们让Reflexion作弊以100%的成功率识别失败的尝试,它仍然落后于ExpNote。

4.4 对比自身变种

图片

与ExpNote的其他变体相比,disabled在测试阶段没有检索到任何经验,因此符合预期地降低到与普通CoT相当性能(甚至更差)。我们还发现,尽管case为所有4个任务检索了完全相同的案例,但其表现比完整ExpNote要差。

因此,我们可以得出结论,**抽象的知识或规则更能帮助LLM泛化到测试案例。**此外,positve和negative都落后于完整的ExpNote,但仍优于基线方法。我们在附录C中进行了效率分析,结果显示positve和negative案例的经验在两个数据集上分别比其他经验更高效。这些结果表明,从positve案例和negative案例中学到的经验对LLM泛化到测试集是有用的。

4.5 训练曲线

图片

我们还观察到模型在不同训练样本数量下的性能变化。如图所示,在CLUTRR中,ExpNote从0个样本(等同于disabled)开始训练,最后训练样本达到200个。ExpNote在测试集上的性能随着训练样本数量的增加而持续提升,表明ExpNote在训练阶段持续学习新知识

4.6 改进分析

图片

我们还分析了在每个数据集中引入经验后纠正了多少个案例。如图所示,我们绘制了4个条件下案例的分布情况:

F => F: 一个案例在disabled中原本回答错误,在ExpNote中也回答错误。

F => T: 一个案例在disabled中原本回答错误,在ExpNote中回答正确。

T => T: 一个案例在disabled中原本回答正确,在ExpNote中也回答正确。

T => F: 一个案例在disabled中原本回答正确,在ExpNote中回答错误。

在图中,我们展示了在所有4个数据集中,ExpNote在纠正一定数量的错误(绿色部分)的同时,产生了一些新的错误(红色部分)。我们可以观察到,大约有50%的disabled中的错误答案(灰色 + 绿色部分)在ExpNote中得到了纠正(绿色部分)。

图片

海报欣赏

图片

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值