LongWriter: 基于LLM代理可以将输出窗口大小扩展到10,000+个单词

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 本文介绍了一种名为AgentWrite的方法,旨在克服大型语言模型(LLM)生成长文本时的局限。通过将任务分解为子任务,AgentWrite使LLM能生成超过20,000词的连贯文本。研究揭示了监督微调数据中的输出长度限制是导致LLM生成长度受限的主要原因。通过构建LongWriter-6k数据集并对模型进行再训练,成功扩展了输出长度至10,000词以上,且未牺牲输出质量。

LLM可以处理长达100,000个token的输入,但在生成超过2,000词的适度长度输出时仍然面临困难,因为模型的有效生成长度本质上受到其在监督微调(SFT)过程中所见样本的限制。

为解决这个问题,本文的作者引入了AgentWrite,这是一个基于代理的流程,它将超长生成任务分解为子任务,使现成的LLM能够生成超过20,000词的连贯输出。

主要贡献如下:

  • 介绍了限制当前(长上下文)LLM输出长度的主要因素,即SFT数据中对输出长度的约束。
  • 提出AgentWrite,使用分而治之的方法和现成的LLM自动构建具有超长输出的SFT数据。并且使用这种方法,构建了LongWriter-6k数据集。
  • 将LongWriter-6k数据集进行SFT训练,成功地将现有模型的输出窗口大小扩展到10,000+词,同时不影响输出质量。

成长度限制的原因

论文先构建LongWrite-Ruler评估(创建8个不同的指令,中英文各4个,并在指令中改变输出长度要求"L")来探测LLM的生成长度限制。然后,通过改变模型SFT阶段数据的最大输出长度,发现训练模型在LongWrite-Ruler测试中的最大输出长度与SFT数据的最大输出长度显示出显著的正相关。

如下图所示,LongWrite-Ruler测试表明所有测试模型的最大输出长度限制约为2k词。

对照实验

在这三个训练集上训练GLM-4-9B模型,并测量结果模型在LongWriter-Ruler上的最大输出长度。下图显示了在不同最大输出长度的SFT数据集上训练的GLM-4-9B的LongWriter-Ruler测试。

上图表明,模型的最大输出长度与SFT数据中的最大输出长度成正比增加,分别达到约600、900和1,800词。

AgentWrite: 自动数据构建

AgentWrite是一个分而治之风格的代理,流程如下图所示。

AgentWrite首先将长写作任务分解为多个子任务,每个子任务要求模型只写一段。然后模型依次执行这些子任务,我们将子任务输出连接起来以获得最终的长输出。

更详细的描述概述如下步骤:

i) 步骤1: 规划

使用LLM根据写作指令生成写作大纲,其中包括每段的主要内容和字数要求。使用的提示如下:

ii) 步骤2: 写作

串行调用LLM完成每个子任务,逐节生成写作内容。为确保输出的连贯性,在调用模型生成第n节时,还输入之前生成的n-1节,允许模型基于现有的写作历史继续写下一节。

使用的提示如下:

iii) 验证

在两个长篇写作数据集上测试了所提出的AgentWrite方法的生成长度和质量

a) LongWrite-Ruler

用于精确测量该方法可以提供多长的输出。

b) LongBench-Write

通过收集120个不同的用户写作提示构建了这个数据集,其中60个是中文,60个是英文。为评估模型的输出长度是否满足用户要求,作者确保所有这些指令都包含明确的字数要求,组织成四个子集:0-500词、500-2,000词、2,000-4,000词和4,000词以上。

该数据集的关键统计数据如下:

采用两个指标进行评估:一个用于评分输出长度,另一个用于评分输出质量。模型的输出长度应尽可能接近指令中规定的要求。因此,我们使用分段线性函数计算输出长度得分Sl(其中l是要求的长度,l'是实际输出长度):

验证结果

下图显示了LongWrite-Ruler上的输出长度测量结果

观察到AgentWrite成功将GPT-4o的输出长度从最大2k词扩展到约20k词。考虑到GPT-4o在评估AgentWrite性能时可以成功完成输出长度不超过2,000词的任务,所以仅在要求输出长度为2,000词或更多的指令上应用AgentWrite。此外还评估了AgentWrite的一个变体,表示为"+Parallel",它在步骤2中并行调用模型为每个段落生成输出。

下表概述了LongBench-Write上AgentWrite策略的评估:

在整合AgentWrite后,GPT-4o可以生成长达20k词的内容。这显著提高了GPT-4o的长度跟随得分(Sl),特别是在[4k, 20k)词的输出长度范围内。检查质量得分(Sq),可以看到AgentWrite在扩展长度的同时不会影响输出质量。通过比较六个维度的质量得分,发现AgentWrite显著提高了广度和深度得分(+5%),同时略微降低了连贯性和清晰度得分(-2%)。虽然+Parallel略微提高了模型的输出长度得分,但它损害了AgentWrite的输出质量,特别是在连贯性方面(-6%)。这表明在AgentWrite的步骤II中为模型提供先前生成的上下文是必要的。

LongWriter: 教会模型生成更长的输出

i) 数据构建

