亚马逊云科技人工智能内容审核服务:大大降低生成不安全内容的风险

生成式人工智能技术发展日新月异,现在已经能够根据文本输入生成文本和图像。Stable Diffusion是一种文本转图像模型,可以创建栩栩如生的图像应用。通过Amazon SageMaker JumpStart,使用Stable Diffusion模型轻松地从文本生成图像。

 尽管生成式人工智能解决方案功能强大,应用广泛,但它们也很容易受到操纵和滥用。用户在使用它们生成图片时,应实施严格的审核程序,高度重视内容审核,以便保护其用户、平台和品牌,在创造安全和积极的用户体验的同时,确保平台和品牌的声誉不会受损。

 此篇内容我们将探讨如何使用亚马逊云科技人工智能服务Amazon Rekognition和Amazon Comprehend以及其他技术,近乎实时地有效审核Stable Diffusion模型生成的内容。

解决方案概览

 Amazon Rekognition和Amazon Comprehend是托管式人工智能服务,它们通过API接口提供预训练且可自定义的机器学习模型,无需机器学习(ML)专业知识。Amazon Rekognition Content Moderation可自动完成图像和视频的审核,简化这一过程。Amazon Comprehend利用机器学习来分析文本,发现有价值的洞察和关系。

 以下参考资料介绍了如何创建RESTful代理API,用于近乎实时地审核Stable Diffusion文本转图像模型生成的图像。在此解决方案中,使用JumpStart启动并部署了Stable Diffusion模型(基于v2-1)。该解决方案使用负向提示、文本审核解决方案(例如Amazon Comprehend)以及基于规则的筛选条件来审核输入提示。它还利用Amazon Rekognition来审核生成的图像。在检测到不安全信息时,RESTful API会将生成的图像和审核警告返回给客户端。

此工作流中的步骤如下:

  • 用户发送提示以生成图像。

  • AWS Lambda函数使用Amazon Comprehend、JumpStart和Amazon Rekognition协调图像的生成和审核:

  • 将基于规则的条件应用到Lambda函数中的输入提示,使用禁用词检测强制执行内容审核。

  • 使用Amazon Comprehend自定义分类器,分析提示文本以进行毒性分类。

  • 通过SageMaker端点将提示发送到Stable Diffusion模型,传递提示作为用户输入,并传递预定义列表中的负向提示。

  • 将从SageMaker端点返回的图像字节发送到Amazon Rekognition DetectModerationLabel API进行图片审核。

  • 如果之前的步骤在提示或生成的图像中检测到任何不当信息,则会构造包含图像字节和警告的响应消息。

  • 服务将响应发送回客户端。

 以下屏幕截图显示了使用上述架构构建的示例应用程序。Web UI将用户输入提示发送到RESTful代理API,并显示从响应中收到的图像和所有审核警告。如果实际生成的图像包含不安全的内容,则演示应用程序会对内容进行模糊处理。我们使用示例提示“一位性感女士”测试了该应用程序。

 您可以实施更复杂的逻辑来获得更好的用户体验,例如,在提示包含不安全的信息时拒绝请求。此外,您可以制定重试策略,在提示是安全的、但输出不安全时,重新生成图像。

预定义负向提示列表

 Stable Diffusion支持负向提示,这样便可以指定在图像生成期间要避免的提示。创建预定义的负向提示列表是一种实用的主动式方法,用于防止模型生成不安全的图像。在调用SageMaker端点来运行Stable Diffusion模型的推理时,可以在Lambda函数中管理该实施,传递用户输入中的提示,并传递预定义列表中的负向提示。

 尽管这种方法行之有效,但它可能会影响Stable Diffusion模型生成的结果并限制其功能。所以,要点在于将其视为审核技术之一,再结合其他方法,例如使用Amazon Comprehend和Amazon Rekognition进行文本和图像审核。

审核输入提示

 文本审核的常用方法是使用基于规则的关键字查找方法,识别输入文本是否包含预定义列表中的任何禁用词或短语。这种方法相对容易实施,对性能的影响很小,成本也更低。但是,这种方法的主要缺点是,它只检测预定义列表中包含的单词,无法检测未包含在列表中的禁用词新变体或修改后的变体。用户还可以尝试使用其他拼写或特殊字符来替换字母,从而绕过规则。

 为了解决基于规则的文本审核的局限性,许多解决方案采用混合方法,将基于规则的关键字查找与基于机器学习的毒性监察相结合。两种方法的结合可以提供更全面、更有效的文本审核解决方案,能够检测更大范围内的不当内容并提高审核结果的准确性。

 在此解决方案中,使用Amazon Comprehend自定义分类器来训练毒性监察模型,使用该模型来检测在输入提示中可能存在有害内容、但未检测到明确使用禁用词的情况。借助机器学习的强大功能,可以教导模型识别文本中可能存在毒性内容的模式,即使基于规则的方法难于检测到此类模式也没问题。

 使用Amazon Comprehend作为托管式人工智能服务,可以简化训练和推理。只需两个步骤,就可以轻松地训练和部署Amazon Comprehend自定义分类。

