查看原文
其他

「自然语言处理(NLP)」CTRL:16.3亿个参数的条件转换语言模型

ShuYini AINLPer 2023-07-10

喜欢我们,点击上方AINLPer,关注一下,极品干货即刻送达!



引言

    CTRL(A Conditional Transformer Language Model For Controllable Generation),一个16.3亿个参数的条件转换语言模型,用来训练控制代码来控制风格、内容和特定任务的行为。控制代码源于与原始文本自然共存的结构,保留了无监督学习的优点,同时对文本生成提供了更明确的控制。这些代码还允许使用CTRL来预测训练数据的哪些部分最有可能是给定的序列。

本文概要

1

First Blood


2

Aced


3

Attention


正文开始



1First Blood

TILE: A Conditional Transformer Language Model For Controllable Generation.

Contributor : Salesforce Research

Paper: https://arxiv.org/abs/1909.05858

Code: https://github.com/salesforce/ctrl

文章摘要

    大规模的语言模型显示了很有前途的文本生成功能,但是用户不能轻松地控制生成文本的特定方面。本文发布了CTRL,一个16.3亿个参数的条件转换语言模型,用来训练控制代码来控制风格、内容和特定任务的行为。控制代码源于与原始文本自然共存的结构,保留了无监督学习的优点,同时对文本生成提供了更明确的控制。这些代码还允许使用CTRL来预测训练数据的哪些部分最有可能是给定的序列。这为通过基于模型的源属性分析大量数据提供了一种潜在的方法。

模型公开的宗旨

    通过发布这个模型,我们旨在促进透明性、可复制性,以及关于人工文本生成的公开、基于事实的讨论,并提供减轻潜在负面后果的方法。我们已经在github.com/salesforce/CTRL上发布了多个完整的、经过预先培训的CTRL版本。

模型介绍

    通过16.3亿个参数,条件转换语言(CTRL)模型可以根据控制代码生成文本,这些代码指定域、样式、主题、日期、实体、实体之间的关系、情节点和任务相关的行为。为了保持在非监督设置下训练的语言模型的通用性,我们对来自结构的控制代码进行CTRL训练,这些结构通常与用于训练大型语言模型的原始文本同时出现。例如,像wikipedia、ProjectGutenberg和Amazon评论这样的大型资源都可以被分配一个与域相关的控制代码。更小的资源,比如从各个看板中提取的内容,通常同时出现在更广的域名reddit和子域名信息r/subdomain中。

    在绝大多数情况下,为培训收集的文本与URL相关联,URL通常包含与它所表示的文本相关的信息。人类可以使用这些代码来触发来自不同语言社区的文本生成,而不必了解如何使用特定的语言模式来提示。可以通过控制内容或更改域以更可预测的方式生成文本,即使初始提示仍然是固定的。

    因为所有的控制代码都可以追溯到训练数据的一个特定子集,所以CTRL可以用来预测最有可能给定一个序列的训练数据子集。CTRL和它的训练数据之间的这种显式关系可以用来分析语言模型从各个领域中学习到的相关性,它提供了一种通过语言模型研究大量文本的方法。

    这些控制代码还允许直接包含特定于任务的数据,从而在不损害模型通用性的情况下提高重要的技能。问题回答和机器翻译的控制代码使这些技能很容易使用CTRL进行访问。这些代码可以在生成过程中与代码进行绑定,从而在任务特定的行为和与域和内容相关的代码之间创建一个交叉控制代码。

CTRL改进了对人工文本生成的控制

    通过称为控制代码的特殊关键字,人们可以更明确地影响样式、类型、实体、实体之间的关系和日期。这可能会改进叙述性生成,比如在应用程序中使用面向目标的文本生成,比如回答问题、机器翻译、基于文本的人类交互系统中的通用对话,以及自动生成虚构的故事或新闻报道。这些控制代码还使人类意图与这些大型复杂模型之间的关系更加明确。与之前发布的技术相比,该模型生成随机单词序列的可能性更小。

    下面是文本提示、控制代码和生成的文本的两个示例。您会注意到,即使对于相同的提示,控制代码也允许可预测的生成变化。

    Reviews(原型)A knife is a tool and this one does the job well. I bought these for my husbandwho has been using them to cut up his own meat since he got them.  He says they are very sharp so be carefulwhen you use them, but that doesn’t seem like much of an issue because he’sused it on everything from chicken breasts to beef tenderloin…

    Horror(恐怖) Aknife handle pulled through the open hole in the front. I jumped when the knifehit. Eyes widened in horror. Her scream was the only sound I heard besides hersobs. The spider touched her feet as it started to dig into the top of herarch. The creature’s tears began to flow. The spider looked up to her andlooked back at me with eyes filled with burning tears. My heart started torace... 

    使用CTRL时,只要提供了控制代码,就不需要提示。控制代码也可以是url、问题和语言。它们还可以组合(评审、评级:和值)来提供更细粒度的控制。

CTRL可以用于源属性

    由于这些控制代码与用于训练模型的文本之间的直接关系,CTRL还可以识别在生成新文本时最有可能影响模型的数据源。

    使用CTRL,我们可以测试哪个域最能解释序列。请注意,此过程对查询提示中的细微差别非常敏感。在下面的例子中,“全球变暖是一个谎言”与“全球变暖是一个谎言。”不同。后者是一个简单的陈述句,而不是一个可以继续的句子的开头。源属性不能被认为是对准确性的度量,而只能是对每个域标记解释给定序列的程度的度量。

用CTRL建立意识和理解

    与许多强大的自然语言理解或生成系统一样,存在潜在的恶意用例。生成的文本(无论是由算法生成还是由人生成)可用于影响经济、政治和社会环境中的决策,错误的属性可能会损害个人、组织或其他实体。

    通过发布我们的模型,我们希望公开地与更广泛的研究社区合作,通过为好的参与者提供必要的和需要的资源来帮助控制、理解和对抗潜在的负面用例。

    对于语言模型,我们促进对这些人工生成过程的认识和理解是至关重要的。与信息安全研究类似,访问这些工具也是必要的,这样研究人员就有资源来暴露和防范潜在的恶意用例。我们希望通过CTRL来推进对各类模型生成内容检测的研究。

参考文档

[1]https://blog.einstein.ai/introducing-a-conditional-transformer-language-model-for-controllable-generation/



2
Aced

自然语言NLP(NLG+NLU)资料大全(持续更新....)

GitHub: https://github.com/yinizhilian/NLP_Share

相关论文集(持续更新....)

GitHub: https://github.com/yinizhilian/ACL_Paper

Attention:欢迎关注AINLPer微信公众号,了解更多最新的关于深度学习、自然语言处理相关的知识。

长按识别下方二维码,关注我们吧(づ ̄3 ̄)❤~

来都来了,点个【在看】再走吧~~~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存