使用负责任的人工智能原则与 Amazon Bedrock 批量推理 机器学习博客

负责任地应用 AI 原则与 Amazon Bedrock 批量推理

作者:Ishan Singh 和 Yanyan Zhang,发布日期:2024年11月21日
在, , , 发布

关键要点

  • Amazon Bedrock 批量推理允许组织以更低成本高效处理大量数据。
  • 本文提供了将负责任 AI 原则融入批量推理工作流程的实用方法。
  • 重点在于负责任的提示和输出后处理的保护措施,确保数据隐私和合规性。
  • 该方法适用于多个行业的批量推理场景,帮助维护高标准的负责任 AI 实践。

Amazon Bedrock 是一项托管服务,通过单一 API 提供来自领先 AI 公司(如 AI21Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon)的高性能基础模型(FMs),并具备构建安全、隐私保护和负责任 AI 的 应用所需的广泛能力。

近期推出的 使组织能够以比实时定价低 50% 的成本高效处理大量数据。这在用例不敏感于延迟且不需要实时推理时尤为有用。然而,在享受这些强大功能的同时,我们必须面对一个关键挑战:在批量处理场景中实施负责任的 AI 实践。

在本文中,我们探讨了将负责任 AI 的保护伞融入 Amazon Bedrock批量推理工作流程的实用和成本效益的方法。尽管我们主要以呼叫中心的转录摘要作为示例,我们讨论的方法适用于各种批量推理用例,其中负责任的考虑和数据保护是首要任务。

我们的方法结合了两个关键元素:

  • 负责任的提示 – 我们演示如何将负责任 AI 原则直接嵌入用于批量推理的提示中,从一开始就确保模型生成负责任的输出。
  • 后处理保护措施 – 我们展示如何为批量推理输出应用额外的保障措施,以确保敏感信息得到妥善处理。

这种两步流程提供了几个优势:

优势描述
成本效益通过对通常较短的输出文本应用严格的保护措施,降低处理成本而不妥协伦理
灵活性该技术可以适应转录摘要之外的各种用例,具有跨行业的价值
质量保障在输入和输出阶段都纳入负责任的考虑,确保整个过程维护负责任 AI 的高标准

在本文中,我们将讨论实施负责任 AI 的几个关键挑战。这些挑战包括保护敏感信息、确保 AI生成内容的准确性和相关性、减轻偏见、保持透明度以及遵守数据保护法规。通过应对这些挑战,我们旨在提供全面的负责任 AI 在批量处理中的应用方法。

为了解释这些概念,我们将提供实施该技术的实用逐步指导。

解决方案概述

本解决方案使用 Amazon Bedrock 进行批量推理以总结呼叫中心转录,并结合以下两步方法以维护负责任的 AI实践。该方法旨在成本效益高、灵活且保持高标准的责任。

  • 负责任的数据准备和批量推理:
  • 通过负责任的提示准备数据以进行批量处理
  • 将准备好的 JSONL 文件存储在 (Amazon S3)存储桶中
  • 使用 Amazon Bedrock 批量推理高效且具有成本效益地总结呼叫中心转录
  • 使用 进行后处理:
  • 在初步摘要完成后,应用 Amazon Bedrock 保护伞以检测和编辑敏感信息、过滤不当内容,并确保遵守负责任 AI 政策
  • 通过对较短的输出文本应用保护伞,您可以在成本和合规之间达到优化

这种两步方法将批量处理的效率与强大的责任保护相结合,为涉及大规模敏感数据的场景中的负责任 AI 实施提供了全面的解决方案。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2024/11/12/archdiag- 删除)

在接下来的部分中,我们将指导您了解如何使用 Amazon Bedrock 在批量推理工作流程中实施负责任 AI 实践,重点介绍负责任提示技巧和保护伞。

前提条件

要实施建议的解决方案,请确保满足以下要求:

  • 拥有一个有效的 。
  • 拥有一个 S3 存储桶来存储为批量推理准备的数据。要了解如何在 Amazon S3 中上传文件,请参见 。
  • 拥有用于批量推理的 (IAM),其具有信任策略并可以访问 Amazon S3(对包含输入数据的文件夹的读取权限和对存储输出数据的文件夹的写入权限)。
  • 启用您选择的托管的 Amazon Bedrock 模型。请参考 获取完整的支持模型列表。
  • 根据您的具体负责任 AI 需求创建一个保护伞。有关说明,请参见 。