审核输出图像

 尽管审核输入文本提示很重要,但它并不能保证对于目标受众而言,Stable Diffusion模型生成的所有图像都是安全的,因为该模型的输出可能包含一定程度的随机性。因此,审核Stable Diffusion模型生成的图像同样重要。

 在此解决方案中,利用Amazon Rekognition Content Moderation这个预先训练过的机器学习模型,检测图像和视频中的不当内容。在此解决方案中,使用Amazon Rekognition DetectModerationLabel API,近乎实时地审核Stable Diffusion模型生成的图像。Amazon Rekognition Content Moderation提供预先训练的API,用于分析各种不当或冒犯性内容,。

用于微调模型的有效图像审核技术

 微调是一种常用技术,用于根据特定任务来调节预训练的模型。对于Stable Diffusion,微调可用于生成包含特定对象、样式和字符的图像。在训练Stable Diffusion模型以防止创建不当或冒犯性的图像时,内容审核至关重要。这包括仔细审查并筛选出任何可能导致生成此类图像的数据。通过这样做,模型可以从更多样化和更具代表性的数据点进行学习,从而提高准确性并防止传播有害内容。

审核延迟和成本

 此解决方案使用顺序模式来审核文本和图像。文本审核需要调用基于规则的函数和Amazon Comprehend,Amazon Rekognition则用于在调用Stable Diffusion之前和之后的图像审核。尽管这种方法可以有效地审核输入提示和输出图像,但它可能会增加解决方案的总体成本和延迟,这是需要考虑的问题。

延迟

 Amazon Rekognition和Amazon Comprehend均提供了托管API,具备高可用性和内置的可扩展性。尽管由于输入大小和网络速度可能导致延迟变化,但在此解决方案中,所用两项服务中的API都提供了近实时的推理。对于大小小于100个字符的输入文本,Amazon Comprehend自定义分类器端点的处理速度低于200毫秒,而对于平均大小小于1MB的文件,Amazon Rekognition Image Moderation API的速度大约为500毫秒。

 总共而言,对Amazon Rekognition和Amazon Comprehend的审核API调用会增加700毫秒的API调用时间。需要注意的是,根据提示的复杂性和底层基础设施功能,Stable Diffusion请求通常需要更长的时间。在测试账户中,使用ml.p3.2xlarge实例类型,通过SageMaker端点调用Stable Diffusion模型的平均响应时间约为15秒。因此,审核引入的延迟约为总响应时间的5%,因此对系统整体性能的影响微乎其微。

成本

 Amazon Rekognition Image Moderation API采用基于请求数量的即用即付模式。费用因所用亚马逊云科技区域而异,采用分层定价结构。随着请求数量的增加,每次请求的成本会降低。

 在此解决方案中,使用了Amazon Comprehend自定义分类器,并将其部署为Amazon Comprehend端点,以协助进行实时推理。这种实施会产生一次性训练成本和持续的推理成本。

 使用Jumpstart,可以将Stable Diffusion模型作为单个软件包来快速启动和部署。在Stable Diffusion模型上运行推理将产生底层Amazon Elastic Compute Cloud(Amazon EC2)实例费用,以及入站和出站数据传输费用。

小结

 综上所述,概述了一个示例解决方案,该解决方案展示了如何使用Amazon Comprehend和Amazon Rekognition,审核Stable Diffusion输入提示和输出图像。此外,可以在Stable Diffusion中定义负向提示,以防止生成不安全的内容。通过实施多个审核层,可以大大降低生成不安全内容的风险,从而确保更安全、更可靠的用户体验。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【文末送书】Matlab科学计算

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

string

目录 六、STL简介 (一)什么是STL (二)STL的版本 (三)STL六大组件 七、string (一)标准库中的string 1、string类 2、string常用的接口 1)string类对象的常见构造 2)string类对象的容量操作 3)string类对象的访问及遍历操作 4)string类对象的修改操作 5)string类非成…

PMC在制造企业中发挥哪些价值?

导 读 ( 文/ 2127 ) PMC(生产计划与物料控制)是制造企业运行的核心,PMC的好坏可以直接影响客户的需求交付、生产进行的顺利与否、库存资金的占用、企业效率的提升等,在制造企业中起着关键的作用。它负责将生产计划转化为实际的生产活动,并确保…

python调用GPT实现:智能用例生成工具

工具作用: 根据输入的功能点,生成通用测试点 实现步骤 工具实现主要分2个步骤: 1.https请求调用Gpt,将返回响应结果保存为.md文件 2.用python实现 将 .md文件转换成.xmind文件 3.写个简单的前端页面,调用上述步骤接口 详细代…

计算机网络的故事——确保Web安全的Https

