问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

大模型prompt压缩技术总结:从硬提示到软提示代表方案实现思路

创作时间:
作者:
@小白创作中心

大模型prompt压缩技术总结:从硬提示到软提示代表方案实现思路

引用
CSDN
1.
https://blog.csdn.net/2401_85325726/article/details/143562370

随着大模型在各个领域的广泛应用,prompt压缩技术成为了提高模型效率和性能的关键技术之一。本文总结了当前主流的prompt压缩方法,包括硬提示和软提示两种路线,并详细介绍了各自的实现方案和技术特点。

一、关于prompt压缩的技术总结

在技术路线上,prompt压缩可以分为硬提示和软提示两种路线。核心问题是:如何设计一个prompt压缩算法,既能最大化压缩prompt,又不影响LLMs的性能?被压缩的prompt能否直接用于下游任务?其泛化性如何?

这些问题都可以通过以下技术方案来解答:

《Prompt Compression for Large Language Models: A Survey》(https://arxiv.org/abs/2410.12388V2)提供了很好的索引,可以收藏后续查看。

1. 提示压缩方法的说明性示例

硬提示方法移除低信息量的语言标记或进行释义以实现简洁。软提示方法将文本压缩成更少的特殊标记。下面的网格可视化了注意力模式,其中y轴代表语言标记的序列,x轴显示所关注的标记。在原始提示中,每个标记都关注所有之前的标记。在硬提示中,每个标记不能关注之前删除的标记(Di)。在软提示中,经过压缩的标记(Ci)关注了所有先前的输入标记(Ii)之后,随后的输出标记(Oi)不能关注压缩标记之前的标记。

这些方法可以应用于多个场景,包括通用问答(General QA)、检索增强生成(Retrieval-Augmented Generation, RAG)、上下文学习(In-Context Learning, ICL)、基于代理的系统(Agent-based Systems)。

二、硬提示压缩方法

硬提示方法包括过滤(Filtering)方法和释义(Paraphrasing)方法两种,这类方法通过删除、重写等方式直接对自然语言提示词进行压缩。

1. 过滤(Filtering)方法

一个很简单的压缩思路就是删除那些不能为LLMs带来“信息”的文本,达到压缩Prompt的目的,这就是过滤的方案的核心,包括SelectiveContext、LLMLingua、LongLLMLingua、AdaComp等,也包括一些增强方案,如图:

另一种是,在模型加上一层Linear来进行token级别的分类来做压缩。也就是使用分类器模型来做,专门训一个模型:

2. 释义(Paraphrasing)方法,也叫改写式压缩

与其删词,不如换个写法,因此,可以释义(Paraphrasing)的方案,包括Nano-Capsulator、CompAct、FAVICOMP等:

硬提示方法通过直接操作自然语言标记来实现提示的压缩,通常保持使用自然语言单词或子单词,但结果提示可能在流畅性和语法正确性上有所欠缺。这些方法的优势在于可以泛化到具有不同嵌入配置的LLMs,并且不需要额外的内存成本。但也存在着诸多问题,例如,过滤后的硬提示可能会破坏语法正确性,并为LLM提供不熟悉的输入分布,可能影响其性能。此外,创建有效和精确的硬提示需要相当的人力,并且可能涉及训练模型来优化这些提示。

三、软提示压缩方法

软提示方法可能会被分为仅解码器(Decoder-Only)、编码器-解码器(Encoder-Decoder)等子类别。

1. 仅解码器架构

仅解码器架构主要包括有,CC训练短软提示词来近似原始提示词的输出分布;GIST修改注意力机制,用特殊token替代原始提示词;AutoCompressor递归压缩,可处理长度达30,720的提示词。具体地:

2. 编码器-解码器架构

采用编码器-解码器架构方案的,主要有ICAE专注于压缩信息密集的上下文,保持问题部分不变;500xCompressor通过KV值存储实现高压缩比;xRAG使用冻结的嵌入模型作为编码器;UniICL专注于压缩few-shot示例。具体地:

总结

本文主要介绍了prompt压缩的技术总结,在技术路线上可以分为硬提示和软提示两种路线。对于进一步的细节,可以参考列出来的论文。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号