文献阅读:Large Language Models as Optimizers

这篇具有很好参考价值的文章主要介绍了文献阅读:Large Language Models as Optimizers。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 文献阅读:Large Language Models as Optimizers
    • 1. 文章简介
    • 2. 方法介绍
      • 1. OPRO框架说明
      • 2. Demo验证
        • 1. 线性回归问题
        • 2. 旅行推销员问题(TSP问题)
      • 3. Prompt Optimizer
    • 3. 实验考察 & 结论
      • 1. 实验设置
      • 2. 基础实验结果
        • 1. GSM8K
        • 2. BBH
        • 3. 泛化性
      • 3. 消融实验
        • 1. meta-prompt
        • 2. 生成prompt的数目
        • 3. 起始点
        • 4. diversity
      • 4. 过拟合分析
      • 5. 与EvoPrompt的对比
    • 4. 总结 & 思考
  • 文献链接:https://arxiv.org/abs/2309.03409

1. 文章简介

这篇文章是Google在23年9月发表的一个工作,在这篇文章当中,他们提出了一个OPRO的框架,在这个框架当中,他们使用LLM来模拟模型训练当中的optimizer,然后通过迭代的方式不断地预设的NLP问题进行持续迭代,从而获得最优的问题回答。

基于这个框架,文中首先在两个简单的问题上做了可行性验证:

  1. 线性回归问题
  2. 旅行推销员问题(TSP问题)

这个框架天然地适用于prompt的优化问题,因为这同样是一个有明确定义的文本优化问题,因此文中使用这个框架同样进行了LLM的prompt优化,然后在GSM8K和BBH两个NLP数据集当中获得了SOTA的结果。

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

以下就是OPRO获得的GSM8K上面的prompt与其他当前使用的主流的prompt的一些对比示例:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

下面,我们来看一下OPRO的具体设计以及文中给出的实验及其效果。

2. 方法介绍

1. OPRO框架说明

OPRO的全称为Optimization by PROmpting,具体来说就是使用LLM来作为optimizer来通过另外一个prompt来持续迭代优化输入的文本。

我们首先回想一下模型训练当中的Optimizer是怎么工作的,对于一般的training过程,就是通过输入的训练数据,计算出来一个loss,然后计算出梯度之后通过optimizer来反向更新模型当中的参数值。

文中的OPRO框架也基本就是这么个思路,给出一段文本,然后计算出这段文本的score,然后通过一个meta prompt交给LLM来迭代优化这段文本,直到计算出来的score达到一个最大值。

我们给出文中的OPRO框架的整体示意图如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

2. Demo验证

下面,我们来通过两个具体的case来说明一下OPRO框架的具体运行方式。

1. 线性回归问题

首先,文中在线性回归问题当中进行了一下考察,具体来说,就是用下述公式生成50个点:

y = k x + b + ϵ y = kx + b + \epsilon y=kx+b+ϵ

然后让OPRO进行 ( k , b ) (k, b) (k,b)的学习。

给出这个问题的meta prompt如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

得到结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • OPRO框架确实可以来拟合学习 ( k , b ) (k, b) (k,b)的值,且GPT4的效果优于其他模型。
2. 旅行推销员问题(TSP问题)

然后,文中还考察TSP问题,具体来说,就是给定一些点和边,求遍历所有点所需经过的边的权重总和最小值。

同样的,给出文中对于这个问题的meta prompt如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

对应的实验结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • OPRO同样可以一定程度上解决掉TSP问题,且GPT4模型效果优于其他模型。

3. Prompt Optimizer

有了上面的基础,我们来看一下如何使用OPRO框架来优化prompt,同样的,我们就是给出一个prompt,然后通过几个case考察以下这个prompt的效果,然后给出一个score,然后让LLM重新基于之前的一系列prompt以及其对应的打分score,去尝试迭代优化下一个版本的prompt。

给出文中在GSM8K下的prompt迭代优化的meta prompt的示例如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到,整体上这个meta prompt就是包含了几个部分:

  1. prompt examples & scores
    • 过去给出prompt以及对应的打分结果
  2. problem examples
    • 一些具体的case以及给出prompt然后给出的答案
  3. instruction
    • instruction to optimize prompt

然后就是整体上不断地加入case进行迭代优化,直至获得最优的prompt内容即可。

下面,我们来看一下文中关于OPRO对prompt优化的实验结果。

3. 实验考察 & 结论

1. 实验设置

首先,我们来看一下文中给出的OPRO优化的prompt的实验设置。

在模型方面,文中使用的prompt优化模型和打分模型分别如下:

  1. Optimizer:
    • Pre-trained PaLM 2-L
    • instruction-tuned PaLM 2-L
    • text-bison
    • gpt-3.5-turbo
    • gpt-4
  2. Scorer:
    • Pre-trained PaLM 2-L
    • text-bison

而实验使用的测试数据方面,则主要为:

  1. GSM8K
  2. BBH