确保Web安全的Https 文章目录 确保Web安全的Https一、HTTP 的缺点二、HTTP 加密 认证 完整性保护 HTTPS 一、HTTP 的缺点 1、明文传输 通信加密,HTTP协议中没有加密机制,但是可以通过SSL(Secure Socket Layer,安全套接字层)或TLE(Transpor…

Qt应用开发(基础篇)——普通按钮类 QPushButton QCommandLinkButton

一、前言 QPushButton类继承于QAbstractButton,是一个命令按钮的小部件。 按钮基类 QAbstractButton 按钮或者命令按钮是所有图形界面框架最常见的部件,当按下按钮的时候触发命令、执行某些操作或者回答一个问题,典型的按钮有OK,A…

2023-09-09 LeetCode每日一题(课程表)

2023-09-09每日一题 一、题目编号 207. 课程表二、题目链接 点击跳转到题目位置 三、题目描述 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中…

初次安装Pytorch过程

第一次安装Pytorch,刚开始安装的时候装错了CUDA的版本号 这里最高支持12.2.138, 但是我装了一个12.2.140的CUDA,导致不兼容我在测试时发现 import torch# if torch.cuda.is_available(): # print("GPU可用") # else: # p…

Kotlin(五) 循环语句

目录 For循环 关键字 until step downTo Java中主要有两种循环语句:while循环和for循环。而Kotlin也提供了while循环和for循环,其中while循环不管是在语法还是使用技巧上都和Java中的while循环没有任何区别,因此我们就直接跳过不进行讲解…

记LGSVL本地编译记录

主要的编译参考来着官方文件 Unity安装 安装unity hub 安装2020.3.3f1在unity hub上 但是我发现没有2020.3.3f1,只有2020.3.3f1c1,其实c1就是中国版,没有什么影响 GIT安装 安装GIT安装Git LFS验证git-lfs(输出Git LFS initialized就&am…

嵌入式Linux驱动开发(LCD屏幕专题)(三)

1. 硬件相关的操作 LCD驱动程序的核心就是: 分配fb_info设置fb_info注册fb_info硬件相关的设置 硬件相关的设置又可以分为3部分: 引脚设置时钟设置LCD控制器设置 2. 在设备树里指定LCD参数 framebuffer-mylcd {compatible "100ask,lcd_drv&qu…

运维学习之部署Alertmanager-0.24.0

参考《监控系统部署prometheus基本功能》先完成prometheus部署。 参考《运维学习之采集器 node_exporter 1.3.1安装并使用》安装node_exporter。 下载 nohup wget https://github.com/prometheus/alertmanager/releases/download/v0.24.0/alertmanager-0.24.0.linux-amd64.ta…

oled或数码管点阵的字模矩阵的原理讲解

通过取模软件得到的T字符的矩阵分析 字模选项中常用的设置的意义: **字宽和字高:**显示字符能够使用的长宽灯数量,也可以理解为像素 **点阵格式:**需要考虑实际焊接电路。阴码:灯共阴极,控制器输出高电位&…

NFS文件共享系统(K8S)

概述 部署NFS文件共享服务&#xff0c;为Kubernetes提供NFS共享做准备 步骤 安装软件 yum -y install nfs-utils 配置NFS(exports) 编辑 /etc/exports 文件。每一行代表一个共享目录&#xff0c;描述目录如何共享 编写规则&#xff1a; # <共享目录> [客户端1 选项…

【List篇】ArrayList 的线程不安全介绍

ArrayList 为什么线程不安全&#xff1f; 主要原因是ArrayList是非同步的,没有同步机制,并且其底层实现是基于数组&#xff0c;而数组的长度是固定的。当对 ArrayList 进行增删操作时&#xff0c;需要改变数组的长度&#xff0c;这就会导致多个线程可能同时操作同一个数组&…

222. 完全二叉树的节点个数

题目链接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 我的想法&#xff1a; 递归法 万金油--层次遍历法 当然上面两中都是笨方法&#xff0c;就算不是完全二叉树也能算&#xff0c;没有用到完全二叉树的特性。 我的代码&#xff1…

【个人博客系统网站】注册与登录 · 加盐加密验密算法 · 上传头像

【JavaEE】进阶 个人博客系统&#xff08;3&#xff09; 文章目录 【JavaEE】进阶 个人博客系统&#xff08;3&#xff09;1. 加盐加密验密算法原理1.1 md5加密1.2 md5验密1.3 md5缺漏1.4 加盐加密1.5 后端的盐值拼接约定1.6 代码实现1.6.1 加密1.6.2 验密1.6.3 测试 2. 博客…

MySQL的常用术语

目录 1.关系 2.元组 3.属性 MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 1.关系 前面的博客有说到,MySQL是一款关系型数据库管理软件,一个关系就是 一张二维表(表) 我想大家都知道表格怎么…

sqli-labs闯关

目录 less-01: less-08: less-19: less-20: 项目地址—Github 使用HackBar插件 less-01: Sqli-labs前20关均为数字型注入 Sqli-labs前四关较为类似以less-01为模板 将网址导入HackBar中&#xff1a; 1.根据提示&#xff0c;输入http://127.0.0.1/sqli/Less-1/?id1查看…

算法[动态规划]---买卖股票最佳时机

1、题目&#xff1a; 给你一个整数数组 prices&#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候最多只能持一股股票。你也可以先购买&#xff0c;然后在同一天出售。 返回你能获得的最大利润 。 2…