mcpField
A
aws-genai-ml-architect

aws-genai-ml-architect

github.com/awslabs云与 DevOps6878 次安装4 周前更新
代码仓库

关于 aws-genai-ml-architect

面向医疗与生命科学团队的 AWS 生成式 AI 和机器学习架构推理技能。它依据 PHI、临床风险、数据类型及运行要求,帮助选择服务、合规控制和 MLOps 方案,不提供部署命令或 IaC 模板。

主要功能

  1. 01比较 Bedrock 与 SageMaker
  2. 02匹配医疗数据模态的架构模式
  3. 03评估 PHI 安全与合规要求
  4. 04规划临床模型监控和审批
  5. 05考虑推理模式与成本

适用场景

  1. 01设计临床文本摘要或文献 RAG
  2. 02规划 PHI 数据上的模型训练
  3. 03选择影像推理端点模式
  4. 04构建临床风险模型的 MLOps

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/awslabs/hcls-agent-skills --skill aws-genai-ml-architect

安装后在 Claude Code 中输入/aws-genai-ml-architect确认已加载。

附带文件.gitkeep

详细介绍

AWS GenAI/ML Architect (HCLS)

概述

此技能指导 Agent 如何为医疗健康与生命科学(HCLS)工作负载进行 AWS GenAI 和 ML 架构决策。它不会规定 CLI 命令或 IaC 模板,而是编码了经验丰富的 HCLS 云架构师用于选择服务、确保合规并避免常见陷阱的决策框架。需要具体 IaC 或部署产物时,请将此技能与流水线技能配合使用。

HCLS 工作负载与通用 ML 工作负载的区别在于三个主导所有决策的约束:HIPAA 下的 PHI 处理、临床输出中的高幻觉成本,以及由编码变更、站点接入和季节性护理模式驱动的分布偏移。请在每个步骤中牢记这些因素。

使用方法

当用户提出架构层面的问题时,请调用此技能,例如:

  • “我应该使用 Bedrock 还是 SageMaker 来总结临床记录?”
  • “如何在 AWS 上基于医学文献构建 RAG?”
  • “全切片图像的推理模式应该如何选择?”
  • “如何安全地使用 PHI 训练模型?”
  • “临床风险模型的 MLOps 技术栈应该是什么样的?”

请按以下顺序逐步决策:

  1. 明确临床/科研用例以及 PHI 暴露情况。
  2. 应用服务选择框架。
  3. 针对具体模态采用 HCLS 架构模式。
  4. 落实安全与合规决策要点。
  5. 纳入 MLOps、监控和成本方面的考量。
  6. 在最终确定前指出常见错误。

如果用户未说明负载大小、延迟 SLO、PHI 状态或监管要求,请明确说明假设。

回复格式

  • 开篇给出直接建议或分类(≤3 句话)
  • 按以下结构组织:建议 → 理由(引用具体标准/阈值)→ 注意事项
  • 使用表格进行比较;使用项目符号列出标准
  • 省略用户已了解的背景信息——他们已经提出了问题
  • 目标篇幅:200–400 个词,除非用户要求详尽说明 此技能中的决策树和框架仅供内部推理使用。运用它们得出结论,但不要在回复中复述。仅给出最终建议及其依据。

核心概念

  • PHI 与去标识化数据:PHI 需要使用符合 HIPAA 要求的服务、签署 BAA,并实施更严格的隔离。去标识化或合成数据可以放宽部分控制措施,但仍应评估下游重新识别风险。
  • 基础模型(FM)与自定义模型:FM 用途通用、上线迅速,按令牌/调用计费。自定义模型面向特定领域,需要训练数据和运维支持,按计算小时计费。
  • 同步、异步与批量推理:正确的端点类型取决于延迟 SLO、负载大小和流量形态,而不只是模型大小。
  • 基于依据生成与直接生成:如果错误答案可能伤害患者或引发监管风险,临床输出就必须以可检索来源(RAG、结构化查询)为依据。
  • 分布偏移是常态,而非例外:医疗数据会随每次 ICD 编码更新、新站点接入、季节变化和护理路径变更而偏移。从第一天起就要为此做好设计。

服务选择框架

