首页生活资讯正文

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

2024-10-20 次浏览

LLM可以处置长达100,000个token的输入,但在天生跨越2,000词的适度长度输出时仍旧面对艰苦,由于模子的有用天生长度本色上受到其在监视微调(SFT)进程中所见样本的限定。

为办理这个问题,本文的作者引入了AgentWrite,这是一个基于署理的流程,它将超永生成义务分化为子义务,使现成的LLM可以或许天生跨越20,000词的连贯输出。



LongWriter:基于LLM代理可以将输出窗口大小扩展到10,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

模子输出长度
推荐2款生物医学专用翻译软件 德语学习帮你搞定基数词和序数词
相关内容