掌握技巧:如何引导大型模型生成超过10,000字的详尽文章?

随着大语言模型的发展,许多模型已经能够处理超过100k+ tokens的输入上下文。然而,这些模型在生成长文本时,普遍存在输出长度受限的问题。

在实际应用中,为了克服这个问题,人们普遍采用「分而治之」的方法,让模型一段一段地写。这种方法在一定程度上似乎能够解决长文本输出的问题,但往往会导致 1)消耗 tokens 量成倍甚至指数增加;2)前后内容不连贯。

如何才能让模型拥有更强的长文本输出能力呢?我们发现,模型输出长度受限的主要原因在于,监督微调(SFT)数据集缺乏足够长的输出样例。

针对这一问题,我们构建了一个 6000 多条2k-20k words 不等的长输出数据集 LongWriter-6k,并在此基础上,对 GLM-4-9B 进行 SFT微调和 DPO对齐。新的模型拥有了能够生成超过10,000字/词连贯文本的能力

下面是我们用 LongWriter-9B 模型,以「黑神话 · 悟空」为题撰写的玄幻小说。

> prompt: 请帮我撰写一个主题为「黑神话·悟空」玄幻小说,小说以孙悟空为核心,讲述一个桀骜不驯,打怪升级,追逐梦想的玄幻故事,不少于 10000 字

**论文:**https://arxiv.org/abs/2408.07055

**代码:**https://github.com/THUDM/LongWriter

模型:

Huggingface:https://huggingface.co/THUDM/LongWriter-glm4-9b

魔搭:https://modelscope.cn/models/ZhipuAI/LongWriter-glm4-9b

数据:

Huggingface:https://huggingface.co/datasets/THUDM/LongWriter-6k

魔搭:https://modelscope.cn/datasets/ZhipuAI/LongWriter-6k


生成长度限制的根源

我们对当前最先进的长上下文模型的最大输出长度做了测试,这些测试会明确要求模型生成不同长度的内容,例如:撰写一篇关于罗马帝国历史的10000字文章。

从上图可以看出,所有模型生成的内容,几乎都不超过 2000 字。

原因是什么呢?

我们做了一个初步的研究,用不同最大输出长度的数据对 GLM-4-9B-base 模型进行 SFT 微调。结果如下:

伴随着要求长度的增加,不同数据集 SFT 微调出来的模型,存在最大输出长度限制。

因此可以得出一个结论,尽管长文本模型在预训练阶段接触了更长的文本序列,但其最大生成长度实际上被 SFT 数据集中输出长度的上限所限制。换句话说,模型“读”到的内容决定了它能“写”多长。

这一发现可以解释当前模型普遍存在的 2000 字输出限制——因为现有的 SFT 数据集很少包含超过此长度的样例;而另一方面,很多数据集都是用现有 LLM 自动构建的,因此它们也继承了源模型的输出长度限制。

自动构建长输出数据集

为了解决 SFT 数据集中长输出文本数据缺失的问题,我们设计了一个名为**「AgentWrite」**的 pipeline,通过分解长生成任务,让现有模型来生成更长的具备连贯性的输出。

具体来说,AgentWrite

  • 首先,会根据用户的输入生成一个详细的写作计划,包括每段内容的结构和目标字数

  • 其次,模型依次完成每个子任务,并将生成的段落串联起来,最终形成完整的长文本输出。

通过这种方法,AgentWrite 能够生成超过 20,000 字的高质量文本。

教模型生成超长输出

有了一个利用 LLMs 自动生成的更长输出的数据集,我们不禁好奇:是否可以将这种生成超长输出的能力传授给LLMs,使它们能够在单次输出中完成长篇写作任务?

我们从 GLM-4 的 SFT 数据中筛选出了 3,000 条指令(主要是中文),另外从 WildChat-1M(一个包含用户与ChatGPT/GPT-4对话记录的公开日志)中选择了3,000条指令(主要是英文),通过 AgentWrite 并利用 GPT-4o 生成了6,000条长输出的SFT数据,即 LongWriter-6k。

在模型训练中,为了确保模型的通用能力,我们将LongWriter-6k与通用SFT数据(180k 条数据)结合,形成整个训练集。输出长度分布如下:

可以看到LongWriter-6k有效地补充了通用SFT数据中2,000字以上输出样例的不足,并且LongWriter-6k中的输出长度在2,000至10,000词之间分布相对均匀。

**微调(SFT):**我们分别针对 GLM-4-9B 和 Llama-3.1-8B 做了 SFT 微调,这两个模型都是基础模型,支持最多128k tokens的上下文窗口,非常适合用于长输出的训练。我们得到两个模型:LongWriter-9B(GLM-4-9B-LongWriter的缩写)和LongWriter-8B(Llama-3.1-8B-LongWriter的缩写)。

**对齐(DPO):**为了进一步提高模型的输出质量,并增强其在指令中遵循长度约束的能力,我们在经过 SFT 微调的LongWriter-9B模型上进行了直接偏好优化。DPO数据来自GLM-4的 DPO 数据(大约50,000条),同时包含4k条我们标注的长输出正负样本对。

结果怎么样?

我们在LongBench-Write上对4个专有模型和5 个开源模型进行了评测,如下表所示:

其中 S_l 表示输出长度是否符合要求的得分。当输出长度符合要求时,得分为100;当输出长度超过要求的4倍或低于要求的1/3时,得分会线性下降至0。

S_q 则是从相关性、准确性、连贯性、清晰度、广度与深度以及阅读体验等六个维度,用 GPT-4o 进行的打分,并取平均,代表了生成内容的质量。

最终得分 \overline{S} 通过 S_l 和 S_q 的平均值计算得出。

1. 大多数当前的模型都无法满足超过2,000字的长度要求,而LongWriter模型在此类提示下始终提供更长且更丰富的响应。

更具体来说,在[2k, 4k)范围内当前的模型通常表现不佳,只有Claude 3.5 Sonnet得分尚可;而在[4k, 20k)范围里,几乎所有当前的模型都完全无法达到目标输出长度,甚至得分为0(意味着所有输出长度均小于要求长度的1/3)。

2. DPO(直接偏好优化)有效提升了模型的输出质量及其在长文本生成中遵循长度要求的能力。

通过比较LongWriter-9B和LongWriter-9B-DPO的得分,我们发现DPO显著提高了 S_l(+4%)和 S_q(+3%)的得分,并且这种提升在所有范围内都保持一致。这表明在长文本生成场景中,DPO依然能够帮助提升模型的输出质量,并能更好地使模型的输出长度与要求的长度对齐。

3. LongWriter模型的输出长度限制大概10k至20k字之间,如果想让模型拥有更长输出的能力,则需要更长输出的数据集。

在混合后的 SFT 数据集中可以看到,大部分数据都在 20k 以下,超出 20k 的数据不到 100 条。

我们相信,在未来构建更长的SFT训练数据,可以进一步突破模型输出长度的限制,达到100k甚至更长的输出长度。


如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值