生成人工智能(生成式人工智能)模型在生成高质量文本、图像和其他内容方面表现出了令人印象深刻的能力。 然而,这些模型需要大量干净、结构化的训练数据才能充分发挥其潜力。 大多数现实世界的数据以 PDF 等非结构化格式存在,需要进行预处理才能有效使用。
根据 IDC,非结构化数据占当今所有业务数据的 80% 以上。 这包括电子邮件、PDF、扫描文档、图像、音频、视频等格式。 虽然这些数据蕴藏着宝贵的见解,但其非结构化性质使得人工智能算法难以解释和学习。 根据一个 德勤2019年调查,只有 18% 的企业表示能够利用非结构化数据。
随着人工智能采用的不断加速,开发有效的机制来消化和学习非结构化数据在未来变得更加重要。 这可能涉及更好的预处理工具、半监督学习技术以及自然语言处理的进步。 最有效地利用非结构化数据的公司将从人工智能中获得显着的竞争优势。 干净的数据对于良好的模型性能非常重要。 提取的文本仍然包含大量乱码和样板文本(例如,阅读 HTML)。 从互联网上抓取的数据通常包含大量重复内容。 来自社交媒体、评论或任何用户生成的内容的数据也可能包含有毒和有偏见的内容,您可能需要使用一些预处理步骤将其过滤掉。 还可能存在大量低质量内容或机器人生成的文本,可以使用随附的元数据将其过滤掉(例如,过滤掉收到低客户评级的客户服务响应)。
数据准备在检索增强生成的多个阶段都很重要(鲁尔) 楷模。 知识源文档需要预处理,例如清理文本和生成语义嵌入,以便可以有效地索引和检索它们。 用户的自然语言查询也需要预处理,因此可以将其编码为向量并与文档嵌入进行比较。 检索相关上下文后,它们可能需要额外的预处理(例如截断),然后才能连接到用户的查询以创建基础模型的最终提示。 亚马逊 SageMaker 画布 现在支持全面的数据准备功能 亚马逊SageMaker数据牧马人。 通过这种集成,SageMaker Canvas 为客户提供了一个端到端的无代码工作区来准备数据、构建和使用 ML 和基础模型,以加快从数据到业务洞察的速度。 您现在可以轻松发现和聚合来自 50 多个数据源的数据,并使用 SageMaker Canvas 可视化界面中的 300 多个内置分析和转换来探索和准备数据。
解决方案概述
在这篇文章中,我们使用 PDF 文档数据集 —亚马逊基岩 用户指南。 此外,我们还展示了如何预处理 RAG 数据集。 具体来说,我们清理数据并创建 RAG 工件来回答有关数据集内容的问题。 考虑以下机器学习 (ML) 问题:用户提出一个大型语言模型 (LLM) 问题:“如何在 Amazon Bedrock 中过滤和搜索模型?”。 LLM在训练或微调阶段没有看过文档,因此无法回答问题,很可能会产生幻觉。 我们这篇文章的目标是从 PDF(即 RAG)中找到相关的文本并将其附加到提示中,从而使法学硕士能够回答特定于本文档的问题。
下面,我们将展示如何执行所有这些主要预处理步骤 亚马逊 SageMaker 画布 (供电 亚马逊SageMaker数据牧马人):
- 从 PDF 文档中提取文本(由 Textract 提供支持)
- 删除敏感信息(由 Comprehend 提供支持)
- 将文本分成块。
- 为每个部分创建嵌入(由 Bedrock 提供支持)。
- 将嵌入上传到矢量数据库(由 OpenSearch 提供支持)
先决条件
对于本演练,您应该具备以下条件:
备注: 按照说明创建 OpenSearch 服务域 相关信息。 为简单起见,我们选择带有主用户名和密码的选项以进行细粒度的访问控制。 创建域后,使用以下映射创建向量索引,向量维度 1536 与 Amazon Titan 嵌入对齐:
演练
构建数据流
在本节中,我们将介绍如何构建数据流以从 PDF 中提取文本和元数据、清理和处理数据、使用 Amazon Bedrock 生成嵌入以及在 Amazon OpenSearch 中对数据建立索引。
启动 SageMaker Canvas
要启动 SageMaker Canvas,请完成以下步骤:
- 在亚马逊 SageMaker 控制台,选择 域名 在导航窗格中。
- 选择您的域名。
- 在启动菜单上,选择 帆布.
创建数据流
请完成以下步骤以在 SageMaker Canvas 中创建数据流:
- 在 SageMaker Canvas 主页上,选择 数据管理员.
- 创建 在页面右侧,然后给出数据流名称并选择 创建.
- 这将出现在数据流页面上。
- 导入日期,选择表格数据。
现在让我们从 Amazon S3 存储桶导入数据:
- 导入日期 并选择 表格 从下拉列表中选择。
- 数据源 并选择 Amazon S3 从下拉列表中选择。
- 导航到包含 PDF 文件位置的元数据文件,然后选择该文件。
- 现在元数据文件已加载到数据准备数据流中,我们可以继续添加后续步骤以将数据和索引转换为 Amazon OpenSearch的。 在这种情况下,文件具有以下元数据,以及每个文件在 Amazon S3 目录中的位置。
要添加新转换,请完成以下步骤:
- 选择加号并选择 添加变换.
- 添加步骤 并选择 自定义转换.
- 您可以使用 Pandas、PySpark、Python 用户定义函数和 SQL PySpark 创建自定义转换。 选择 蟒蛇(PySpark) 对于这个用例。
- 输入步骤的名称。 从示例代码片段中,浏览并选择 从pdf中提取文本。 对代码片段进行必要的更改并选择 地址.
- 让我们添加一个步骤,利用以下方法从提取的数据中编辑个人身份信息 (PII) 数据 亚马逊领悟。 选 添加步骤 并选择 自定义转换。 并选择 Python(PySpark)。
从示例代码片段中,浏览并选择 掩码 PII。 对代码片段进行必要的更改并选择 添加。
- 下一步是将文本内容分块。 选择 添加步骤 并选择 自定义转换。 并选择 Python(PySpark)。
从示例代码片段中,浏览并选择 块文本。 对代码片段进行必要的更改并选择 添加。
- 让我们使用以下方法将文本内容转换为向量嵌入 亚马逊基岩 泰坦嵌入模型。 选择 添加步骤 并选择 自定义转换。 并选择 Python(PySpark)。
从示例代码片段中,浏览并选择 使用 Bedrock 生成文本嵌入。 对代码片段进行必要的更改并选择 添加。
- 现在我们可以为 PDF 文件内容提供矢量嵌入。 让我们继续将数据索引到 Amazon OpenSearch 中。 选择 添加步骤 并选择 自定义转换。 并选择 Python(PySpark)。 您可以随意重写以下代码以使用您喜欢的矢量数据库。 为简单起见,我们使用主用户名和密码来访问 OpenSearch API,对于生产工作负载,请根据您的组织策略选择选项。
最后,创建的数据流如下:
通过此数据流,PDF 文件中的数据已被读取并使用 Amazon OpenSearch 中的矢量嵌入进行索引。 现在我们需要创建一个包含查询的文件来查询索引数据并将其保存到 Amazon S3 位置。 我们将搜索数据流指向该文件,并在 Amazon S3 位置的新文件中输出包含相应结果的文件。
准备提示
在我们从 PDF 创建知识库后,我们可以通过在知识库中搜索一些示例查询来测试它。 我们将按如下方式处理每个查询:
- 为查询生成嵌入(由 Amazon Bedrock 提供支持)
- 查询最近邻居上下文的向量数据库(由 Amazon OpenSearch 提供支持)
- 将查询和上下文合并到提示中。
- 使用提示查询 LLM(由 Amazon Bedrock 提供支持)
- 在 SageMaker Canvas 主页上,选择 资料准备.
- 创建 在页面右侧,然后给出数据流名称并选择 创建.
现在让我们加载用户问题,然后通过组合问题和类似文档来创建提示。 此提示提供给法学硕士以生成用户问题的答案。
- 让我们加载包含用户问题的 csv 文件。 选择 导入数据 并选择 表格 从下拉列表中选择。
- 数据源, 并选择 Amazon S3 从下拉列表中。 或者,您可以选择上传包含用户查询的文件。
- 让我们添加一个自定义转换以将数据转换为向量嵌入,然后从 Amazon OpenSearch 搜索相关嵌入,然后使用知识库中的查询和上下文向 Amazon Bedrock 发送提示。 要为查询生成嵌入,您可以使用相同的示例代码片段 使用 Bedrock 生成文本嵌入 上面第 7 步提到的。
让我们调用 Amazon OpenSearch API 来搜索相关文档以查找生成的向量嵌入。 使用 Python (PySpark) 添加自定义转换。
让我们添加一个自定义转换来调用 Amazon Bedrock API 进行查询响应,并传递来自 Amazon OpenSearch 知识库的文档。 从示例代码片段中,浏览并选择 通过上下文查询基岩。 对代码片段进行必要的更改并选择 添加。
综上所述,基于RAG的问答数据流如下:
机器学习从业者花费大量时间编写特征工程代码,将其应用到初始数据集,在工程数据集上训练模型,并评估模型准确性。 鉴于这项工作的实验性质,即使是最小的项目也会导致多次迭代。 相同的特征工程代码通常会一次又一次地运行,重复相同的操作会浪费时间和计算资源。 在大型组织中,这可能会导致更大的生产力损失,因为不同的团队经常运行相同的工作,甚至因为不了解先前的工作而编写重复的特征工程代码。 为了避免特征的重新处理,我们将数据流导出到 Amazon SageMaker 管道。 我们来选择 查询右侧的 + 按钮。 选择导出数据流并选择 运行 SageMaker 管道 (通过 Jupyter 笔记本)。
打扫干净
为避免将来产生费用,请删除或关闭您在关注此帖子时创建的资源。 参考 注销 Amazon SageMaker 画布 以获得更多细节。
结论
在这篇文章中,我们通过扮演数据专业人员的角色,向您展示了 Amazon SageMaker Canvas 的端到端功能如何为 LLM 准备数据。 交互式数据准备可以快速清理、转换和分析数据,以设计信息特征。 通过消除编码复杂性,SageMaker Canvas 允许快速迭代来创建高质量的训练数据集。 这种加速的工作流程直接导致构建、培训和部署高性能机器学习模型以产生业务影响。 凭借全面的数据准备和从数据到见解的统一体验,SageMaker Canvas 使用户能够改善他们的机器学习结果。
我们鼓励您通过探索来了解更多 亚马逊SageMaker数据牧马人, 亚马逊 SageMaker 画布, 亚马逊泰坦 模型, 亚马逊基岩和亚马逊 开放搜索服务 使用本文中提供的示例实现和与您的业务相关的数据集构建解决方案。 如果您有疑问或建议,请发表评论。
作者简介
阿贾伊戈文达拉姆 是 AWS 的高级解决方案架构师。 他与使用 AI/ML 解决复杂业务问题的战略客户合作。 他的经验在于为适度到大规模的 AI/ML 应用程序部署提供技术指导和设计协助。 他的知识范围从应用程序架构到大数据、分析和机器学习。 他喜欢边休息边听音乐、体验户外活动以及与亲人共度时光。
尼基塔·伊夫金 是 Amazon SageMaker Data Wrangler 的一名高级应用科学家,对机器学习和数据清理算法感兴趣。
- :具有
- :是
- :不是
- 100
- 14
- 20
- 25
- 28
- 50
- 7
- 8
- 804
- a
- Able
- 关于
- 以上
- 加快
- 加速
- ACCESS
- 根据
- 账户
- 加
- 额外
- 采用
- 进步
- 优点
- 优点
- 后
- 再次
- 骨料
- 向前
- AI
- AI / ML
- 算法
- 对齐
- 所有类型
- 允许
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊SageMaker数据牧马人
- 亚马逊网络服务
- 量
- an
- 检测值
- 分析
- 分析
- 和
- 回答
- 任何
- API
- 应用领域
- 应用的
- 应用
- 架构
- 保健
- 人造的
- 人工智能
- AS
- 帮助
- At
- 连接
- 音频
- 增强
- 可使用
- 避免
- AWS
- 基地
- 基于
- BE
- 因为
- 成为
- 很
- before
- 作为
- 更好
- 偏
- 大
- 大数据运用
- 建立
- 建筑物
- 内建的
- 商业
- 企业
- 按键
- by
- 呼叫
- CAN
- 帆布
- 能力
- 案件
- 原因
- 更改
- 收费
- 清洁
- 清洁
- 码
- 编码
- 结合
- 评论
- 公司
- 相比
- 竞争的
- 完成
- 复杂
- 复杂性
- 理解
- 全面
- 计算
- 考虑
- 安慰
- 包含
- 包含
- 内容
- Contents
- 上下文
- 上下文
- 继续
- 控制
- 兑换
- 相应
- 可以
- 外壳
- 创建信息图
- 创建
- 危急
- 习俗
- 顾客
- 客户服务
- 合作伙伴
- data
- 资料准备
- 数据库
- 数据集
- 德勤会计师事务所
- 证明
- 部署
- 部署
- 设计
- 详情
- 发展
- 不同
- 难
- 尺寸
- 方向
- 直接
- 通过各种方式找到
- do
- 文件
- 文件
- 文件
- 域
- 域名
- 向下
- ,我们将参加
- e
- 每
- 容易
- 只
- 高效
- 有效
- 电子邮件
- 嵌入
- 如虎添翼
- 启用
- 使
- 鼓励
- 端至端
- 工程师
- 设计
- 工程师
- 评估
- 甚至
- 例子
- 存在
- 体验
- 经历
- 试验
- 探索
- 探索
- 出口
- 提取
- 专栏
- 特征
- 少数
- 字段
- 文件
- 过滤
- 最后
- 找到最适合您的地方
- 流
- 其次
- 以下
- 如下
- 针对
- “福布斯”
- 基金会
- Foundations
- Free
- 止
- ,
- 功能
- 进一步
- 未来
- Gain增益
- 生成
- 产生
- 发电
- 代
- 生成的
- 生成式人工智能
- 得到
- 给
- 特定
- 全球
- Go
- 目标
- 非常好
- 更大的
- 有
- he
- 头
- 高品质
- 他的
- 持有
- 主页
- 创新中心
- How To
- 但是
- HTML
- HTTPS
- i
- 相同
- if
- 图片
- 影响力故事
- 履行
- 进口
- 重要
- 有声有色
- 改善
- in
- 包括
- 指数
- 索引
- 信息
- 信息
- 初始
- 可行的洞见
- 说明
- 积分
- 房源搜索
- 互动
- 利益
- 接口
- 网络
- 成
- 涉及
- IT
- 迭代
- 迭代
- 它的
- 工作机会
- JPG
- JSON
- 知识
- 土地
- 语言
- 大
- 大规模
- 发射
- 信息
- 学习用品
- 学习
- 离开
- 导致
- 借力
- 谎言
- 喜欢
- 清单
- 听力
- LLM
- 加载
- 圖書分館的位置
- 地点
- 离
- 占地
- 爱
- 低
- 机
- 机器学习
- 主要
- 使
- 制作
- 面膜
- 大规模
- 主
- 可能..
- 机制
- 媒体
- 菜单
- 元
- 元数据
- ML
- 模型
- 模型
- 谦虚
- 更多
- 最先进的
- 多
- 音乐
- 姓名
- 自然
- 自然语言处理
- 自然
- 旅游导航
- 必要
- 需求
- 全新
- 下页
- 没有
- 笔记本
- 现在
- of
- 经常
- on
- 一旦
- 那些
- 仅由
- 运营
- 附加选项
- or
- 组织
- 组织
- 其他名称
- 我们的
- 输出
- 结果
- 户外活动
- 产量
- 超过
- 页
- 大熊猫
- 面包
- 通过
- 密码
- 性能
- 个人
- 挑
- 片
- 件
- 管道
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 请
- 加
- 点
- 政策
- 帖子
- 潜力
- 供电
- 首选
- 准备
- Prepare
- 准备
- 先
- 大概
- 市场问题
- 问题
- 继续
- 过程
- 处理
- 生产
- 生产率
- 所以专业
- 项目
- 提供
- 提供
- 优
- 蟒蛇
- 查询
- 题
- 有疑问吗?
- 很快
- 范围
- 快
- 评分
- 达到
- 阅读
- 真实的世界
- 收到
- 参考
- 有关
- 相应
- 删除
- 报道
- 要求
- 要求
- 需要
- 资源
- 响应
- 回复
- 休息
- 成果
- 回报
- 评论
- 右
- 角色
- 运行
- sagemaker
- 同
- 保存
- 科学家
- 搜索
- 搜索
- 部分
- 看到
- 选择
- 发送
- 前辈
- 敏感
- 服务
- 特色服务
- 设置
- 应该
- 显示
- 显示
- 关闭
- 关闭
- 侧
- 签署
- 显著
- 类似
- 简单
- 简化
- 尺寸
- 片段
- So
- 社会
- 社会化媒体
- 方案,
- 解决方案
- 解决
- 一些
- 来源
- 来源
- 具体的
- 特别是
- 花
- 花费
- 阶段
- 实习
- 步
- 步骤
- 仍
- 善用
- 结构化
- 概要
- 支持
- 调查
- 采取
- 队
- 文案
- 技术
- test
- 文本
- 这
- 未来
- 其
- 他们
- 然后
- 那里。
- 博曼
- 他们
- Free Introduction
- 从而
- 次
- 泰坦
- 至
- 今晚
- 工具
- 产品培训
- 改造
- 转型
- 转换
- 转型
- true
- 截断
- 类型
- 类型
- 统一
- us
- 使用
- 用过的
- 用户
- 用户
- 运用
- 有价值
- 通过
- 视频
- 视觉
- 演练
- we
- 卷筒纸
- Web服务
- 井
- 这
- 而
- WHO
- 将
- 工作
- 工作流程
- 合作
- 将
- 写
- 完全
- 您一站式解决方案
- 和风网