2. 基础实验结果

1. GSM8K

下面,我们首先来看一下文中给出的GSM8K上的实验结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • 随着迭代的深入,prompt的效果确实可以得到持续地优化。

文中还给出了OPRO优化得到的GSM8K上的prompt示例如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

2. BBH

下面,我们来看一下文中在BBH数据集上的实验结果。

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到,以"Let’s think step by step"作为baseline,OPRO获得的prompt在BBH数据集的各个子任务下基本都有明显的accuracy的提升。

另外,文中同样给出了accuracy与迭代的关系示意图:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到,随着迭代的增加,prompt的效果确实是越来越好的。

最后,文中同样给出了一些BBH数据集下的OPRO的prompt例子如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

3. 泛化性

除了上述两个数据集下的基础实验之外,文中还考察了一下OPRO生成的prompt的泛化能力,具体来说,就是使用在BBH上优化得到的prompt在其他数据集上测试效果,得到结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • 在GSM8K上迭代得到的prompt在Multi-Arith以及AQuA数据集上同样有着优秀的效果。

3. 消融实验

下面,我们来看一下文中给出的消融实验的实验结果。

文中主要考察了以下几个部分的消融实验:

  1. meta-prompt的设计
  2. 每一步生成的prompt的数目
  3. 起始点
  4. Diversity per step

下面,我们具体来看一下各个部分对结果的影响。

1. meta-prompt

关于具体的meta prompt的设计方面,文中又细化到了以下三个部分的影响:

  • 输入之前prompt的顺序
  • scores
  • exampler的作用

得到实验结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • 迭代中prompt历史的给出顺序最好是按照递增顺序给入,可以使模型得到最好的学习优化;
  • 评估时使用buckets越多,模型训练的效果往往越好;
  • 一定的examplar有利于模型的学习,但是过多的examplar会导致模型效果下滑,可能是由于prompt的混淆。
2. 生成prompt的数目

其次,我们考察一下文中对于单次迭代中生成的prompt数目的考察,类比到ML当中,可以视作learning rate的选择。

给出文中的实验结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • 同样的,一定程度上增加生成数目有利于模型的学习,但也不是越大越好,文中给出的建议值是一轮生成8个prompt。
3. 起始点

然后,文中还考察了一下起始点对OPRO效果的影响,即最开始的prompt设置对效果的影响。

给出文中的实验结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到:

  • 不同的起始点对于OPRO最终的收敛效果并不会有太大的影响。
4. diversity

最后,文中还考察一下迭代中diversity对迭代效果的影响。

具体来说,就是在生成中temperature参数对实验效果的影响,即调整生成过程中的随机性,看生成效果的影响,得到结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到,这里也存在一个trade-off,当temperature取1.0时,可以获得一个最优的效果。

4. 过拟合分析

此外,由于文中将LLM视为一个optimizer进行prompt的优化,那么自然也可能会出现过拟合的现象,因此文中也对过拟合进行了一下考察,得到结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以看到,在文中的两个case当中,过拟合现象并不明显,但是文中提到,确实存在一些case可能会有过拟合现象的发生,因此可以的话最好还是设置一下early stop机制比较好。

5. 与EvoPrompt的对比

最后,文中还和当前其他的一些类似工作进行了比较(EvoPrompt),得到结果如下:

文献阅读:Large Language Models as Optimizers,文献阅读,OPRO,prompt工程,深呼吸,Google,LLM

可以发现:

  • OPRO的效果是明显优于EvoPrompt的。

4. 总结 & 思考

综上,文中给出了一个新的Prompt的调优方式,即将LLM视为一个optimizer来通过反向传播迭代的方式来自行优化prompt的方法。

坦率地说,还是比较巧妙的,感觉后面可以试试,或许真能获得一些惊喜也说不定,就是迭代成本文中没提,可能不太好搞,但是即便不好搞,直接使用文中给出的这个"Take a Deep Breath"或许也能获得一些意外的惊喜,毕竟按文中的意思,他们调出来的prompt是具有一定的泛化能力的。

不过还是得说,我是真的不喜欢prompt tuning啊,唉,不知道是不是只有我一个人这么想……文章来源地址https://www.toymoban.com/news/detail-803345.html

