作者:Ishan Singh 和 Yanyan Zhang,发布日期:2024年11月21日
在, ,
, 发布
Amazon Bedrock 是一项托管服务,通过单一 API 提供来自领先 AI 公司(如 AI21Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon)的高性能基础模型(FMs),并具备构建安全、隐私保护和负责任 AI 的 应用所需的广泛能力。
近期推出的 使组织能够以比实时定价低 50% 的成本高效处理大量数据。这在用例不敏感于延迟且不需要实时推理时尤为有用。然而,在享受这些强大功能的同时,我们必须面对一个关键挑战:在批量处理场景中实施负责任的 AI 实践。
在本文中,我们探讨了将负责任 AI 的保护伞融入 Amazon Bedrock批量推理工作流程的实用和成本效益的方法。尽管我们主要以呼叫中心的转录摘要作为示例,我们讨论的方法适用于各种批量推理用例,其中负责任的考虑和数据保护是首要任务。
我们的方法结合了两个关键元素:
这种两步流程提供了几个优势:
| 优势 | 描述 |
|---|---|
| 成本效益 | 通过对通常较短的输出文本应用严格的保护措施,降低处理成本而不妥协伦理 |
| 灵活性 | 该技术可以适应转录摘要之外的各种用例,具有跨行业的价值 |
| 质量保障 | 在输入和输出阶段都纳入负责任的考虑,确保整个过程维护负责任 AI 的高标准 |
在本文中,我们将讨论实施负责任 AI 的几个关键挑战。这些挑战包括保护敏感信息、确保 AI生成内容的准确性和相关性、减轻偏见、保持透明度以及遵守数据保护法规。通过应对这些挑战,我们旨在提供全面的负责任 AI 在批量处理中的应用方法。
为了解释这些概念,我们将提供实施该技术的实用逐步指导。
本解决方案使用 Amazon Bedrock 进行批量推理以总结呼叫中心转录,并结合以下两步方法以维护负责任的 AI实践。该方法旨在成本效益高、灵活且保持高标准的责任。
这种两步方法将批量处理的效率与强大的责任保护相结合,为涉及大规模敏感数据的场景中的负责任 AI 实施提供了全面的解决方案。

在接下来的部分中,我们将指导您了解如何使用 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