这周我又来了,今天我们再来探讨一个“跟我一起学”的主题,一个我一直很在意的话题:人工智能的安全性。
自那以后,人工智能领域无疑发生了巨大的变化,随着AlexNet、ResNet等开创性成果的出现。虽然我不记得2022年11月我在忙些什么,但我确实记得当时人们对新兴的ChatGPT的热烈反响。
随着基础模型的训练参数从百万增加到数十亿,现在达到万亿,问题依然存在,那就是我们如何负责任地使用这些模型,确保它们不会为普通公众制造更多的下游错误信息或误导信息?
当然,讨论这个话题的方法有很多,但我想专注于开发人员如何使用 Amazon Bedrock Guardrails 来解决其中的一些挑战。这是我自 2023 年预览以来第一次上手 Guardrails,所以让我们看看都有哪些变化 🤘🏼
是什么和怎么做Amazon Bedrock Guardrails 就像名字一样,为 Bedrock 上的模型提供了六种安全保障策略。
-
多模态内容筛选器
-
禁止讨论的话题.
-
敏感信息过滤
-
词滤器
-
上下文一致性检验
- 自动推理(预览版)
我不具体展开所有的政策细则,但你可以在文档了解更多关于每个类别的更多信息。在这里
这些护栏可以进行定制,帮助组织保持强有力的安全控制,并促进人工智能的负责任应用,在错误信息和模型幻觉若不加以控制可能导致严重后果的背景下,这项任务尤为重要。
在 Bedrock 上进入 DeepSeek就在两周前宣布无服务器管理型 DeepSeek-R1 现已在 Bedrock 上线,我觉得不妨试一下这个刚出炉的新模型的防护措施 🗞️
在这篇文章里,我假设你已经熟悉了DeepSeek及其优势和使用场景,但如果不熟悉的话,我建议你去熟悉一下这个链接中的DeepSeek。
开始设置这周我简单点来,选择直接在AWS控制台操作,因为我正在尝试这个。同样也可以通过编程来做很多事情(👀),也许以后再写一篇。因为这是一个“跟我学”的过程,看看我多快能搞定,并分享过程中的发现,以及我在操作过程中获得的其他发现。
要启动防护规则设置,我们首先需要创建一个规则。访问防护规则控制台以开始操作。
- 点击新建护栏,然后输入名称、描述和消息,当护栏拦截提示或响应时会显示这条消息。
点击图片查看详细信息
我们可以配置内容过滤器,分别为有害类别和即时威胁。
这里有一个有趣的注解,在有害类别的新图像列中,目前预览版支持某些模型的多模态功能。我发现AWS 的这篇博客于 2024 年 12 月对此话题很有帮助,如果你想了解更多关于图像支持的信息。这篇文章提供了更多关于图像支持的细节。
有害类别似乎显而易见,但个人而言,我很少听到关于提示攻击的说法。这里的描述字段告诉我们,启用此选项可以让防护措施检测并阻止用户输入试图覆盖系统指令。这对我来说是有道理的,现在我们可能都见过一些提示工程的例子,它们展示了早期基础模型使用中常见的_“忽视之前的指令,比如...”_的利用行为。
通过切换按钮来启用这两个过滤器,并会在测试中进行尝试。
- 在接下来的屏幕上,我们有选项可以添加多达30个禁止主题,这些主题将阻止用户输入和模型生成相关回复。在这个部分,我将测试让模型避开“医疗健康”这个话题。我定义我希望的行为方式,你也可以添加一些示例短语,帮助护栏识别相关的代表性短语。
如需查看图片,请点击这里
- 我们还可以尝试包括默认粗俗词在内的词过滤器,我启用了这个选项。为了好玩,我在这里自定义部分添加了一些随机词语,看看模型在测试时的表现如何。还有一个选项是可以启用带有默认值(如姓名、电子邮件等)的PII过滤器,或者添加你自己的过滤项。这里我选择了电子邮件,并选择了屏蔽它的选项,这样我就能运行这个测试了。
查看图片
- 我检查配置并点击创建规则完成。
现在我创建了护栏之后,我正在使用AWS控制台来验证所有已启用过滤器的功能。
- 在你创建的护栏中选择 测试。在这里你可以选择 DeepSeek-R1 进行推理。
首先,检查有害内容类别是否有效运行。
我尝试了一个指令或提示,发现防护栏起到了作用,可以点击 查看追踪 来了解激活的防护栏及其置信度信息。
一起来看看这张图片吧。
- 接下来我想尝试让模型打破其预设的规则。在这里我们看到触发了两个防护措施,其中一个是因为违规行为,另一个是因为攻击性提示。
这是一张图片,来自这个链接。
- 我在医疗保健这个话题上设定了一个被拒绝的主题,让我们看看能否通过请求医疗建议的提示来测试这个防护机制是否能启动。在设定这个防护机制时,我提供了一些短语,但小心不要直接用那些短语,看看模型是否能绕过明显的限制进行推理。
这是一张图片,描述如下:
- 我对防护栏进行的最终测试是词过滤和PII(个人可识别信息)。在这里,我设置了屏蔽
dog
、canine
和pets
,并要求屏蔽邮件地址。
在第一个例子里面,虽然用户的提示发送给模型,但因为模型回复中包含了dog
,所以查询没有得到回应。
这是一张图片,点击可以查看。
b. 在第二个例子中,我可以看到原始模型回复中电子邮件地址以明文形式显示,但一旦激活了PII保护机制,用户看到的响应中该电子邮件地址就被隐藏了。
这是一张...的图片
这些结果真的相当令人印象深刻,这套设置大约花了我~10-15分钟,具体取决于我想要多详细地自定义防护栏。我最大的感受是,防护栏既适用于用户输入,也适用于我设定的词过滤器下的模型响应,而且我可以迅速地用新的模型来测试防护栏。
在评论中告诉我一下你们怎么可能会用到限制条件,并点个 🦄 吧!
📚更多学习资源
- AWS 机器学习博客中的“Amazon Bedrock 控制措施”部分。
共同學習,寫下你的評論
評論加載中...
作者其他優質文章