到了这里,关于文献阅读:Large Language Models as Optimizers的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【论文阅读】FIGSTEP: JAILBREAKING LARGE VISION-LANGUAGE MODELS VIA TYPOGRAPHIC VISUAL PROMPTS

    【论文阅读】FIGSTEP: JAILBREAKING LARGE VISION-LANGUAGE MODELS VIA TYPOGRAPHIC VISUAL PROMPTS

    提出了一种针对视觉语言模型的新型越狱框架  论文地址:https://arxiv.org/abs/2311.05608 代码地址: GitHub - ThuCCSLab/FigStep: Jailbreaking Large Vision-language Models via Typographic Visual Prompts  1.Motivation VLM可以分为三个模块: 语言模块:是一个预先训练的LLM, 已经安全对齐 。 视觉模块:是

    2024年02月03日
    浏览(8)
  • 论文笔记:Large Language Models as Analogical Reasoners

    论文笔记:Large Language Models as Analogical Reasoners

    iclr 2024 reviewer打分5558 基于CoT prompt的大模型能够更好地解决复杂推理问题 然而传统CoT需要提供相关的例子作为指导,这就增加了人工标注的成本 ——Zero-shot CoT避免了人工标注来引导推理 但是对于一些复杂的任务难以完成推理,例如code generation ——论文提出一种“归纳学习

    2024年04月12日
    浏览(10)
  • Progressive-Hint Prompting Improves Reasoning in Large Language Models

    本文是LLM系列的文章,针对《Progressive-Hint Prompting Improves Reasoning in Large Language Models》的翻译。 大型语言模型(LLM)在推理任务中的性能在很大程度上取决于提示设计,思想链(CoT)和自洽性是增强这种能力的关键方法。然而,这些方法并没有充分利用LLM生成的答案来指导后

    2024年02月12日
    浏览(6)
  • 论文阅读 A Survey of Large Language Models 3

    论文阅读 A Survey of Large Language Models 3

    为了检验LLM的有效性和优越性,大量的任务和基准被用来进行实证评估和分析。我们首先介绍了LLM语言生成和理解的三种基本评估任务,然后介绍了LLM具有更复杂设置或目标的几个高级任务,最后讨论了现有的基准和实证分析。 在这一部分中,我们主要关注LLM的三种评估任务

    2024年02月13日
    浏览(11)
  • 论文笔记 Where Would I Go Next? Large Language Models as Human Mobility Predictor

    论文笔记 Where Would I Go Next? Large Language Models as Human Mobility Predictor

    arxiv 2023 08的论文 人类流动性的独特特性在于其固有的规律性、随机性以及复杂的时空依赖性 ——准确预测人们的行踪变得困难 近期的研究利用深度学习模型的时空建模能力实现了更好的预测性能 但准确性仍然不足,且产生的结果不能直接完全解释 LMM+位置预测 提出了一个

    2024年03月16日
    浏览(10)
  • 文献阅读:LLaMA: Open and Efficient Foundation Language Models

    文献阅读:LLaMA: Open and Efficient Foundation Language Models

    文献阅读:LLaMA: Open and Efficient Foundation Language Models 1. 文章简介 2. 模型训练 1. 训练数据 2. 模型结构 3. 模型训练 1. Optimizer 2. 效率优化 3. 效果评估 1. 经典任务下效果 1. Commen Sense Reasoning 2. Closed-book Question Answering 3. Reading Comprehension 4. Mathematical reasoning 5. Code generation 6. Massive M

    2024年02月09日
    浏览(13)
  • 【论文阅读】Can Large Language Models Empower Molecular Property Prediction?

    【论文阅读】Can Large Language Models Empower Molecular Property Prediction?

    作者:Chen Qian, Huayi Tang, Zhirui Yang 文章链接:Can Large Language Models Empower Molecular Property Prediction? 代码链接:Can Large Language Models Empower Molecular Property Prediction?  分子属性预测得到巨大的关注,分子图能够被描述为图结构的数据或SMILES (Simplified Molecular-Input Line-Entry System)文本。L

    2024年01月20日
    浏览(12)
  • 《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》全文翻译

    《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》全文翻译

    题目:《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》 作者:Jason Wei and et al. 会议: NeurlPS 2022 内容概述:论文探索如何生成一个思想链(一系列中间推理步骤)来显着提高大型语言模型执行复杂推理的能力。 我们探索生成一条思维链(一系列中间推理步骤)如何显

    2024年02月09日
    浏览(8)
  • 论文笔记:Large Language Models as Urban Residents:An LLM Agent Framework for Personal Mobility Generati

    论文笔记:Large Language Models as Urban Residents:An LLM Agent Framework for Personal Mobility Generati

    使用LMM生成活动轨迹的开创性工作 理解活动模式(mobility pattern)——能够灵活模拟城市移动性 尽管个体活动轨迹数据由于通信技术的进步而丰富,但其实际使用往往受到隐私顾虑的限制 ——生成的数据可以提供一种可行的替代方案,提供了效用和隐私之间的平衡 之前有很

    2024年03月11日
    浏览(10)
  • 【论文阅读】LoRA: Low-Rank Adaptation of Large Language Models

    【论文阅读】LoRA: Low-Rank Adaptation of Large Language Models

    code:GitHub - microsoft/LoRA: Code for loralib, an implementation of \\\"LoRA: Low-Rank Adaptation of Large Language Models\\\" 做法: 把预训练LLMs里面的参数权重给 冻结 ; 向transformer架构中的每一层, 注入 可训练的 rank decomposition matrices-(低)秩分解矩阵,从而可以显著地减少下游任务所需要的可训练参

    2024年02月03日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包