将此作为初步决策依据:

  • Bedrock,适用于:

    • 直接使用基础模型(摘要、信息提取、基于文本的问答)
    • 使用 Knowledge Bases 或 Agents 构建 RAG
    • 需要托管式防护措施来脱敏 PII/PHI 并过滤有害内容
    • 不希望管理训练、端点或 GPU 容量
  • SageMaker,适用于:

    • 使用专有临床或组学数据进行自定义训练或微调
    • 使用专业模型(医学影像 CNN、自定义 NER、生存模型)
    • 需要全面控制容器、网络和实例类型
    • 使用模型注册表和审批工作流构建 MLOps 流水线
  • 两者兼用,适用于:

    • FM 处理非结构化文本,自定义模型评估结构化风险
    • 集成方案将 FM 摘要与专业分类器结合
    • RAG 检索使用基于临床文本训练的自定义嵌入模型

经验法则:以 Bedrock 作为所有以文本为核心的用例的起点。只有在 FM 的准确率、成本、延迟或数据驻留要求迫使你这样做时,才转向 SageMaker。

HCLS 架构模式

根据数据模态选择相应模式:

  • 临床记录摘要/信息提取:使用 Bedrock 和小型指令微调 FM、经临床医生审核的提示词模板,以及配置为脱敏 PHI 和禁止主题的 Bedrock Guardrails。 始终要求提供可回溯至记录的源文本片段引用。

  • 医学文献/指南 RAG:使用由 OpenSearch Serverless 支持的 Bedrock Knowledge Bases。按语义章节(摘要、方法、 结果、指南建议)进行分块,而非使用固定 token 窗口 — 临床医生按章节粒度进行推理,而固定分块会拆分表格和剂量指导。存储源元数据(PMID、指南版本、 发布日期),以便追溯。

  • 病理学和放射学推理:对全视野切片图像和 DICOM 影像体使用 SageMaker 异步端点。载荷超出实时端点的限制,推理时间也超过同步 SLO。在调用端点前,先通过 SageMaker Processing 作业进行预处理(切片、 重采样)。

  • 基因组学流水线:对自定义工作流使用由 Step Functions 编排的 SageMaker Processing 作业;如果工作流符合其托管式 WDL/Nextflow 执行模型,则使用 HealthOmics。使用 HealthOmics 变异和注释存储来保存可查询的基因组数据。

  • 药物发现和分子建模:使用 SageMaker HyperPod 对大型结构模型或性质预测模型进行分布式训练。使用 Bedrock 生成分子描述、挖掘文献并进行化学问答; 绝不可将其用于准确性至关重要的最终性质预测。

  • 环境式临床文档处理:使用 Bedrock 进行转录后处理和结构化记录生成;结合防护措施,并在 EHR 中加入人工审核签署环节。

数据架构

根据数据形态和访问模式选择存储:

  • FHIR 临床数据 → HealthLake。支持原生 FHIR 查询和集成 NLP。导出到 S3 以用于 ML 训练。
  • 观察性研究/理赔研究 → 在 Redshift 或 Athena 上使用 OMOP CDM。 标准化词汇可复用已发布的表型定义。
  • 基因组学 → 使用 S3 作为 VCF、BAM、CRAM、FASTQ 的真实数据源; 使用 Lake Formation 进行治理;使用 Athena 执行临时查询;使用 HealthOmics 存储实现索引访问。
  • 医学影像 → 使用 S3 存储原始 DICOM;使用 HealthImaging 实现索引访问、子图像访问以及与推理流水线的集成。
  • 非结构化文档(PDF、扫描记录)→ 使用 S3 + Textract 进行 信息提取,然后将结构化输出路由至上述相应存储。

跨领域方案:使用 Lake Formation 为不同分析人员角色提供精细化访问控制;使用 Glue Data Catalog 作为统一元数据层。

安全性与合规性

将合规性视为硬性门槛,而不是最后的检查清单。

  • HIPAA BAA:任何涉及 PHI 的工作流,只能使用 AWS HIPAA 合规服务列表中的服务。验证架构中的每项服务都符合要求,包括日志记录和监控接收端。
  • 网络隔离:PHI 工作负载在私有子网中运行,且不允许访问互联网。对 S3、SageMaker、Bedrock、KMS 和 CloudWatch 使用 VPC 端点。对处理 PHI 的训练任务和端点启用 SageMaker 网络隔离。
  • 加密:为 S3、EBS、SageMaker 卷和 Bedrock 知识库向量存储使用客户管理的 KMS 密钥。传输过程中使用 TLS 1.2 或更高版本。限定密钥策略,确保只有预期角色可以解密。
  • 审计与检测:使用 CloudTrail(包括 PHI 存储桶的数据事件)、用于检测配置偏差的 AWS Config 规则,以及用于威胁检测的 GuardDuty。启用 Bedrock 模型调用日志记录,将日志保存到 S3 或 CloudWatch——没有这项功能,就无法还原向 FM 提出的请求或其返回内容。
  • IAM:遵循最小权限原则,不要在 PHI 存储桶或 KMS 密钥上使用通配符。为数据科学家、训练任务和推理端点分别设置角色。绝不要跨环境共用角色。
  • 去标识化:如果用例允许,应在训练前进行去标识化。记录所用方法(Safe Harbor、Expert Determination),并保留判定证据。

