在自然语言处理(NLP)领域,大型语言模型(LLMs)已展现出卓越的文本生成能力。然而,在实际应用中,LLMs 面临着越来越复杂的需求。不仅要避免生成误导性或不适当的内容,LLMs 还需满足特定用户的要求,如模仿特定的写作风格或创作富有诗意的文本。
这些多样化的需求催生了可控文本生成(Controllable Text Generation, CTG)技术的发展。CTG 技术确保生成的文本不仅严格符合预设的控制条件——如安全性、情感、主题一致性和语言风格——同时也保持着高度的实用性、流畅性和多样性。
论文题目:
Controllable Text Generation for Large Language Models: A Survey
论文链接:
https://arxiv.org/abs/2408.12599
Github链接(包含中文版本,相关论文列表持续更新):
https://github.com/IAAR-Shanghai/CTGSurvey
中国人民大学、上海算法创新研究院、中国电信研究院联合发布了最新关于大语言模型可控文本生成的综述**《Controllable Text Generation for Large Language Models: A Survey》**。这篇综述全面涵盖了可控文本生成_(Controllable Text Generation,CTG)_领域的核心概念、关键任务、技术方法、评估方式和应用场景等内容。
该综述一度登上当日 Hugging Face 的 Daily Papers 热度第一。Meta 前工程师,DAIR.AI 联合创始人 Elvis Saravia 称赞到:“更好的、可调控的文本生成技术是将大语言模型应用于现实世界的关键。尽管 LLMs 存在许多问题,但在安全性、一致性、风格和实用性等方面仍然取得了一定的进展。这些领域也是我目前与公司合作时大部分 AI 工作的重点。看到一份专门针对 LLM 可控文本生成方法的详细报告,真是太好了。”
01.CTG核心概念
可控文本生成旨在引导文本生成过程,使其遵循预定义的控制条件,如安全性或情感倾向,同时确保生成文本在流畅性和多样性等方面保持高质量。这一能力增强了 LLMs 在满足特定需求方面的表现,从而提高了生成文本的适用性和有效性。
在 CTG 中,控制条件可以是显式或隐式的。显性控制涉及通过人机交互明确传达的指令(例如输入提示),指导模型生成特定风格的文本,如莎士比亚风格或幽默语调。隐性控制则是在未明确提出这些要求的情况下,确保生成的文本符合某些标准,例如生成无毒、无冒犯性和无歧视性的内容。
CTG 任务经常被误解为是模型的指令遵循能力,但实际上两者之间并没有严格的包含关系。CTG 可以通过 LLMs 的指令遵循能力来实现,但指令遵循能力并不等同于 CTG 问题的全部。CTG 主要关注的是如何控制语言模型生成文本的形式,这与 LLMs 的客观知识能力是两个正交的能力维度。
如下图所示,对 LLMs 的要求经常是让其在逻辑推理、文本分析或问题解决等客观能力上表现出色,但 CTG 则强调如何表达和呈现这些客观信息。换句话说,CTG 关注的不仅是生成文本中事实的准确性和相关性,更加重视信息传达的方式。
例如,在情感控制任务中,CTG 并不要求模型优先考虑内容的事实准确性,而是确保所传达的情感与预期的情绪基调相符。同样,在风格控制任务中,模型必须保证内容符合特定的语言风格或语气。CTG 赋予 LLMs 生成更具个性化和情境感知的内容的能力,从而满足不同用户的需求。
然而,需要注意的是,CTG 任务并没有绝对的标准规定某种情感输出优于另一种情感输出。例如,积极情感的输出并不一定比中性情感的输出更好。CTG 的重点在于根据不同的应用场景和需求进行适应,以实现最合适的生成结果。
02.CTG任务维度
CTG 需求可以分为两个主要维度。第一个维度关注确保生成的文本符合预定义的控制条件,例如文本结构、安全性和主题聚焦,以满足用户的特定需求。第二个维度则关注文本的有用性、流畅性和多样性等基本质量标准,确保其在实际应用场景中的有效性和适用性。这两个维度共同构成了 CTG 的双重挑战:既要严格遵守指定的控制条件,同时还需保持高质量的文本生成。
如下图所示,CTG 的关键挑战在于在确保生成文本质量和有用性的同时,保留模型的原有能力。例如,当用户输入带有潜在危害的问题(如“如何快速减肥?”)时,模型如果只是简单地拒绝回答,可能会导致用户转向其他渠道获取错误或不安全的信息。
相反,通过提供有用的指导,模型可以更好地帮助用户,例如建议:“快速减肥可能会对健康造成危害,建议咨询专业营养师或医生,制定安全有效的减肥计划。”
03.CTG任务分类
在 CTG 中,任务可以分为两大类:内容控制(语言控制/硬控制)和属性控制(语义控制/软控制)。
-
内容控制:聚焦于生成文本的具体元素,如结构和词汇,通过明确的规则直接影响文本的形式和内容。
-
属性控制:关注文本的抽象语言属性,如情感、风格和主题,通过影响整体语义特征来实现控制。
04.CTG方法技术
CTG 的核心在于将控制条件融入 LLMs 的文本生成过程中。CTG 方法通过注入外部信息,实现对文本生成的控制,这些信息可以是模型驱动的(如使用分类器、条件语言模型或直接从 LLMs 中引入知识),也可以是数据驱动的(如利用丰富的数据资源、词典、图谱或数据库),如下图所示:
CTG 方法根据模型干预的阶段分为两类:训练阶段和推理阶段,每个阶段又可以分为更具体的方法。
训练阶段,主要采用以下方法来实现可控文本生成:
-
重训练:从头开始使用特定数据集训练模型,确保模型能够符合所需的控制条件。这种方法通常适用于预训练模型不足或需要对模型架构进行调整的情况。
-
微调:通过特定的数据集对预训练模型进行参数调整,将所需的控制属性融入模型中。相比重训练,微调所需的数据和计算资源较少,是一种高效的调整方法。
-
强化学习:使用奖励信号引导模型输出,以满足特定的控制目标。通过迭代优化,模型逐步学会使输出与控制条件对齐,适用于需要保持特定风格或情感的复杂任务。
推理阶段,干预方法在文本生成的实时过程中进行,以影响最终输出。
-
提示工程:通过操控输入提示,引导模型生成过程。提示工程不改变模型参数,适合快速调整生成策略。
-
潜在空间操控:通过调整模型隐藏层的激活状态,对生成过程进行精确控制,不需要更改模型权重,尤其适用于情感或风格的微调。
-
解码时干预:在解码过程中修改生成输出的概率分布或应用特定规则,以实时调整输出,确保其符合特定的控制条件。此方法通常是即插即用的,具有动态调整的灵活性。
05.评估方法、应用场景与挑战展望
本文综述了自动评估、人工评估和基于 LLM 的评估三类主要方法,并介绍了各种评估指标和基准数据集,同时探讨了 CTG 在垂直领域(如新闻生成、科学文献)和通用任务(如对话生成、故事创作)中的广泛应用。
尽管如此,当前生成文本的流畅性和实用性仍需提升,尤其是在多属性控制、属性解耦、解码时间优化及内容精确控制方面存在挑战。未来的研究应更多关注实际应用需求,扩展测试任务种类,充分利用 LLM 的能力,以优化生成效果并找到最佳解决方案。
06.总结
这篇综述介绍了 LLMs 在 CTG 领域的最新研究进展,系统定义了基本概念,并对控制条件和文本质量要求进行了探讨。文章提出了一种新的任务分类方法,将 CTG 任务分为内容控制和属性控制,详细评审了各类 CTG 方法,包括训练阶段的重训练、微调和强化学习,以及推理阶段的提示工程、潜在空间操控和解码时干预。
综述还探讨了 CTG 的各种评估方法,并重点介绍了其在多个垂直领域和通用任务中的广泛应用。文章分析了 CTG 领域面临的挑战,如提升生成质量、优化控制精度和提高推理效率,并提出了未来研究方向和建议。
这篇综述为可控文本生成领域的核心概念、技术方法、评估手段和实际应用提供了全面的综述,并且为未来的研究探索提供了系统的参考和指导。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。