引入基于图的增强框架实现大模型的可控文本生成

尽管LLMs能够生成丰富多样的文本,但它们在生成特定属性文本时仍面临挑战。例如,如何确保生成的文本不仅语言流畅、语义准确,同时还具有所需的情感色彩或避免包含不当内容,是一个亟待解决的问题。传统的可控文本生成(CTG)方法通常通过小型语言模型来影响大型模型的解码过程,以实现对文本属性的控制。但这种方法存在局限性,它可能会损害大型模型的生成质量和文本的多样性。而且过度依赖小型模型进行控制可能会削弱大型模型在推理和解码阶段的原始性能,限制了其作为复杂生成模型的潜力。

在语义空间中,关键字如何影响句子的情感属性。通过改变句子中的几个词(如将 "masterpiece" 改为 "failure"),可以改变整个句子在情感维度上的位置,从而改变其情感倾向

针对这些问题,本论文提出了一种创新的解决方案——基于动态属性图的可控文本生成(DATG)框架。DATG通过引入属性评分器和动态属性图的概念,有效地对关键属性词和关键反属性词的出现频率进行调节,从而在不牺牲模型原有能力的前提下,实现对文本属性的精确控制。这种方法不仅提高了文本生成的控制精度,还显著提升了文本的流畅性,为可控文本生成领域带来了新的突破。

方法

研究者们对LLMs的生成能力进行了定义,将其描述为基于前文生成下一个词的概率分布。在此基础上,他们引入了控制条件C,旨在将这些条件无缝集成到生成过程中,以引导文本展现出特定的属性。这一步骤的关键在于如何在不损害LLMs固有生成质量的前提下,实现对文本属性的精确控制。

研究者还利用LLMs在预训练阶段已经积累了丰富的知识和能力的优势,通过特定提示生成与期望上下文紧密相关的文本序列,构建了一个上下文语料库。这一语料库不仅为后续的属性控制和文本生成提供了基础,而且确保了生成文本的相关性和一致性。

为了确保生成的文本符合特定的属性要求,研究者们开发了一个预训练的语言模型,并针对目标属性进行了微调。这个分类器能够对每个文本样本进行精确评分,量化其展现目标属性的程度。这一评分机制为研究者们提供了一个量化的指标,帮助他们评估和理解文本与控制条件的对齐情况。

在构建动态属性图的过程中,研究者们将文本序列转换为有向加权图,这些图基于分类器的评分来定义。他们创建了两个不同的图:正面属性图和负面属性图,分别代表了文本对目标属性的遵循和偏离。这些属性图在语义空间中为文本的属性控制提供了一个直观的表示。

DATG 方法的四个阶段:上下文语料库构建、属性分类器评分、动态属性图构建和动态边界控制下的重生成

上下文语料库构建 (Contextual Corpus Construction): 这个阶段是整个框架的起点,研究者使用大型语言模型(LLMs)根据给定的提示生成一系列文本序列。这些提示是精心设计的,旨在引导模型生成与特定上下文或主题相关的文本。生成的文本序列构成了后续处理的基础语料库,为属性控制提供了丰富的文本数据。

属性分类器评分 (Attribute Classifier Scoring): 在这个阶段,研究者利用预训练的语言模型,这些模型经过微调,能够对文本样本进行评分,反映出文本与目标属性(如毒性或情感)的一致性。分类器的评分帮助研究者量化文本的属性强度,为后续的属性图构建提供了必要的评分信息。

动态属性图构建 (Dynamic Attribute Graphs Construction): 这个阶段是DATG框架的核心,研究者将文本序列转换为动态属性图。每个句子被分解为单独的词汇(token),形成图中的节点。词汇之间的语义关系通过有向边连接,边的权重由属性分类器的评分决定。这个过程生成了两个图:正面属性图和负面属性图,分别代表文本与目标属性的一致性和偏离度。