需明确列出的合规决策点:

  • 任何输入、输出、提示词或日志是否包含 PHI?如果包含,路径中的每项服务都必须符合 HIPAA 要求并受 BAA 约束。
  • FM 提供商是否会看到 PHI?确认 Bedrock 模型部署在符合要求的区域,并且调用日志使用你的 CMK 加密。
  • 工作负载是否跨越账户或区域?重新核实 BAA 覆盖范围和数据驻留承诺。

HCLS 的 MLOps

临床模型会逐渐失效。应假定存在漂移,并据此设计:

  • 监控:使用 SageMaker Model Monitor 监控数据质量、模型质量(标签到达时)和偏差漂移。在站点和付款方层面跟踪特征分布,而不只看汇总数据。
  • 需关注的分布变化来源:ICD 和 CPT 编码更新、EHR 模板变更、新站点接入、疾病的季节性变化、药品目录变更、诊疗路径干预措施。
  • 模型注册表与审批:每个临床模型都必须通过 SageMaker Model Registry,并设置明确的审批状态。只有完成模型卡、偏差评估和临床审批后,才可批准模型晋级。
  • 实验限制:对患者进行随机在线 A/B 测试通常需要 IRB 批准。默认采用影子模式评估,或采用有人参与审查的 champion/challenger 方法。启用流量切换前,先记录评估设计。
  • 可复现性:在注册表中固定容器映像、训练数据快照(S3 版本控制)和超参数。无法重新构建的模型就无法向监管机构证明其合规性。
  • 事件响应:在上线前,为每个已部署的临床模型定义回滚标准和紧急停止开关。

成本优化

仅在正确性和合规性得到保障后再进行优化:

  • 训练:使用 Spot 实例进行容错训练;必须启用检查点机制,否则 Spot 中断会浪费计算资源。对于长时间运行的分布式作业,使用 HyperPod 来摊销设置成本。
  • 推理形态:
    • 实时端点:延迟 < 约 60s、负载 < 约 6 MB,且流量稳定。
    • 异步端点:适用于大型负载(WSI、DICOM 体数据、长文档)或推理时间较长的场景。
    • 无服务器推理:适用于突发或间歇性流量,且可接受冷启动的场景。
    • 批量转换:适用于对大型队列进行离线评分。
  • 存储:对于访问模式未知的研究数据集,使用 S3 Intelligent-Tiering;对于因合规要求而留存的影像和基因组数据,使用生命周期策略将其转存至 Glacier。
  • Bedrock:提取和分类任务优先使用较小的模型;将较大的模型留给开放式生成任务。在临床安全的前提下缓存检索结果。

决策树

如果路径不明确,请按照以下流程引导用户。

处理临床文本

  1. 任务是否为提取、摘要或针对文本的问答?→ 使用 Bedrock。
  2. 是否属于专业任务(自定义 NER 架构、大规模去标识化、特定领域分类器)?→ 使用 SageMaker 和微调后的临床模型。
  3. 是否涉及 PHI?→ 无论选择哪项服务,都必须满足“安全与合规”要求。

使用 PHI 进行训练

  1. 在 VPC 中运行 SageMaker 训练任务,且仅使用私有子网。
  2. 为任务启用网络隔离。
  3. 对输入 S3、训练卷和输出构件使用 KMS CMK。
  4. 确保端到端使用的区域和服务均受 BAA 覆盖。
  5. 禁止访问互联网;为所用的所有 AWS API 配置 VPC 端点。

选择推理模式

  1. 延迟 SLO 在几秒以内且负载较小?→ 使用实时端点。
  2. 负载较大(WSI、DICOM、长篇报告)或推理较慢?→ 使用异步端点,并通过 S3 提供输入和输出。
  3. 流量突发或规模较小?→ 使用无服务器推理。
  4. 是否需要对整个队列进行离线评分?→ 使用批量转换。

针对临床或科学内容的 RAG

  1. 内容是否稳定且结构良好?→ 使用 Bedrock Knowledge Bases 和 OpenSearch Serverless。
  2. 按章节而非固定 token 数进行分块。保留表格和用药剂量区块。
  3. 要求每个答案都附带引用;拒绝缺乏依据的回答。
  4. 如果语料包含 PHI,确保向量存储、嵌入模型和 FM 均符合 HIPAA 要求并受 BAA 覆盖。

