当前位置: 首页 > java >正文

Prompt compress 技术探究-LLMLingua

Prompt summary:是通过精心设计的提示词(prompt)引导大型语言模型(如 GPT-4)生成特定风格或结构的摘要。其目标不仅是压缩信息,还包括满足特定的格式要求、风格偏好或任务需求,所以和一般的文本摘要还是有些差异的。下面展示了prompt compress技术路线分类总结图。

 

1. 基于信息熵压缩的 LLMLingua

1.1 摘要

这里以微软的一篇发表在2023 EMNLP 顶级期刊研究论文,介绍下prompt compress技术。LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models https://arxiv.org/pdf/2310.05736。

就信息熵角度来说,困惑度 (PPL) 较低的标记对语言模型的整体熵增益贡献较小,删除困惑度较低的词条,对LLM理解上下文的影响相对较小, 基于这个理论指导,这篇论文进行了尝试。

大型语言模型 (LLM) 因其强大的性能而被广泛应用于各种领域。随着思路链 (CoT) 提示和语境学习 (ICL) 等技术的进步,输入到 LLM 的提示越来越长,甚至超过数万个 token。为了加速模型推理并降低成本,本文提出了一种由粗到精的提示压缩方法 LLMLingua,该方法包含一个预算控制器以在高压缩率下保持语义完整性,一个 token 级迭代压缩算法以更好地模拟压缩内容之间的相互依赖关系,以及一种基于指令调优的语言模型间分布对齐方法。我们在四个不同场景的数据集上进行了实验和分析,分别是 GSM8K、BBH、ShareGPT 和 Arxiv-March23;结果表明,所提出的方法达到了最先进的性能,并且允许高达 20 倍的压缩,而性能损失却很小。

1.2 实现步骤

先看下论文的框架图:

 

要点总结:

  1. 为了保证小模型和大模型的数据分布尽可能的一致,使用大模型的输出指令对小模型(gpt2, llma)进行微调。

  2. 原始的prompt 通常包含三个部分,一个是指令,一个示例,一个问题,那么根据三部分,我们知道,指令和问题,对于llm回答正确的问题是更加的重要的,demonstration 显然没有那么的重要,所以基于此,设计了budget controller, 这个的作用就是在对是三个部分设置不同的压缩比例。

  3. 针对一个prompt,首先输入小模型,然后对小模型输出的demonstration进行困惑度计算,并按照从高到低进行排序,根据设定的压缩长度的阈值计算公式,选择出来满足这个要求的demonstration, 进行保留,不满足的demonstration进行舍弃。

  4. 将选择出来的demonstration和之前prompt 中的instruction, question 再组合起来,将这个文本分割成几个文本块,然后对每一个文本块逐个字进行判断是不是大于某个困惑度阈值,然后选择出大于的token作为最终的输出。

 

http://www.xdnf.cn/news/3859.html

相关文章:

  • SpringAi接入DeepSeek大模型
  • SurfSense开源程序是NotebookLM / Perplexity / Glean的开源替代品,连接到外部来源,如搜索引擎
  • ArrayList的扩容机制(源码解析)
  • 深度学习的简单介绍
  • PISI:眼图1:眼图相关基本概念
  • 使用synchronized关键字同步Java线程
  • AndroidLogger常用命令和搜索功能介绍
  • STM32Cube-FreeRTOS任务调度与任务管理-笔记
  • ruoyi-flowable框架关于启动时提示锁住问题
  • LLM论文笔记 27: Looped Transformers for Length Generalization
  • n8n工作流自动化平台的实操:利用本地嵌入模型,完成文件内容的向量化及入库
  • 【Linux网络#3】:Socket编程应用层UDP
  • Scartch038(四季变换)
  • MCP智能体多Agent协作系统设计(Multi-Agent Cooperation)
  • 模型部署——cuda编程入门
  • C语言内存函数详解:从基础到实战
  • 2025年渗透测试面试题总结-拷打题库38(题目+回答)
  • profile软件开发中的性能剖析与内存分析
  • 数据库Mysql_联合查询
  • Python----机器学习(模型评估:准确率、损失函数值、精确度、召回率、F1分数、混淆矩阵、ROC曲线和AUC值、Top-k精度)
  • 双列集合——map集合和三种遍历方式
  • React实现B站评论Demo
  • 分布式系统中的 ActiveMQ:异步解耦与流量削峰(一)
  • Dify 完全指南(一):从零搭建开源大模型应用平台(Ollama/VLLM本地模型接入实战)》
  • Github2025-05-04php开源项目日报 Top10
  • 详解迁移学习,模型参数冻结,优化器参数定义
  • 传感器数据处理笔记
  • Linux中的粘滞位和开发工具和文本编辑器vim
  • 马小帅面试遇“灵魂拷问“
  • hot100:链表倒数k个节点- 力扣(LeetCode)