从GLM-4的SFT数据[2]中选择了3,000条指令,主要是中文。从WildChat-1M3中选择了3,000条指令,主要是英文。并使用GPT-4o进行自动选择过程。手动检查自动选择的指令,并验证超过95%的指令确实需要几千词的回应。

对于这6,000条指令,使用带有GPT-4o的AgentWrite流程来获得回应。进一步对获得的数据进行后处理,包括过滤掉太短的输出和因AgentWrite步骤I中获得的规划步骤过多而导致模型输出崩溃的情况,其中包括0.2%的数据被过滤掉。

清理模型可能在每个输出部分开头添加的无关标识符,如"段落1"、"段落2"等。我们将最终获得的长输出数据集称为"longwriter-6k"。为确保模型的通用能力,将longwriter-6k与通用SFT数据结合,形成整个训练集。

ii) 模型训练

a) 监督微调

基于两个最新的开源模型进行训练,即GLM-4-9B和Llama-3.1-8B。对这两个模型的训练结果是两个模型:LongWriter-9B(GLM-4-9B-LongWriter的缩写)和LongWriter-8B(Llama-3.1-8B-LongWriter的缩写)。

b) 对齐(DPO)

对监督微调的LongWriter-9B模型进行直接偏好优化。DPO数据来自GLM-4的聊天DPO数据(约50k条)。还专门针对长篇写作指令构建了4k对数据。

对于每个写作指令,从LongWriter-9B中抽样4个输出,并按照[4]中的方法对这些输出进行评分。然后我们选择得分最高的输出作为正样本,并从剩余的三个输出中随机选择一个作为负样本。结果模型LongWriter-9B-DPO在上述数据混合上训练了250步。

实验结果

下表概述了在LongBench-Write上的评估结果。由于使用GPT4-o来判断输出质量Sq,在判断自身时可能带来不公平。

i) 大多数之前的模型无法满足超过2,000词的长度要求,而LongWriter模型能够持续为此类提示提供更长、更丰富的回应。

之前的模型在[2k, 4k)范围的提示上普遍表现不佳(得分低于70),只有Claude 3.5 Sonnet达到了不错的分数。

对于[4k, 20k)范围的提示,几乎所有之前的模型都完全无法达到目标输出长度,甚至得分为0(意味着所有输出长度都小于要求长度的1/3)。

通过添加来自LongWriter-6k的训练数据,作者训练的模型可以有效地达到要求的输出长度,同时保持良好的质量,这从[2k, 20k)范围的Sl和Sq以及下图的散点图中可以看出。

在测试中,作者使用了两个现有的支持128k上下文窗口的长上下文模型:GLM-4-9B和Llama-3.1-8B。下图报告了它们在三个LongWriter模型生成的约100个长于8,192个token的文本样本的不同位置上的累积平均NLL损失。较低的NLL值表示更好的预测。

两个模型在后期位置的预测显著改善,表明LongWriter模型输出中存在长程依赖。

ii) DPO有效提高了模型的输出质量和在长生成中遵循长度要求的能力

通过比较LongWriter-9B和LongWriter-9B-DPO的得分,作者发现DPO显著提高了Sl(+4%)和Sq(+3%)得分,并且改进在所有范围内都是一致的。

作者手动注释了GPT-4o和三个longwriter模型在LongBench-Write中输出的成对胜负,并在下图中可视化了结果。

iii) LongWriter模型的输出长度限制扩展到10k到20k词之间,而需要更多具有长输出的数据来支持更长的输出

下图显示了LongWriter模型的LongWrite-Ruler测试结果,显示它们的最大生成长度在10k-20k词之间。

总结

这篇论文确定了当前LLM的2,000词生成限制,并提出通过在对齐过程中添加长输出数据来增加它们的输出窗口大小。为自动构建长输出数据,开发了AgentWrite,这是一个基于代理的流程,使用现成的LLM创建扩展的、连贯的输出。

使用论文构建的LongWriter-6k成功地将当前LLM的输出窗口大小扩展到10,000+词。

https://avoid.overfit.cn/post/509d148d53554a28b7532a0b8b42ec61

