自然语言处理 (NLP) 是机器学习 (ML) 领域,致力于让计算机能够像人类一样理解文本和口语单词。 最近,最先进的架构如 变压器架构 用于在文本摘要、文本分类、实体识别等 NLP 下游任务上实现接近人类的性能。
大型语言模型 (LLM) 是基于 Transformer 的模型,在数亿的大量未标记文本上进行训练(BERT) 到超过一万亿个参数 (麦克风),其大小使得单 GPU 训练不切实际。 由于其固有的复杂性,从头开始培训法学硕士是一项非常具有挑战性的任务,很少有组织能够承担得起。 NLP 下游任务的常见做法是采用预先训练的 LLM 并对其进行微调。 有关微调的更多信息,请参阅 Amazon SageMaker JumpStart 中金融数据基础模型的域适应微调 和 在 Amazon SageMaker 上使用 Hugging Face 微调转换器语言模型以实现语言多样性.
NLP 中的零样本学习允许 预训练法学硕士 生成对尚未明确训练的任务的响应(即使没有微调)。 具体来说,文本分类, 零样本文本分类 是自然语言处理中的一项任务,其中 NLP 模型用于对未见过的类别中的文本进行分类,这与 监督分类,其中 NLP 模型只能对属于训练数据中的类的文本进行分类。
我们最近推出了零样本分类模型支持 亚马逊SageMaker JumpStart。 SageMaker JumpStart 是 ML 中心 亚马逊SageMaker 它提供对预先训练的基础模型 (FM)、LLM、内置算法和解决方案模板的访问,以帮助您快速开始使用 ML。 在这篇文章中,我们将展示如何使用 SageMaker Jumpstart 中的预训练模型执行零样本分类。 您将学习如何使用 SageMaker Jumpstart UI 和 SageMaker Python SDK 部署解决方案并使用可用模型运行推理。
零镜头学习
零样本分类是一种范例,其中模型可以对新的、未见过的示例进行分类,这些示例属于训练数据中不存在的类。 例如,经过训练可以理解人类语言的语言模型可用于对多个类别的新年决心推文进行分类,例如 career
, health
及 finance
,而语言模型没有经过文本分类任务的显式训练。 这与微调模型相反,因为后者意味着重新训练模型(通过迁移学习),而零样本学习不需要额外的训练。
下图说明了迁移学习(左)与零样本学习(右)之间的差异。
尹等人。 提出了一个使用自然语言推理(NLI)创建零样本分类器的框架。 该框架的工作原理是将要分类的序列作为 NLI 前提,并根据每个候选标签构建假设。 例如,如果我们想评估一个序列是否属于该类 politics
,我们可以构建一个假设“这篇文章是关于政治的”。 然后将蕴涵和矛盾的概率转换为标签概率。 作为快速回顾,NLI 考虑两个句子:前提和假设。 任务是在给定前提下确定假设是正确的(蕴含)还是错误的(矛盾)。 下表提供了一些示例。
前提 | 标签 | 假说 |
在某个东亚国家,一名男子正在检查人物的制服。 | 矛盾 | 男人正在睡觉。 |
一个年长的和一个年轻的男人微笑着。 | 一般 | 两个男人微笑着看着地板上玩耍的猫。 |
多人参与的足球比赛。 | 蕴涵 | 有些男人正在参加一项运动。 |
解决方案概述
在这篇文章中,我们讨论以下内容:
- 如何使用 SageMaker JumpStart UI 部署预训练的零样本文本分类模型,并使用短文本数据对部署的模型运行推理
- 如何使用 SageMaker Python SDK 访问 SageMaker JumpStart 中预先训练的零样本文本分类模型,并使用推理脚本将模型部署到 SageMaker 端点以实现实时文本分类用例
- 如何使用 SageMaker Python SDK 访问预训练的零样本文本分类模型,并将 SageMaker 批量转换用于批量文本分类用例
SageMaker JumpStart 为跨流行 ML 任务的各种预训练模型提供一键式微调和部署,以及解决常见业务问题的一系列端到端解决方案。 这些功能消除了 ML 流程每个步骤的繁重工作,简化了高质量模型的开发并缩短了部署时间。 这 JumpStart API 允许您以编程方式在您自己的数据集上部署和微调大量预训练模型。
JumpStart 模型中心提供对大量 NLP 模型的访问,这些模型支持对自定义数据集进行迁移学习和微调。 截至撰写本文时,JumpStart 模型中心包含各种流行模型的 300 多个文本模型,例如 Stable Diffusion、Flan T5、Alexa TM、Bloom 等。
请注意,按照本部分中的步骤操作,您将基础设施部署到您的 AWS 账户,这可能会产生费用。
部署独立的零样本文本分类模型
在本部分中,我们将演示如何使用 SageMaker JumpStart 部署零样本分类模型。 您可以通过 JumpStart 登录页面访问预先训练的模型 亚马逊SageMaker Studio. 完成以下步骤:
- 在 SageMaker Studio 中,打开 JumpStart 登录页面。
请参阅 打开并使用 JumpStart 了解有关如何导航到 SageMaker JumpStart 的更多详细信息。 - 在 文字模型 轮播中,找到“零样本文本分类”模型卡。
- 查看模型 访问
facebook-bart-large-mnli
模型。
或者,您可以在搜索栏中搜索零样本分类模型,然后在 SageMaker JumpStart 中找到该模型。 - 指定部署配置、SageMaker 托管实例类型、端点名称、 亚马逊简单存储服务 (Amazon S3) 存储桶名称和其他必需参数。
- 或者,您可以指定安全配置,例如 AWS身份和访问管理 (IAM) 角色、VPC 设置以及 AWS密钥管理服务 (AWS KMS) 加密密钥。
- 部署 创建 SageMaker 端点。
此步骤需要几分钟才能完成。 完成后,您可以针对托管零样本分类模型的 SageMaker 终端节点运行推理。
在下面的视频中,我们将演示本节中的步骤。
通过 SageMaker SDK 以编程方式使用 JumpStart
在 SageMaker Studio 的 SageMaker JumpStart 部分中,在 快速启动解决方案,你可以找到 解决方案模板。 SageMaker JumpStart 解决方案模板是适用于许多常见 ML 使用案例的一键式端到端解决方案。 截至撰写本文时,已有 20 多种解决方案可用于多种用例,例如需求预测、欺诈检测和个性化推荐等。
“拥抱面部的零样本文本分类”解决方案提供了一种无需针对特定标签训练模型即可对文本进行分类的方法(零样本分类)通过使用预先训练的文本分类器。 该解决方案的默认零样本分类模型是 facebook-bart-large-mnli (BART)模型。 对于这个解决方案,我们使用 2015 年新年决心数据集 对决议进行分类。 原始数据集的子集,仅包含 Resolution_Category
(地面实况标签)和 text
列包含在解决方案的资产中。
输入数据包括文本字符串、所需分类类别的列表,以及分类是否是多标签以进行同步(实时)推理。 对于异步(批量)推理,我们在 JSON 行格式的文本文件中提供文本字符串列表、每个字符串的类别列表以及分类是否为多标签。
推理的结果是一个 JSON 对象,类似于以下屏幕截图。
我们有原文 sequence
字段,用于文本分类的标签 labels
字段,以及分配给该字段中每个标签(按出现顺序相同)的概率 scores
.
要部署带有拥抱面部解决方案的零样本文本分类,请完成以下步骤:
- 在 SageMaker JumpStart 登录页面上,选择 模型、笔记本、解决方案 在导航窗格中。
- 在 解决方案 部分中,选择 探索所有解决方案.
- 点击 解决方案 页面上,选择带有拥抱脸部的零镜头文本分类模型卡。
- 查看部署详细信息,如果您同意,请选择 实行.
该部署将提供一个用于实时推理的 SageMaker 实时端点和一个用于存储批量转换结果的 S3 存储桶。
下图说明了此方法的体系结构。
使用零样本分类模型执行实时推理
在本部分中,我们将回顾如何使用 Python SDK 使用 SageMaker 端点实时运行零样本文本分类(使用任何可用模型)。
- 首先,我们配置对模型的推理负载请求。 这取决于模型,但对于 BART 模型,输入是具有以下结构的 JSON 对象:
- 请注意,BART 模型并未明确训练
candidate_labels
。 我们将使用零样本分类技术将文本序列分类为未见过的类别。 以下代码是使用新年决心数据集中的文本和定义的类的示例: - 接下来,您可以使用零样本负载调用 SageMaker 端点。 SageMaker 端点作为 SageMaker JumpStart 解决方案的一部分进行部署。
- 推理响应对象包含原始序列、按分数从最大到最小排序的标签以及每个标签的分数:
使用 Python SDK 运行 SageMaker 批量转换作业
本节介绍如何使用零样本分类运行批量变换推理 facebook-bart-large-mnli
使用的模型 SageMaker Python 开发工具包. 完成以下步骤:
- 将输入数据格式化为 JSON 行格式并将文件上传到 Amazon S3。
SageMaker 批量转换将对 S3 文件中上传的数据点执行推理。 - 使用以下参数设置模型部署工件:
- 型号标识 - 使用
huggingface-zstc-facebook-bart-large-mnli
. - 部署镜像 uri - 使用
image_uris
Python SDK 函数,用于获取预构建的 SageMaker Docker 映像model_id
。 该函数返回 Amazon Elastic Container注册 (亚马逊 ECR)URI。 - 部署源_uri – 使用
script_uris
用于检索 S3 URI 的实用程序 API,其中包含运行预训练模型推理的脚本。 我们指定script_scope
asinference
. - 模型_uri - 使用
model_uri
从 Amazon S3 获取指定的模型工件model_id
.
- 型号标识 - 使用
- 使用
HF_TASK
定义 Hugging Face 转换器管道的任务以及HF_MODEL_ID
定义用于对文本进行分类的模型:有关任务的完整列表,请参阅 管道 在拥抱脸部文档中。
- 创建要使用 SageMaker 批量转换作业进行部署的 Hugging Face 模型对象:
- 创建一个转换来运行批处理作业:
- 启动批量转换作业并使用 S3 数据作为输入:
您可以在 SageMaker 控制台上监控批处理作业(选择 批量转换作业 下 推理 在导航窗格中)。 作业完成后,您可以在指定的 S3 文件中检查模型预测输出 output_path
.
有关 SageMaker JumpStart 中所有可用预训练模型的列表,请参阅 带有预训练模型表的内置算法。 在搜索栏中使用关键字“zstc”(零样本文本分类的缩写)来查找所有能够进行零样本文本分类的模型。
清理
运行完笔记本后,请确保删除在此过程中创建的所有资源,以确保停止本指南中部署的资产所产生的成本。 与零样本文本分类解决方案和模型相关的笔记本中提供了用于清理已部署资源的代码。
默认安全配置
SageMaker JumpStart 模型使用以下默认安全配置进行部署:
要了解有关 SageMaker 安全相关主题的更多信息,请查看 在 Amazon SageMaker 中配置安全性.
结论
在这篇文章中,我们向您展示了如何使用 SageMaker JumpStart UI 部署零样本分类模型并使用部署的端点执行推理。 我们使用 SageMaker JumpStart 新年决心解决方案来展示如何使用 SageMaker Python SDK 构建端到端解决方案并实施零样本分类应用程序。 SageMaker JumpStart 提供对数百个预训练模型和解决方案的访问,用于计算机视觉、自然语言处理、推荐系统等任务。 自行尝试该解决方案并让我们知道您的想法。
关于作者
大卫·拉雷多 是拉丁美洲 AWS Envision Engineering 的原型架构师,他帮助开发了多个机器学习原型。 此前,他曾担任机器学习工程师,从事机器学习工作超过 5 年。 他感兴趣的领域是 NLP、时间序列和端到端机器学习。
维克拉姆·埃兰戈 是位于美国弗吉尼亚州 Amazon Web Services 的 AI/ML 专家解决方案架构师。 Vikram 通过设计和思想领导力帮助金融和保险行业客户大规模构建和部署机器学习应用程序。 他目前专注于自然语言处理、负责任的人工智能、推理优化以及在整个企业中扩展机器学习。 业余时间,他喜欢与家人一起旅行、徒步旅行、烹饪和露营。
Vivek Madan 博士 是 Amazon SageMaker JumpStart 团队的一名应用科学家。 他在伊利诺伊大学厄巴纳-香槟分校获得博士学位,并且是乔治亚理工学院的博士后研究员。 他是机器学习和算法设计方面的活跃研究员,并在 EMNLP、ICLR、COLT、FOCS 和 SODA 会议上发表过论文。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 汽车/电动汽车, 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- 图表Prime。 使用 ChartPrime 提升您的交易游戏。 访问这里。
- 块偏移量。 现代化环境抵消所有权。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/zero-shot-text-classification-with-amazon-sagemaker-jumpstart/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 1
- 10
- 100
- 12
- 16
- 17
- 20
- 22
- 30
- 7
- 8
- 9
- a
- 对,能力--
- 关于
- 以上
- ACCESS
- 账号管理
- 横过
- 要积极。
- 额外
- 驳
- AI
- AI / ML
- AL
- Alexa的
- 算法
- 算法
- 所有类型
- 让
- 允许
- Amazon
- 亚马逊SageMaker
- 亚马逊SageMaker JumpStart
- 亚马逊网络服务
- 量
- an
- 和
- 任何
- API
- 应用领域
- 应用领域
- 应用的
- 架构
- 保健
- 地区
- AS
- 亚洲的
- 办公室文员:
- 分配
- 相关
- At
- 自动
- 可使用
- AWS
- 酒吧
- 基地
- 基于
- BE
- 很
- 作为
- 属于
- 之间
- Bloom
- 身体
- 书籍
- 早餐
- 建立
- 内建的
- 商业
- 但是
- by
- CAN
- 候选人
- 能力
- 卡
- 寻找工作
- 旋转木马
- 例
- 类别
- 猫
- 挑战
- 查
- 程
- 类
- 分类
- 机密
- 分类
- 码
- 列
- 相当常见
- 完成
- 复杂
- 一台
- 计算机视觉
- 电脑
- 关心
- 会议
- 配置
- 考虑
- 安慰
- 建设
- 容器
- 包含
- 对比
- 转换
- 成本
- 可以
- 国家
- 情侣
- 创建信息图
- 创建
- 创造
- 目前
- 习俗
- 合作伙伴
- data
- 数据点
- 数据集
- 专用
- 默认
- 定义
- 定义
- 需求
- 需求预测
- 演示
- 依赖
- 依赖的
- 部署
- 部署
- 部署
- 设计
- 期望
- 详情
- 检测
- 确定
- 开发
- 研发支持
- 差异
- 扩散
- 讨论
- 多元化
- 码头工人
- 文件
- 不会
- 做
- 完成
- 两
- Ë&T
- 每
- 东部
- 教育
- 邮箱地址
- enable
- 加密
- 端至端
- 端点
- 工程师
- 工程师
- 确保
- 企业
- 实体
- 设想
- 评估
- 甚至
- 例子
- 例子
- 面部彩妆
- false
- 家庭
- 特征
- 少数
- 部分
- 数字
- 文件
- 金融
- 金融
- 找到最适合您的地方
- 地板
- 重点
- 以下
- 针对
- 格式
- 基金会
- 骨架
- 骗局
- 欺诈检测
- 止
- 功能
- 游戏
- 生成
- 得到
- GitHub上
- 特定
- 给予
- 陆运
- 事业发展
- 指南
- 处理
- 有
- he
- 健康管理
- 重
- 举重
- 帮助
- 帮助
- 帮助
- 高品质
- 他的
- 托管
- 为了
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- 中心
- 人
- 幽默
- 数百
- 亿万
- ID
- 身分
- if
- 伊利诺伊州
- 说明
- 图片
- 实施
- 进口
- in
- 包括
- 包括
- 行业中的应用:
- 信息
- 基础设施
- 固有
- 输入
- 输入
- 例
- 保险
- 兴趣
- IT
- 工作
- 工作机会
- JPG
- JSON
- 键
- 键
- 知道
- 标签
- 标签
- 着陆
- 语言
- 大
- LATAM
- 推出
- 领导团队
- 学习用品
- 学习
- 左
- 让
- 翻新
- 喜欢
- Line
- 线
- 清单
- LLM
- 装载
- LOOKS
- 机
- 机器学习
- 使
- 制作
- 男子
- 颠覆性技术
- 许多
- 最大
- 可能..
- 男性
- 方法
- 百万
- 分钟
- 分钟
- ML
- 模型
- 模型
- 显示器
- 更多
- 多
- my
- 姓名
- 自然
- 自然语言处理
- 导航
- 旅游导航
- 需求
- 全新
- 新年
- NLP
- 没有
- 笔记本
- 数
- 对象
- of
- on
- 仅由
- 打开
- 优化
- or
- 秩序
- 组织
- 原版的
- 其他名称
- 输出
- 产量
- 超过
- 己
- 页
- 面包
- 文件
- 范例
- 参数
- 部分
- 径
- 为
- 演出
- 性能
- 权限
- 个人
- 个性化你的
- 博士学位
- 费城
- 管道
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 播放
- 点
- 政治
- 热门
- 帖子
- 在练习上
- 预测
- 预测
- 当下
- 先前
- 问题
- 过程
- 处理
- 建议
- 原型
- 原型
- 提供
- 提供
- 提供
- 规定
- 出版
- 蟒蛇
- pytorch
- 快速
- 很快
- 阅读
- 真实
- 实时的
- 最近
- 承认
- 推荐
- 建议
- 减少
- 去掉
- 请求
- 要求
- 必须
- 研究员
- 资源
- 响应
- 回复
- 提供品牌战略规划
- 导致
- 成果
- 回报
- 检讨
- 右
- 角色
- 运行
- 运行
- s
- sagemaker
- 同
- 保存
- 鳞片
- 缩放
- 科学家
- 得分了
- 划伤
- 脚本
- 滚动
- SDK
- 搜索
- 部分
- 保安
- 看到
- 选择
- 序列
- 系列
- 特色服务
- 设置
- 短
- 射击
- 显示
- 显示
- 简易
- 简化
- 自
- 尺寸
- 足球
- 方案,
- 解决方案
- 解决
- 一些
- 东西
- 发言
- 专家
- 具体的
- 特别是
- 指定
- 说
- 运动
- 稳定
- 独立
- 开始
- 开始
- 国家的最先进的
- 留
- 步
- 步骤
- 停止
- 存储
- 存储
- 串
- 结构体
- 工作室
- 这样
- SUPPORT
- 肯定
- 产品
- 表
- 采取
- 需要
- 任务
- 任务
- 团队
- 科技
- 模板
- 文字分类
- 这
- 其
- 然后
- 博曼
- Free Introduction
- 思想
- 精神领袖
- 通过
- 次
- 时间序列
- TM
- 至
- Topics
- 培训
- 熟练
- 产品培训
- 转让
- 改造
- 转型
- 变压器
- 变形金刚
- 旅游
- 兆
- true
- 真相
- 尝试
- 鸣叫
- 二
- 类型
- ui
- 下
- 理解
- 大学
- 上传
- us
- 使用
- 用过的
- 运用
- 效用
- 各种
- 广阔
- 版本
- 非常
- 视频
- 弗吉尼亚州
- 愿景
- vs
- 演练
- 想
- 是
- 方法..
- we
- 卷筒纸
- Web服务
- 井
- 为
- ,尤其是
- 是否
- 而
- 谁的
- 宽
- 将
- 也完全不需要
- 话
- 工作
- 合作
- 写作
- 年
- 年
- 完全
- 更年轻
- 您一站式解决方案
- 和风网
- 零
- 零样本学习