动态边界控制下的重生成 (ReGeneration with Dynamic Boundary Controlling): 最后一个阶段涉及到使用图排名算法来识别图中的关键节点,这些节点对文本的属性有显著影响。通过调整这些关键节点(例如,增强正面属性词的生成概率,降低负面属性词的生成概率),研究者能够引导文本向期望的属性方向发展。这个阶段使用了两种策略:logits-boost 策略和前缀提示 (prefix-prompt) 策略。Logits-boost 策略通过调整词汇在模型生成算法中的logits值来影响词汇的生成概率;而前缀提示策略通过在生成提示中明确指出期望的正面词汇和应避免的负面词汇,来引导模型的生成方向。

论文最后介绍了如何使用动态属性图中的正面和负面节点来引导文本的语义轨迹,向特定属性方向移动。通过logits提升和前缀提示策略,他们精确地操纵了这些边界,控制了文本的语义方向,确保了与期望属性的一致性或与不期望属性的距离。这一步骤涉及到对关键属性相关词汇的增强或减少,以促进文本向期望属性方向移动。

实验

研究者们选择了两个主要任务来评估DATG框架的性能:毒性减轻任务和情感转换任务。这两个任务都涉及到对文本属性的精确控制,是可控文本生成领域中的关键挑战。

毒性减轻任务:使用RealToxicityPrompts数据集,研究者们创建了两个评估集,旨在评估模型在减少生成文本的毒性方面的能力。这包括广泛毒性减轻的RandomToxic和针对关键毒性减少的TopToxic。

情感转换任务:利用SST-5数据集,研究者们准备了两个评估集,NegToPos和PosToNeg,分别测试将负面情感转换为正面情感,以及反之的能力。这一任务的目的是生成在情感上与初始提示相反方向的文本,同时确保文本的连贯性和相关性。

实验使用了多种不同规模和来源的基础语言模型(LLMs),包括来自微软研究院的Phi-2 2.7B、Meta AI的OPT 6.7B、斯坦福大学的Alpaca 7B、技术创新研究所的Falcon 7B,以及Meta AI的LLaMA-2 13B。这些模型覆盖了从2.7亿到130亿参数的范围,为评估DATG方法的有效性提供了坚实的基础。

为了提高文本生成任务中的精确度和控制能力,研究者们将分类器模型与基础生成模型相结合。他们选择了BAAI/bge-large-en-v1.5模型作为分类器的基础,并针对每个任务的特定需求进行了微调。

毒性减轻分类器:使用Jigsaw Toxic Comment Classification Challenge数据集训练,以区分有害和无害的评论。

情感转换分类器:使用IMDB数据集训练,以指导文本生成朝向所需的正面或负面情感。

研究者们将DATG方法与几种基线方法进行了比较,包括无控制的文本生成(CONTINUATION)、注入特定提示以引导模型输出(INJECTION)、使用属性预测器调节文本生成(FUDGE),以及通过操纵提示的输出logits进行属性控制(PREADD)。

评估指标如下:

  • 毒性:使用Jigsaw的Perspective API来衡量生成文本的毒性水平。

  • 成功率:对于情感转换任务,使用在SST-5数据集上微调的RoBERTa模型来评估成功转换为期望情感的比例。

  • 困惑度:使用GPT-2大型模型来评估生成文本的流畅性。

  • 相关性:通过计算提示和生成文本的嵌入之间的余弦相似度来衡量上下文一致性。

不同基础语言模型在毒性缓解任务上的性能比较,包括相关性、困惑度和毒性指标
在 ToxicRandom 和 ToxicTop 数据集上,不同 LLMs 使用不同方法(如 CONTINUATION, INJECTION, FUDGE, PREADD, DATG-L, DATG-P)进行毒性缓解任务的平均性能指标,包括困惑度和毒性
不同模型在情感转换任务(NegToPos 和 PosToNeg 数据集)上的性能,包括困惑度和成功率,用于衡量文本情感转换的流畅性和准确性

研究者们对DATG方法在毒性减轻和情感转换任务中的表现进行了深入分析。结果表明,DATG在控制精度上取得了显著提升,并且在所有任务中都保持了文本的流畅性。特别是在毒性减轻任务中,DATG方法在关键指标上始终名列前茅,证明了其在减少文本毒性方面的有效性,同时保持了文本的自然性和连贯性。