目录
相关文章
|
存储 算法 调度
探索AIOS:LLM智能代理操作系统的未来
【4月更文挑战第5天】AIOS是一种创新的LLM智能代理操作系统,旨在解决资源分配、上下文维护和异构代理集成的挑战。它将OS作为代理的“大脑”,采用模块化设计优化LLM功能,包括代理调度、上下文管理、内存和存储管理。AIOS提供并发执行、工具集成及访问控制,提升效率和安全性。其SDK加速应用开发,开源特性促进研究合作。尽管有调度优化、上下文管理效率和安全性的改进空间,AIOS为智能代理的发展开辟了新途径。
746 11
探索AIOS:LLM智能代理操作系统的未来
|
7月前
|
机器学习/深度学习 人工智能 算法
SWEET-RL:基于训练时信息的多轮LLM代理强化学习框架
SWEET-RL是一种基于训练时信息的逐步评估算法,显著提升了多轮大型语言模型(LLM)代理在强化学习中的成功率。相比现有方法,SWEET-RL将成功率提高6%,使小型开源模型如Llama-3.1-8B达到甚至超越GPT-4O等大型专有模型性能。通过非对称Actor-Critic结构、创新优势函数参数化及两阶段训练流程,SWEET-RL优化了信用分配机制与泛化能力,降低了计算成本。ColBench基准测试显示,SWEET-RL在后端编程和前端设计任务中表现卓越,为AI代理训练技术带来突破性进展。
193 2
SWEET-RL:基于训练时信息的多轮LLM代理强化学习框架
|
8月前
|
人工智能 自然语言处理 数据可视化
Agentic Reasoning:推理界RAG诞生!牛津大学框架让LLM学会『组队打怪』:动态调用搜索/代码代理,复杂任务准确率飙升50%
Agentic Reasoning 是牛津大学推出的增强大型语言模型(LLM)推理能力的框架,通过整合外部工具提升多步骤推理、实时信息检索和复杂逻辑关系组织的能力。
310 1
|
存储 自然语言处理 索引
|
人工智能 数据可视化 数据挖掘
LLM代理应用实战:构建Plotly数据可视化代理
构建数据可视化代理解决了LLM(大型语言模型)在理解和生成定制图表时的局限性。代理提供DataFrame信息和自定义样式工具,简化与LLM的交互。选择了Plotly而非Matplotlib,因其交互性和Web渲染能力更适合现代可视化。代理通过元数据索引了解数据集详情,并根据样式指示生成符合特定审美的图表。通过ReActAgent和Groq模型,代理能理解用户指令,生成准确的Plotly代码,从而创建定制图表,提高了数据可视化的效率和准确性。
235 1
|
自然语言处理
LLM上下文窗口突破200万!无需架构变化+复杂微调,轻松扩展8倍
【5月更文挑战第12天】LongRoPE研究突破LLM上下文窗口限制,无需架构变更和复杂微调,实现8倍扩展至2048万个token。该方法利用位置嵌入非均匀性,通过高效搜索和优化初始化,适用于处理长文本任务,对模型性能影响小。但可能需要较多计算资源,且2048万的长度是否足够所有任务尚待探讨。[论文链接](https://arxiv.org/abs/2402.13753)
435 1
|
6月前
|
机器学习/深度学习 存储 缓存
加速LLM大模型推理,KV缓存技术详解与PyTorch实现
大型语言模型(LLM)的推理效率是AI领域的重要挑战。本文聚焦KV缓存技术,通过存储复用注意力机制中的Key和Value张量,减少冗余计算,显著提升推理效率。文章从理论到实践,详细解析KV缓存原理、实现与性能优势,并提供PyTorch代码示例。实验表明,该技术在长序列生成中可将推理时间降低近60%,为大模型优化提供了有效方案。
971 15
加速LLM大模型推理,KV缓存技术详解与PyTorch实现
|
3月前
|
弹性计算 关系型数据库 API
自建Dify平台与PAI EAS LLM大模型
本文介绍了如何使用阿里云计算巢(ECS)一键部署Dify,并在PAI EAS上搭建LLM、Embedding及重排序模型,实现知识库支持的RAG应用。内容涵盖Dify初始化、PAI模型部署、API配置及RAG知识检索设置。
自建Dify平台与PAI EAS LLM大模型
|
26天前
|
存储 缓存 负载均衡
LLM推理成本直降60%:PD分离在大模型商业化中的关键价值
在LLM推理中,Prefill(计算密集)与Decode(访存密集)阶段特性不同,分离计算可提升资源利用率。本文详解vLLM框架中的PD分离实现及局限,并分析Dynamo、Mooncake、SGLang等主流方案,探讨KV缓存、传输机制与调度策略,助力LLM推理优化。建议点赞收藏,便于后续查阅。
455 1
|
3月前
|
机器学习/深度学习 人工智能 编解码
AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型
AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型
AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型