话题限定护栏 “防止大模型跑题”,对话安全护栏避免大模型输出时 “胡言乱语”,攻击防御护栏防止 AI 平台受到来自外界的恶意攻击。
大模型们胡说八道太严重,英伟达看不下去了。
他们正式推出了一个新工具,帮助大模型说该说的话,并回避不应该触碰的话题。 这个新工具名叫 “护栏技术”(NeMo Guardrails),相当于给大模型加上一堵安全围墙,既能控制它的输出、又能过滤输入它的内容。
一方面,用户诱导大模型生成攻击性代码、输出不道德内容的时候,它就会被护栏技术 “束缚”,不再输出不安全的内容。 另一方面,护栏技术还能保护大模型不受用户的攻击,帮它挡住来自外界的 “恶意输入”。
现在,这个大模型护栏工具已经开源,一起来看看它的效果和生成方法。
防止大模型胡言乱语的三类 “护栏”
根据英伟达介绍,目前 NeMo Guardrails 一共提供三种形式的护栏技术: 话题限定护栏(topical guardrails)、对话安全护栏(safety guardrails)和攻击防御护栏(security guardrails)。
话题限定护栏,简单来说就是 “防止大模型跑题”。
大模型具备更丰富的想象力,相比其他 AI 更容易完成创造性的代码和文字编写工作。 但对于特定场景应用如写代码、当客服而言,至少用户不希望它在解决问题时 “脱离目标范围”,生成一些与需求无关的内容。 这种情况下就需要用到话题限定护栏,当大模型生成超出话题范围的文字或代码时,护栏就会将它引导回限定的功能和话题上。
对话安全护栏,指避免大模型输出时 “胡言乱语”。
胡言乱语包括两方面的情况。 一方面是大模型生成的答案中包括事实性错误,即 “听起来很有道理,但其实完全不对” 的东西; 另一方面是大模型生成带偏见、恶意的输出,如在用户引导下说脏话、或是生成不道德的内容。
攻击防御护栏,即防止 AI 平台受到来自外界的恶意攻击。
这里不仅包括诱导大模型调用外部病毒 APP 从而攻击它,也包括黑客主动通过网络、恶意程序等方式攻击大模型。护栏会通过各种方式防止这些攻击,避免大模型瘫痪。 所以,这样的护栏要如何打造?
如何打造一个大模型 “护栏”?
这里我们先看看一个标准的 “护栏” 包含哪些要素。 具体来说,一个护栏应当包括三方面的内容,即格式规范(Canonical form)、消息(Messages)和交互流(Flows)。
首先是 格式规范,即面对不同问题的问法时,规定大模型要输出的内容。
例如被问到 “XX 文章是什么”,大模型必须给出特定类型的 “文章”,而非别的东西;被问到 “谁发表了什么”,大模型必须给出 “人名”,而非别的回答。
然后是 消息定义,这里以 “用户问候” 话题为例,大模型可以输出这些内容:
最后是 交互流的定义,例如告诉大模型,怎么才是问候用户的最好方式:
一旦问候用户的机制被触发,大模型就会进入这个护栏,规规矩矩地问候用户。 具体工作流程如下:首先,将用户输入转换成某种格式规范(canonical form),据此生成对应的护栏;随后,生成行动步骤,以交互流指示大模型一步步完成对应的操作;最后,根据格式规范生成输出。
类似的,我们就能给大模型定义各种各样的护栏,例如 “应对用户辱骂” 的护栏。 这样即使用户说出 “你是个傻瓜”,大模型也能学会冷静应对:
目前,英伟达正在将护栏技术整合进他们的 AI 框架 NeMo 中,这是个方便用户创建各种 AI 模型、并在英伟达 GPU 上加速的框架。 对 “护栏” 技术感兴趣的小伙伴们,可以试一试了~
开源地址:https://github.com/NVIDIA/NeMo-Guardrails
参考链接:https://www.nvidia.com/en-us/ai-data-science/generative-ai/nemo-framework/
本文作者:萧箫,来源,量子位,原文标题:《看不下去 AI 胡说八道,英伟达出手给大模型安了个 “护栏”》