不适用此技能的场景

  • 非 HCLS 工作负载——此技能中的合规指南(HIPAA、BAA、FDA SaMD)不适用于通用应用
  • 成本估算或定价——请使用 AWS Pricing Calculator;此技能涵盖架构模式,而非计费
  • 审查或审计现有已部署架构——此技能用于设计新系统;对于现有系统,请使用 Well-Architected Reviews

常见错误

  • 错误: 在需要自定义模型的问题上使用 Bedrock 正确: 当准确性至关重要且标签空间狭窄时,使用 SageMaker 和经过微调的分类器 原因: 在受限任务中,大模型的表现不如标签完善的领域分类器,可能生成不可靠的临床输出

  • 错误: 明明 Bedrock 一周内就能上线,却使用 SageMaker 正确: 对于通用摘要或提取任务,先使用 Bedrock;只有在准确性、成本或数据驻留要求迫使你这样做时,才转用 SageMaker 原因: 为常见的 NLP 任务构建定制基础设施,会浪费数月的工程时间

  • 错误: 在 RAG 工作流中对医学文献使用固定大小的分块 正确: 按语义章节分块(摘要、方法、结果、指南建议),并完整保留表格和剂量内容块 原因: 固定大小的分块会拆散剂量表、禁忌症和指南建议,破坏检索质量

  • 错误: 对全切片图像使用实时端点 正确: 对 WSI 和 DICOM 影像体使用 SageMaker 异步端点 原因: WSI 载荷超过实时端点的大小限制,推理时间也超过同步超时 SLO

  • 错误: 忘记启用 Bedrock 调用日志记录 正确: 始终启用 Bedrock 模型调用日志记录,并将日志存储到使用 CMK 加密的 S3 或 CloudWatch 原因: 如果不启用,就无法还原向大模型发送了什么请求或大模型返回了什么结果——这会导致合规和调试方面的问题

  • 错误: 在 PHI 训练作业中使用公有子网或互联网出口 正确: 在没有互联网出口的私有子网中运行 PHI 工作负载;对所有 AWS API 使用 VPC 端点 原因: 即使数据在传输过程中已加密,这也违反了 HIPAA 对隔离性的预期

  • 错误: 对 PHI 存储桶使用通配符 IAM 策略 正确: 将 IAM 策略限定为特定资源和操作;为不同环境和角色分别设置权限 原因: 单个权限范围过大的角色会削弱架构中的其他所有安全控制

  • 错误: 使用竞价型实例训练却不设置检查点 正确: 使用竞价型实例运行训练作业时,始终启用检查点 原因: 竞价型实例中断后会丢失自上次检查点以来的所有进度;最终成本往往高于按需实例

  • 错误: 未经 IRB 批准就在患者群体中运行随机在线 A/B 测试 正确: 默认采用影子模式评估,或采用带有人工审核环节的冠军/挑战者模式 原因: 在患者群体中进行随机实验属于人体受试者研究——未经 IRB 批准即构成违规

  • 错误: 等到整体准确率下降才关注分布偏移 正确: 从第一天起,就使用 SageMaker Model Monitor 按医疗机构和付款方级别监控特征分布 原因: 等整体指标发生变化时,机构级别的伤害可能已经发生

  • 错误: 认为去标识化会免除所有数据处理义务 正确: 记录去标识化方法(Safe Harbor 或 Expert Determination),并评估重新识别风险和合同条款 原因: 去标识化后,重新识别风险和合同义务往往依然存在

  • 错误: 在同一个 AWS 账户中混用开发环境和生产环境,并共享 KMS 密钥 正确: 将开发环境和生产环境隔离到不同账户,并使用独立的 KMS 密钥和 IAM 边界 原因: 共享账户中任何错误的影响范围都会波及生产环境中的 PHI

何时应升级至人工专家审核

在以下情况下,建议进行人工审核:

  • 用例会直接影响治疗决策,且没有临床医生参与审核。
  • 工作负载需要进行 FDA SaMD 分类或遵守 21 CFR Part 11 控制要求,而您无法确认是否满足。
  • 涉及数据驻留、跨境传输或多个司法管辖区的 PHI 规则。
  • 有人提议将新型 FM 用于安全关键型临床输出,但尚无针对目标人群的已发表评估结果。

在这些情况下,请拟定架构,列出尚待解决的监管和临床问题,并在实施前停止。

参考资料

评论

支持 Markdown