不同模型在情感转换任务(NegToPos 和 PosToNeg)上的性能比较,包括相关性、困惑度和成功率
不同方法在毒性任务和情感任务上的生成速度(每秒生成的项目数)

通过这些实验,研究者们不仅验证了DATG框架的有效性,还展示了其在不同LLMs和任务中的适用性和灵活性。这些结果为未来在更广泛的属性、模型规模和复杂语言任务中应用DATG框架奠定了基础。

论文地址:https://arxiv.org/abs/2402.11218

代码地址:https://github.com/IAAR-Shanghai/DATG

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/749272.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2. jenkins发布java项目

jenkins发布java项目 一、环境描述二、部署tomcat业务服务器三、部署git服务器,上传测试代码1、部署git服务器2、上传测试代码 四、jenkins对接组件1、安装必要的插件2、对接git客户端3、对接maven工具4、配置maven需要的jdk5、配置gitlab服务器的连接6、在jenkins上…

windows下载jdk并安装步骤(保姆级教程)

一、下载jdk 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、双击下载好的jdk 更改安装目录然后点击下一步 然后会弹出jre的安装,需要选择路径(注意:这里的路径必须跟前面的jdk在…

如何在Java中使用Levenshtein距离实现字符串相似度匹配

在许多应用中,我们需要根据用户输入的问题找到最匹配的已知问题。Levenshtein距离(编辑距离)是一个强大的工具,可以帮助我们衡量两个字符串之间的差异,并进一步计算它们的相似度。本文将使用一个具体的例子来展示如何在…

ESXI存储设备已经分区,无法创建数据存储。

问题:ESXi 存储设备已经分区完成,并且有 VMFS 文件系统,无法创建数据存储,选项是灰色。 解决办法:通过命令行工具 在现有的 VMFS 分区上创建数据存储。 在现有的 VMFS 分区上创建数据存储 1.ESXI开SSH2.windows自带CMD登入ESXI。&…

创意学生木工工具——木工锯床

开展创意木工课程丰富了学校的课程多样性,强化了实践教育,并实现了跨学科的融合,在教育理念方面,创意木工课程强调了学生的主体地位,注重了学生的全面发展,并倡导了实践育人的理念,培养学生的综…

NGINX配置web文件服务

一、需求描述 系统需要提供文件(pdf、图片)等上传后支持预览功能。 二、实现方式 2.1 文件权限配置 chmod arwx -R public/chmod 是更改文件权限的命令。-R 是递归选项,表示更改目录及其所有子目录和文件的权限。arwx 是权限设置&#xf…

零知识学习之DPDK与RDMA(2)—— 认识DPDK(2)

接前一篇文章:零知识学习之DPDK与RDMA(1)—— 认识DPDK(1) 本文内容参考: 《Linux高性能网络详解 从DPDK、RDMA到XDP》 刘伟著 人民邮电出版社 https://blog.51cto.com/u_15301988/5181201 特此致谢&…

FineReport填报列权限控制

近期换东家啦,又回归使用帆软啦,对于填报报表列权限的控制我这边顺带记录一下 首先讲解下场景:填报报表需要不同角色决定对不同列是否有填写或者查看权限 以填写权限为例,首先考虑用到的是 帆软自带的权限编辑,其次考虑…

SQL Server2014 公司速通版

1、SQL Server 了解 SQL Server 2014是Microsoft公司推出的一款关系型数据库管理系统,它在数据库领域具有广泛的影响力和应用。 1.1 SQL Server 2014 主要特性【简单了解就行】 SQL Server 2014 引入了一系列新特性和改进,这些特性和改进旨在提高性能、增…

Charles 证书迁移/复制,实现手机安装一次证书可以连接多个设备的 charles 效果

如果你希望在一个手机上安装一次证书,但是使用这个手机可能在不同的时候去连接你自己安装了Charles的不同设备。比如你在公司有有一个电脑,你在家里也有一个电脑,甚至还有一个笔记本等。 如果想实现只给手机安装一次证书,就可以都…

基于halcon的眼在手外(Eye-to-Hand)标定

前言 上个月写了一个《基于halcon的眼在手上(Eye-in-Hand)标定》的文章,通过官方的示例代码进行了简单的叙述,想学习的小伙伴可以点击链接进行学习。之前博主认为眼在手上(Eye-in-Hand)的案例更多&#xff…

Embedding是什么?为什么重要?

本文为 Simon Willison 在 PyBay 上发表的演讲视频的文字改进版 原文链接: https://simonwillison.net/2023/Oct/23/embeddings/ 演讲视频链接: https://youtu.be/ArnMdc-ICCM Embedding 是一个非常巧妙的技术,但常常和一堆令人生畏的术…

国内首现AIGC环幕巨屏作品《大闹天宫》人工智能已经不知不觉的出现在我们身边了!

前言 春节期间在佛山紫薇星空光影艺术馆,由元响空间影音打造的AIGC作品《大闹天宫》迎来了第一批线下体验者,揭开一场深度融合了AIGC创作和空间影音技术的视听盛宴。 没想到全网火爆的AIGC,竟然已经真真切切的出现在了我们身边。春节期间在…

YOLOv10训练自己的数据集(图像目标检测)

目录 1、下载代码 2、环境配置 3、准备数据集 4、yolov10训练 可能会出现报错: 1、下载代码 源码地址:https://github.com/THU-MIG/yolov10 2、环境配置 打开源代码,在Terminal中,使用conda 创建虚拟环境配置 命令如下&a…

【数据结构】--栈

👌个人主页: 起名字真南 🤣个人专栏:【数据结构初阶】 【C语言】 目录 1 栈1.1 栈的概念和结构1.2 栈的实现1.2.1 头文件1.2.2 初始化1.2.3 销毁1.2.4 打印所有元素1.2.5 入栈1.2.6 出栈1.2.7 获取栈顶数据1.2.8 判空1.2.9 获取元素个数 1 栈 1.1 栈的概…

apk右键一键签名方法

使用说明 1 修改reg文件最后一行,修改为自己的电脑路径 2 修改bat文件apksigner_path路径为自己的SDK路径,将签名文件命名为platform.keystore放在该文件夹内 3 运行reg文件添加注册表后,要签名的apk右键选择“cux”系统签名即可 一键cux系…

ABAP开发:动态Open SQL编程案例介绍

动态Open SQL是Open SQL的扩展。它不是要求整个SQL语句都是动态指定的。通过熟悉的静态ABAP编码表达静态已知的部分,动态元素的部分通过动态标记指定。动态片段不明确包含在ABAP源代码中,而是源代码包含一个ABAP变量,用括号括起来作为占位符。…

【网络架构】lvs集群

目录 一、集群与分布式 1.1 集群介绍 1.2 分布式系统 1.3 集群设计原则 二、LVS 2.1 lvs工作原理 2.2 lvs集群体系架构 ​编辑 2.3 lvs功能及组织架构 2.4 lvs集群类型中术语 三、LVS工作模式和命令 3.1 lvs集群的工作模式 3.1.1 lvs的nat模式 3.1.2 lvs的dr模式 …

python-docx 使用xml为docx不同的章节段落设置不同字体

本文目录 前言一、完整代码二、代码详细解析1、处理过程解释(1) 引入库并定义路径(2) 创建docx的备份文件(3) 定义命名空间(4) 打开并处理.docx文件(5) 分析和组织文档结构(6) 设置字体(7) 保存结果前言 本文主要解决的内容,就是为一个docx的不同章节段落设置不同的字体,因为…

2024年公司加密软件排行榜(企业加密软件推荐)

在信息时代,企业数据安全至关重要,防止数据泄露和未授权访问是首要任务之一。以下是2024年备受好评的企业加密软件排行榜: 固信加密软件https://www.gooxion.com/ 1.固信加密软件 固信加密软件是新一代企业级加密解决方案,采用先…