本文是与苏黎世联邦理工学院 AWS 学生黑客马拉松团队的参与者 Daniele Chiappalupi 共同撰写的。
每个人都可以轻松开始使用机器学习 (ML) 亚马逊SageMaker JumpStart。 在这篇文章中,我们向您展示大学黑客马拉松团队如何使用 SageMaker JumpStart 快速构建一个应用程序,帮助用户识别和消除偏见。
“Amazon SageMaker 在我们的项目中发挥了重要作用。 它使部署和管理预训练的 Flan 实例变得容易,为我们的应用程序提供了坚实的基础。 事实证明,其自动缩放功能在高流量期间至关重要,可确保我们的应用程序保持响应并让用户获得稳定而快速的偏差分析。 此外,通过允许我们将查询 Flan 模型的繁重任务卸载到托管服务,我们能够保持应用程序的轻量级和快速性,从而增强跨各种设备的用户体验。 SageMaker 的功能使我们能够最大限度地利用黑客马拉松的时间,使我们能够专注于优化提示和应用程序,而不是管理模型的性能和基础设施。”
– Daniele Chiappalupi,苏黎世联邦理工学院 AWS 学生黑客马拉松团队的参与者。
解决方案概述
黑客马拉松的主题是通过人工智能技术为联合国可持续目标做出贡献。 如下图所示,黑客马拉松上构建的应用程序通过帮助用户识别和消除文本中的偏见,以促进公平,为三个可持续发展目标(优质教育、针对性别歧视和减少不平等)作出贡献。和包容性的语言。
如下面的屏幕截图所示,在您提供文本后,应用程序会生成一个没有种族、民族和性别偏见的新版本。 此外,它还突出显示了输入文本中与每种偏见类别相关的特定部分。
在下图所示的架构中,用户在 应对基于网络应用程序,触发 Amazon API网关,这反过来又调用 AWS Lambda 函数取决于用户文本中的偏差。 Lambda 函数调用 SageMaker JumpStart 中的 Flan 模型端点,后者通过相同的路由将无偏文本结果返回到前端应用程序。
应用开发流程
该应用程序的开发过程是迭代的,主要集中在两个主要领域:用户界面和 ML 模型集成。
我们选择 React 进行前端开发,因为它的灵活性、可扩展性以及用于创建交互式用户界面的强大工具。 考虑到我们应用程序的性质——处理用户输入并呈现精确的结果——React 的基于组件的架构被证明是理想的。 借助 React,我们可以有效地构建一个单页面应用程序,允许用户提交文本并查看去偏见的结果,而无需不断刷新页面。
用户输入的文本需要由强大的语言模型进行处理,以检查是否存在偏见。 我们选择 Flan 是因为它的稳健性、效率和可扩展性。 为了利用 Flan,我们使用了 SageMaker JumpStart,如以下屏幕截图所示。 亚马逊SageMaker 使部署和管理预训练的 Flan 实例变得容易,使我们能够专注于优化提示和查询,而不是管理模型的性能和基础设施。
将 Flan 模型连接到我们的前端应用程序需要强大且安全的集成,这是使用 Lambda 和 API Gateway 实现的。 通过 Lambda,我们创建了一个无服务器函数,可以直接与我们的 SageMaker 模型进行通信。 然后,我们使用 API Gateway 为我们的 React 应用程序创建一个安全、可扩展且易于访问的端点来调用 Lambda 函数。 当用户提交文本时,应用程序会触发一系列对网关的 API 调用,首先确定是否存在任何偏见,然后,如有必要,进行其他查询来识别、定位和消除偏见。 所有这些请求都通过 Lambda 函数路由,然后路由到我们的 SageMaker 模型。
我们开发过程中的最后一个任务是选择查询语言模型的提示。 在这里,CrowS-Pairs 数据集发挥了重要作用,因为它为我们提供了有偏见的文本的真实示例,我们可以利用这些示例来微调我们的请求。 我们通过迭代过程选择提示,目的是最大限度地提高该数据集中偏差检测的准确性。
结束该过程后,我们在完成的应用程序中观察到无缝的操作流程。 该过程首先由用户提交文本进行分析,然后通过 POST 请求将其发送到我们的安全 API 网关端点。 这将触发 Lambda 函数,该函数与 SageMaker 端点进行通信。 因此,Flan 模型收到一系列查询。 第一个检查文本中是否存在任何偏见。 如果检测到偏差,则会部署额外的查询来定位、识别和消除这些偏差元素。 然后结果通过相同的路径返回 - 首先返回到 Lambda 函数,然后通过 API 网关,最后返回给用户。 如果原始文本中存在任何偏见,用户会收到全面的分析,表明检测到的偏见类型,无论是种族、民族还是性别。 文本中发现这些偏见的特定部分会突出显示,让用户清楚地了解所做的更改。 除了这种分析之外,还提出了一个新的、去偏见的文本版本,有效地将潜在的偏见输入转化为更具包容性的叙述。
在以下部分中,我们将详细介绍实施此解决方案的步骤。
设置React环境
我们首先为 React 设置开发环境。 为了以最少的配置引导一个新的 React 应用程序,我们使用了 create-react-app:
npx create-react-app my-app
构建用户界面
使用 React,我们设计了一个简单的界面,供用户输入文本,其中包含提交按钮、重置按钮以及用于在处理结果可用时显示处理结果的叠加显示。
在 SageMaker 上启动 Flan 模型
我们使用 SageMaker 创建 Flan 语言模型的预训练实例,并带有用于实时推理的端点。 该模型可用于任何 JSON 结构的有效负载,如下所示:
创建一个Lambda函数
我们开发了一个 Lambda 函数,可以直接与 SageMaker 端点交互。 该函数旨在接收包含用户文本的请求,将其转发到 SageMaker 端点,并返回优化后的结果,如以下代码所示(ENDPOINT_NAME
被设置为 SageMaker 实例端点):
设置API网关
我们在 API Gateway 中配置了一个新的 REST API 并将其链接到我们的 Lambda 函数。 此连接允许我们的 React 应用程序向 API 网关发出 HTTP 请求,随后触发 Lambda 函数。
将 React 应用程序与 API 集成
我们更新了 React 应用程序,以便在单击提交按钮时向 API 网关发出 POST 请求,请求正文是用户的文本。 我们用于执行 API 调用的 JavaScript 代码如下(REACT_APP_AWS_ENDPOINT
对应于绑定到 Lambda 调用的 API 网关端点):
优化提示选择
为了提高偏差检测的准确性,我们针对 CrowS-Pairs 数据集测试了不同的提示。 通过这个迭代过程,我们选择了准确度最高的提示。
在 Vercel 上部署并测试 React 应用程序
构建应用程序后,我们将其部署在 Vercel 上以使其可公开访问。 我们进行了广泛的测试,以确保应用程序从用户界面到语言模型的响应都能按预期运行。
这些步骤为创建用于分析和消除文本偏差的应用程序奠定了基础。 尽管该过程固有的复杂性,但使用 SageMaker、Lambda 和 API Gateway 等工具简化了开发,使我们能够专注于项目的核心目标——识别和消除文本中的偏见。
结论
SageMaker JumpStart 提供了一种探索 SageMaker 特性和功能的便捷方式。 它提供精心策划的一步式解决方案、示例笔记本和可部署的预训练模型。 这些资源可让您快速学习和了解 SageMaker。 此外,您可以选择微调模型并根据您的特定需求进行部署。 可通过以下方式访问 JumpStart 亚马逊SageMaker Studio 或以编程方式使用 SageMaker API。
在这篇文章中,您了解了学生黑客马拉松团队如何使用 SageMaker JumpStart 在短时间内开发出解决方案,这展示了 AWS 和 SageMaker JumpStart 在支持快速开发和部署复杂的 AI 解决方案(即使是小型团队或个人)方面的潜力。
要了解有关使用 SageMaker JumpStart 的更多信息,请参阅 使用 Amazon SageMaker Jumpstart 对 FLAN T5 XL 进行指令微调 和 Amazon SageMaker JumpStart 中 Flan-T5 基础模型的零样本提示.
ETH 分析俱乐部举办了“ETH Datathon”,这是一场 AI/ML 黑客马拉松,吸引了来自苏黎世联邦理工学院、苏黎世大学和洛桑联邦理工学院的 150 多名参与者。 该活动包括由行业领袖主持的研讨会、24 小时编码挑战以及与同学和行业专业人士交流的宝贵机会。 非常感谢 ETH 黑客马拉松团队:Daniele Chiappalupi、Athina Nisioti 和 Francesco Ignazio Re,以及 AWS 组织团队的其他成员:Alice Morano、Demir Catovic、Iana Peix、Jan Oliver Seidenfuss、Lars Nettemann 和 Markus Winterholer。
本文中的内容和观点是第三方作者的观点,AWS对本文的内容或准确性不承担任何责任。
关于作者
张军 是苏黎世的解决方案架构师。 他帮助瑞士客户构建基于云的解决方案以实现其业务潜力。 他对可持续发展充满热情,并努力利用技术解决当前的可持续发展挑战。 他也是一名超级网球迷,非常喜欢玩棋盘游戏。
莫汉·高达 领导 AWS 瑞士的机器学习团队。 他主要与汽车客户合作,为下一代汽车开发创新的人工智能/机器学习解决方案和平台。 在加入 AWS 之前,Mohan 曾在一家全球管理咨询公司工作,专注于战略与分析。 他对互联车辆和自动驾驶充满热情。
食品蒂亚斯·埃格利 是瑞士的教育主管。 他是一位热情的团队领导,在业务开发、销售和营销方面拥有丰富的经验。
张克猛 是苏黎世的一名机器学习工程师。 她帮助全球客户设计、开发和扩展基于机器学习的应用程序,以增强他们的数字能力,从而增加业务收入并降低成本。 她还非常热衷于利用行为科学的知识来创建以人为本的应用程序。 她喜欢玩水上运动和遛狗。
丹尼尔·奇亚帕鲁皮 是一名刚从苏黎世联邦理工学院毕业的学生。 他喜欢软件工程的各个方面,从设计到实现,从部署到维护。 他对人工智能充满热情,热切期待探索、利用并为该领域的最新进展做出贡献。 在空闲时间,他喜欢在寒冷的月份去滑雪,并在天气变暖时打篮球。
- :具有
- :是
- :不是
- :在哪里
- $UP
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Able
- 关于
- ACCESS
- 无障碍
- 根据
- 实现
- 横过
- 额外
- 另外
- 进步
- 后
- 驳
- AI
- AI / ML
- 爱丽丝
- 所有类型
- 让
- 允许
- 允许
- 靠
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 分析
- 分析
- 分析
- 和
- 和基础设施
- 预计
- 任何
- API
- APIs
- 应用
- 应用领域
- 应用领域
- 架构
- 保健
- 地区
- AS
- 方面
- At
- 作者
- 汽车
- 汽车
- 自主性
- 可使用
- AWS
- 爱可信
- 背部
- 基于
- 篮球
- BE
- 因为
- before
- 开始
- 作为
- 偏见
- 偏
- 偏见
- 板
- 棋盘游戏
- 身体
- 界
- 广阔
- 建立
- 建筑物
- 建
- 商业
- 业务发展
- 按键
- by
- 呼叫
- 呼叫
- CAN
- 能力
- 产品类别
- 中心
- 挑战
- 挑战
- 更改
- 支票
- 选择
- 清除
- 俱乐部
- 码
- 编码
- 复杂
- 全面
- 进行
- 配置
- 配置
- 已联繫
- 地都
- 所以
- 常数
- 咨询
- 内容
- 上下文
- 贡献
- 有助于
- 贡献
- 便捷
- 核心
- 对应
- 价格
- 可以
- 创建信息图
- 创建
- 创造
- 关键
- 策划
- 电流
- 合作伙伴
- data
- 深
- 根据
- 部署
- 部署
- 部署
- 设计
- 设计
- 尽管
- 细节
- 检测
- 检测
- 开发
- 发达
- 发展
- 研发支持
- 设备
- 不同
- 数字
- 直接
- 显示器
- 借鉴
- 驾驶
- 两
- ,我们将参加
- 每
- 眼巴巴
- 容易
- 易
- 教育
- 只
- 效率
- 有效
- 分子
- 消除
- 授权
- 自主性的
- 使
- 端点
- 工程师
- 工程师
- 加强
- 确保
- 保证
- 进入
- 热心
- 环境
- ETH
- 甚至
- 活动
- 所有的
- 例子
- 例子
- 预期
- 体验
- 探索
- 探索
- 广泛
- 公平
- 风扇
- 高效率
- 专栏
- 特征
- 同伴
- 部分
- 数字
- 最后
- 公司
- (名字)
- 高度灵活
- 流
- 专注焦点
- 以下
- 如下
- 针对
- 向前
- 发现
- 基金会
- 自由的
- 止
- 功能
- 进一步
- Games
- 网关
- 给
- 性别
- 产生
- 代
- 得到
- 特定
- 给予
- 全球
- 目标
- 理想中
- 去
- 抢
- 毕业
- 大
- 基础
- 破解
- Hackathon
- 有
- he
- 头
- 重
- 帮助
- 帮助
- 相关信息
- 最高
- 突出
- 亮点
- 他的
- 托管
- 创新中心
- HTML
- HTTP
- HTTPS
- 巨大
- 理想
- 鉴定
- if
- 实施
- 履行
- 进口
- 改善
- in
- 包容
- 包容
- 增加
- 个人
- 行业中的应用:
- 不平等
- 基础设施
- 固有
- 創新
- 创新
- 输入
- 例
- 仪器的
- 积分
- 互动
- 接口
- 接口
- 成
- 所调用
- IT
- 它的
- 一月三十一日
- JavaScript的
- JPG
- JSON
- 保持
- 知识
- 语言
- 最新
- 铅
- 领导人
- 信息
- 学习用品
- 知道
- 学习
- 导致
- 借力
- 谎言
- 轻巧
- 喜欢
- 喜欢
- 链接
- 占地
- 爱
- 机
- 机器学习
- 制成
- 主要
- 保养
- 使
- 管理
- 管理
- 颠覆性技术
- 管理的
- 营销
- 生产力
- 最大化
- 最小
- ML
- 模型
- 模型
- 个月
- 更多
- 叙述
- 自然
- 必要
- 需求
- 打印车票
- 需要
- 工业网络
- 加入我们的时尚与娱乐之夜,为您最喜欢的设计师和艺术家提供支持。
- 全新
- 下页
- 目标
- of
- 提供
- 优惠精选
- on
- 操作
- 意见
- 机会
- 追求项目的积极优化
- 附加选项
- or
- 秩序
- 组织
- 原版的
- OS
- 我们的
- 页
- 与会者
- 部分
- 情
- 多情
- 演出
- 性能
- 期
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 播放
- 播放
- 帖子
- 潜力
- 可能
- 强大
- 存在
- 当下
- 呈现
- 主要
- 过程
- 处理
- 专业人士
- 项目
- 促进
- 证明
- 提供
- 提供
- 提供
- 公然
- 质量
- 查询
- 很快
- 快
- 宁
- RE
- 应对
- 容易
- 真实
- 实时的
- 接收
- 收到
- 接收
- 最近
- 减少
- 减少
- 参考
- 精
- 有关
- 保持
- 去掉
- 请求
- 要求
- 必须
- 资源
- 回复
- 提供品牌战略规划
- 响应
- REST的
- 导致
- 成果
- 回报
- 回报
- 收入
- 健壮
- 稳健性
- 角色
- 路线
- sagemaker
- 销售
- 同
- 可扩展性
- 可扩展性
- 鳞片
- 缩放
- 科学
- 无缝的
- 部分
- 安全
- 看到
- 种子
- 选
- 选择
- 发送
- 系列
- 无服务器
- 服务
- 特色服务
- 集
- 设置
- 她
- 短
- 显示
- 如图
- 作品
- 简易
- 小
- 软件
- 软件工程
- 固体
- 方案,
- 解决方案
- 解决
- 极致
- 具体的
- 运动
- 开始
- 稳定
- 步骤
- 策略
- 精简
- 努力打造
- 学生
- 学生
- 服从
- 提交
- 提交
- 后来
- 永续发展
- 可持续发展
- 可持续发展
- SWIFT的
- 瑞士人
- 瑞士
- 瞄准
- 任务
- 团队
- 队
- 专业技术
- test
- 测试
- 测试
- 文本
- 比
- 谢谢
- 这
- 其
- 他们
- 主题
- 然后
- 博曼
- 第三方
- Free Introduction
- 那些
- 三
- 通过
- 次
- 至
- 工具
- 转型
- 引发
- 转
- 二
- 类型
- 最终
- UN
- 理解
- 大学
- 更新
- us
- 使用
- 用过的
- 用户
- 用户体验
- 用户界面
- 用户
- 运用
- 利用
- 利用
- 利用
- 有价值
- 各个
- 车辆
- 版本
- 非常
- 通过
- 查看
- 步行
- 保暖
- 是
- 水
- 方法..
- we
- 天气
- 卷筒纸
- Web服务
- 井
- 为
- ,尤其是
- 是否
- 这
- 中
- 也完全不需要
- 工作
- 加工
- 合作
- 工作坊
- 完全
- 您一站式解决方案
- 和风网
- 苏黎世