[SEO 副标题]
本指南帮助游戏开发人员自动完成为其游戏和相关基础设施创建非玩家角色(NPC)的过程。该过程使用虚幻引擎 MetaHuman 以及基础模型(FM),例如大型语言模型(LLM)Claude 2 和 Llama 2,来提高 NPC 的对话技巧。这样,每位玩家都能从 NPC 那里得到独一无二的动态回应,为脚本对话锦上添花。本指南采用大型语言模型运营(LLMOps)方法,将通过持续集成和部署生成式人工智能应用程序,以及微调大型语言模型,来加快原型的开发和交付速度。与此同时,这一切还有助于确保 NPC 可以完整地访问安全的游戏背景资料知识库。
本指南包括四个部分:概览架构、LLMOps 管道架构、基础模型运营(FMOps)架构和数据库数据注入架构。
请注意:[免责声明]
架构图
-
概览
-
LLMOps 管道
-
FMOps 管道
-
向数据库注入数据
-
概览
-
此架构图显示了在 AWS 上托管生成式人工智能 NPC 的工作流程概览。
第 1 步
游戏客户端与基于虚幻引擎 Metahuman 运行的 NPC 进行交互。
第 2 步
将生成 NPC 文本回应的请求发送到文本 API Amazon API Gateway 端点。需要 NPC 提供游戏特定上下文的请求会被发送到检索增强生成(RAG)API Gateway 端点。第 3 步
AWS Lambda 处理 NPC 文本请求,并将其发送至托管在 Amazon Bedrock 上的大型语言模型。第 4 步
基础大型语言模型和通过微调定制的大型语言模型提供生成的文本回应。第 5 步
将生成的文本回应发送到 Amazon Polly,该服务将返回回应的音频流。音频格式将返回给 NPC,以对话形式交付。第 6 步
对于 RAG NPC 请求,Lambda 会将请求提交给 Amazon Bedrock,来从嵌入模型中生成向量化表示。然后,Lambda 从 Amazon OpenSearch Service 向量索引中搜索相关信息。第 7 步
OpenSearch Service 具备相似度搜索功能,可根据来自 Amazon Bedrock 的对请求的向量化表示,提供相关的上下文,用以扩展生成的文本请求。
第 8 步
相关的上下文和原始文本请求被发送给在 Amazon Bedrock 上托管的大型语言模型,以提供生成的文本回应。然后,Amazon Polly 将回应交给 NPC,用于对话。第 9 步
游戏叙事编剧可以添加特定于游戏的训练数据,以利用 FMOps 流程创建自定义模型,或添加游戏背景信息数据,为向量数据库注入更多数据。
第 10 步
基础设施和 DevOps 工程师使用 AWS Cloud Development Kit(AWS CDK),以代码的形式管理架构,并使用 Amazon CloudWatch 监控该指南的流程。 -
LLMOps 管道
-
此架构图展示了在 AWS 上部署 LLMOps 管道的流程。
第 1 步
基础设施工程师使用 AWS CDK 构建和测试编码化的基础设施。
第 2 步
基础设施代码的更新会提交到 AWS CodeCommit 存储库,调用工具链 AWS 账户中的持续集成和持续部署(CI/CD)管道。第 3 步
基础设施资产(如 Docker 容器和 AWS CloudFormation 模板)经过编译,存储在 Amazon Elastic Container Registry(Amazon ECR)和 Amazon Simple Storage Service(Amazon S3)中。第 4 步
基础设施以 CloudFormation 堆栈的形式部署到质量保证(QA)AWS 账户,用于进行集成和系统测试。第 5 步
AWS CodeBuild 启动自动测试脚本,以验证架构是否功能正常,以及是否为生产部署做好了准备。第 6 步
成功完成所有系统测试后,基础设施将作为 CloudFormation 堆栈,自动部署到生产(PROD)AWS 账户中。
第 7 步
FMOps 管道资源也会作为 CloudFormation 堆栈部署到 PROD AWS 账户中。
-
FMOps 管道
-
该架构图展示了使用 FMOps 调整生成式人工智能模型的过程。
第 1 步
将游戏背景信息文本文档上传到 S3 存储桶。
第 2 步
文档对象上传事件调用 Amazon SageMaker Pipelines。第 3 步
该预处理步骤运行 SageMaker 处理作业,对文本文档进行预处理,供模型微调和模型评估使用。第 4 步
通过该回调步骤,SageMaker Pipelines 可以向 Amazon Simple Queue Service (Amazon SQS) 队列发送消息,然后与其他 AWS 服务集成。发送消息后,SageMaker Pipelines 会等待队列的回应。第 5 步
Amazon SQS 管理消息队列,协调 SageMaker Pipelines 和 AWS Step Functions 工作流程之间的任务。第 6 步
Step Functions 工作流程编排了微调大型语言模型的过程。模型微调完成后,Amazon SQS 会向 SageMaker Pipelines 回调步骤发送成功消息。
第 7 步
该模型评估步骤运行 SageMaker 处理作业,评估微调后模型的性能。调整后的模型存储在 Amazon SageMaker 模型注册表中。第 8 步
机器学习 (ML) 从业人员对调整后的模型进行审核,并批准其用于生产。第 9 步
调用 AWS CodePipeline 工作流程,将批准的模型部署到生产中。 -
向数据库注入数据
-
该架构图展示了为实现 RAG,通过对游戏背景信息进行向量化和存储,向数据库注入数据的过程。
第 1 步
数据科学家将游戏背景信息文本文档上传到 S3 存储桶。
第 2 步
对象上传操作调用 Lambda 函数,以启动 SageMaker 处理作业。
第 3 步
SageMaker 处理作业从 Amazon S3 下载文本文档,并将文本拆分成多个块。
第 4 步
然后,SageMaker 处理作业会将每个文本块提交给在 Amazon Bedrock 上托管的 Amazon Titan 嵌入模型,以创建文本块的向量化表示。第 5 步
接下来,SageMaker 处理作业会将文本块和向量化表示摄入到 OpenSearch Service 中,以用于 RAG。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
-
安全性
在将游戏背景信息文档导入向量,或微调 Amazon Bedrock 基础模型的同时,Amazon S3 不仅实现了传输中数据的加密访问,还实现了静态存储游戏背景信息文档的加密保护。通过为 NPC 和模型之间的所有数据落实基于 TLS 的加密,API Gateway 在虚幻引擎 Metahuman 和 Amazon Bedrock 基础模型之间增加了额外的安全层。最后,Amazon Bedrock 会实施自动滥用检测机制,可进一步识别和减少违反 AWS 可接受使用政策和 AWS 负责任人工智能政策的行为。
-
可靠性
API Gateway 管理 NPC 向基础模型发出的自动扩缩和节流请求。此外,由于整个基础设施使用 CI/CD 管道进行编码,因此您可以在多个 AWS 账户和多个 AWS 区域中并行预置资源。这样就能同时重新部署多个基础设施,帮助您克服 AWS 区域级别的故障。作为无服务器基础设施资源,API Gateway 和 Lambda 可让您专注于游戏开发,无需手动管理 API 请求的资源分配和使用模式。
-
性能效率
Lambda 和 API Gateway 等无服务器资源具有弹性和可扩展性,有助于提升指南中所述方案的性能效率。这样一来,通过遵循指南,将能够动态适应 NPC 客户端 API 调用次数的增加或减少。具有弹性和可扩展性的方法可帮助您调整资源规模,以实现最佳性能,并应对 API 请求的非预期增加或减少,无需手动管理预置的基础设施资源。
-
成本优化
遵循指南,为 CDK 应用程序编码,游戏开发人员将能够快速制作 NPC 角色的原型,并将其部署到生产环境中。 开发人员可以通过 API Gateway REST API 快速访问 Amazon Bedrock 基础模型,无需对其进行设计、构建和预训练。快速开发原型有助于减少从头开始构建基础模型所需的时间和运营成本。
-
可持续性
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。