负责任提示技巧

在设置批量推理作业时,至关重要的是将负责任的指导方针融入到您的提示中。下面是您可以构建提示的简要示例:


{transcript}

说明: 1\. 关注主要问题、采取的步骤和解决方案。 2\. 保持专业和同理心的语气。 3\. 不要在摘要中包含任何个人身份信息(PII)。 4\.
使用性别中立的语言,尽管性别被明确提及。 5\. 准确反映情感语境,但不要夸大。 6\. 突出可行动的见解,以改善客户服务。 7\.
如果有任何部分不清晰或模糊,请在摘要中标明。 8\. 用像“客户”或“{{MASKED}}”这样的通用术语替换具体标识符。 """ ```

这个提示通过明确指示模型保护隐私、最小化偏见并专注于相关信息,为负责任的总结设定了基础。

## 设置批量推理作业

有关如何使用 Amazon Bedrock 设置和运行批量推理作业的详细说明,参见 。它提供了以下步骤的详细说明:

  * 使用所需的 JSONL 格式准备您的数据
  * 了解批量推理作业的配额和限制
  * 使用 Amazon Bedrock 控制台或 API 启动批量推理作业
  * 收集和分析批量作业的输出

通过遵循我们之前文章中的说明,并结合上一部分提供的负责任提示,您将能够顺利设置批量推理作业。

## Amazon Bedrock 保护伞

在批量推理作业成功运行后,作为后处理步骤应用 Amazon Bedrock保护伞。这为防止潜在的责任违规或敏感信息泄露提供了额外的保护层。以下是一个简单的实现示例,您可以根据数据量和 SLA 要求调整:

```python import boto3, os, json, time

# 初始化 Bedrock 客户端并设置保护伞详细信息

bedrock_runtime = boto3.client('bedrock-runtime') guardrail_id = "<您的保护伞 ID>"
guardrail_version = "<您的保护伞版本>"

# S3 存储桶和文件详细信息,即批量推理作业的输出

bucket_name = '<批量推理输出的 S3 存储桶>' prefix = "<前缀>" filename = '<文件名>'

# 设置 AWS 会话和 S3 客户端

session = boto3.Session(
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID'),
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY'),
region_name=os.environ.get('AWS_REGION') ) s3 = session.client('s3')

# 从 S3 中读取和处理批量推理输出

output_data = [] try: object_key = f"{prefix}{filename}" json_data =
s3.get_object(Bucket=bucket_name,
Key=object_key)['Body'].read().decode('utf-8')

    
    
    for line in json_data.splitlines():
        data = json.loads(line)
        output_entry = {
            'request_id': data['recordId'],
            'output_text': data['modelOutput']['content'][0]['text']
        }
        output_data.append(output_entry)
    

except Exception as e: print(f"从 S3 读取 JSON 文件时出错: {e}")

# 应用保护伞和掩蔽 PII 数据的函数

def mask_pii_data(batch_output: str): try: pii_data = [{"text": {"text":
batch_output}}] response = bedrock_runtime.apply_guardrail(
guardrailIdentifier=guardrail_id, guardrailVersion=guardrail_version,
source='OUTPUT', content=pii_data ) return response['outputs'][0]['text'] ifresponse['action'] == 'GUARDRAIL_INTERVENED' else pii_data except Exception ase: print(f"发生错误: {str(e)}")

# 设置速率限制:每分钟20个请求,间隔3秒

rpm = 20 interval = 3

# 对每条记录应用保护伞

masked_data = [] for record in output_data: iteration_start = time.time()

    
    
    record['masked_data'] = mask_pii_data(record['output_text'])
    masked_data.append(record)
    
    # 实施速率限制
    time.sleep(max(0, interval - (time.time() - iteration_start)))
    

这个实现的关键点:

  * 我们使用 Amazon Bedrock 运行时的 `apply_guardrail` 方法处理每个输出
  * 保护伞应用于“OUTPUT”来源,专注于后处理
  * 通过在 API 调用之间引入延迟来处理速率限制,确保我们不会超过每分钟的请求配额,即 20 个请求
  * 函数 `mask_pii_data` 应用保护伞,并在保护伞介入的情况下返回处理后的文本
  * 我们存储了掩蔽后的版本以供比较和分析

这种方法使您能够从批量处理的效率中受益,同时对 AI的输出进行严格控制,保护敏感信息。通过在输入(提示)和输出(保护伞)阶段解决负责任的考虑,您将拥有全面的负责任 AI 在批量推理工作流程中的应用方法。

尽管这个示例专注于呼叫中心转录摘要,但您可以将本文中讨论的原理和方法调整至各种批量推理场景,始终优先考虑负责任的 AI 实践和数据保护。

## 负责任的 AI 考量

尽管上一节的提示提供了一个基本框架,但您可以根据特定用例融入许多负责任的考虑。以下是更全面的负责任指导方针列表:

  * **隐私保护** – 避免在摘要中包含任何个人身份信息。这保护了客户隐私并符合数据保护法规,确保敏感个人数据不被暴露或误用。
  * **事实准确性** – 专注于转录中明确表示的事实,避免猜测。这确保摘要保持真实和可靠,准确反映交互而不引入无根据的假设。
  * **偏见减轻** – 注意与性别、种族、位置、口音或感知社会经济状况相关的潜在偏见。这有助于防止歧视,维护客户的公平对待,促进 AI 生成摘要的平等和包容性。
  * **文化敏感性** – 以中性的方式总结文化引用或习惯用语,而不加解释。这尊重文化多样性并减少误解,确保文化细微差别在没有主观判断的情况下被承认。
  * **性别中立** – 除非性别明确提及,否则使用性别中立的语言。这促进性别平等,最小化刻板印象,创造出包容性和尊重所有性别认同的摘要。
  * **地点中立性** – 仅在与客户的问题相关时包含地点。这最小化区域刻板印象,专注于实际问题而不是基于地理信息的无必要概括。
  * **口音意识** – 如果口音或语言能力相关,事实性地提及而不加判断。这承认语言的多样性而不歧视,尊重人们沟通的多种方式。
  * **社会经济中立** – 专注于问题和解决方案,不论讨论的产品或服务层级。这促进对客户经济背景无论如何都给予公平的考虑,促进对客户关注的平等对待。
  * **情感语境** – 使用中性语言准确描述情感。这提供了客户情绪的见解而不增加情绪,使得对交互的情感基调进行平衡的表现。
  * **同理心反映** – 注意代理人展示同理心的实例。这突显积极的客户服务实践,鼓励认可和复制富有同情心的互动。
  * **可及性意识** – 事实性地包括关于任何可及性需求或调整的信息。这促进了包容性并强调了适应不同需求的努力,营造出更可及和平等的客户服务环境。
  * **负责任行为标记** – 指出可能不负责任的行为,而不重复有问题的内容。这有助于识别需要审核的问题,同时最小化不当内容的传播,保持总结过程中的责任标准。
  * **透明度** – 在摘要中指明不清晰或模糊的信息。这促进透明度并帮助识别需要进一步澄清的领域,确保理解的局限性得到清晰传达。
  * **持续改进** – 突出可行动的见解以改善客户服务。这使摘要过程成为持续提升服务质量的工具,有助于改善客户体验的整体。

在您的批量推理工作流程中实施负责任的 AI实践时,请考虑这些指导方针中哪些与您的特定用例最相关。您可能需要根据您的行业、目标受众和特定的负责任考量添加、删除或修改指令。记得定期审查和更新负责任的指导方针,以应对
AI 伦理领域的新挑战和考虑。

## 清理

要删除您创建的保护伞,请遵循
 中的步骤。

## 结论

不论具体功能或方法如何,实施负责任的 AI 实践需要在隐私保护、成本效益和责任考量之间达到一个深思熟虑的平衡。在我们对使用 Amazon Bedrock的批量推理进行探索时,我们演示了如何将这些原则应用于创建一个不仅高效处理大量数据,而且以尊重隐私、避免偏见和提供可行动见解的方式进行的系统。

我们鼓励您将这种方法应用于您自己的生成式 AI 实施中。从将负责任的指导方针纳入提示和在输出中应用保护伞开始。负责任的 AI是一个持续性的承诺——持续监控、收集反馈并调整您的方法,以确保与负责任 AI使用的最高标准保持一致。通过将伦理置于技术进步的前列,我们可以创建不仅满足业务需求的 AI 系统,还为社会做出积极贡献的系统。

* * *

### 关于作者

删除)IshanSingh** 是 Amazon Web Services 的生成式 AI 数据科学家,帮助客户构建创新和负责任的生成式 AI 解决方案和产品。Ishan在 AI/ML 领域背景深厚,专注于构建生成

Leave a Reply

Required fields are marked *