[搜索引擎優化副標題]
本指引可協助遊戲開發人員針對其遊戲和相關基礎設施,自動執行建立非玩家角色 (NPC) 的程序。本指引使用 Unreal Engine MetaHuman 以及基礎模型 (FM),例如大型語言模型 (LLM) Claude 2 和 Llama 2,來提高 NPC 對話技能。如此能夠在指令碼化的對話之外,讓 NPC 產生對每個玩家來說都是獨一無二的動態回應。本指引藉助大型語言模型維運 (LLMOps) 方法,不斷整合和部署生成式 AI 應用程式以及微調大型語言模型,可加快原型設計和縮短交付時間。同時協助確保 NPC 能夠完全存取安全的遊戲背景故事知識庫。
本指引包含四個部分:概觀架構、LLMOps 管道架構、基礎模型維運 (FMOps) 架構和資料庫水合架構。
請注意:[免責聲明]
架構圖
![](https://d1.awsstatic.com/apac/events/2021/aws-innovate-aiml/2022/eng/innovate-aiml-22-UI_Gradient-Divider.082bb46e8d9654e48f62bf018e131dd8ec563c4e.jpg)
-
概觀
-
LLMOps 管道
-
FMOps 管道
-
資料庫水合
-
概觀
-
此架構圖顯示了在 AWS 上託管生成式 AI NPC 的大致工作流程。
步驟 1
遊戲用戶端與執行在 Unreal Engine 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 調校生成式 AI 模型的過程。
步驟 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 的工作流程負責大型語言模型 (LLM) 細部調整的過程。模型微調後, 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 處理任務將文字區塊和向量表示擷取到用於 RAG 的 OpenSearch Service 中。
Well-Architected 支柱
![](https://d1.awsstatic.com/apac/events/2021/aws-innovate-aiml/2022/eng/innovate-aiml-22-UI_Gradient-Divider.082bb46e8d9654e48f62bf018e131dd8ec563c4e.jpg)
AWS Well-Architected Framework 可協助您了解在雲端建立系統時所做決策的利弊。該架構的六根支柱讓您能夠學習設計和操作可靠、安全、高效、經濟高效且永續的系統的架構最佳實務。使用 AWS Well-Architected Tool (在 AWS 管理主控台中免費提供),您可以透過回答每根支柱的一組問題來針對這些最佳實務審查您的工作負載。
上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。
-
卓越營運
-
安全性
Amazon S3 除了對傳輸中的資料進行加密存取之外,還為靜態儲存遊戲背景故事文件提供加密保護,同時將遊戲背景故事文件擷取到向量中或微調 Amazon Bedrock 基礎模型。API Gateway 透過為 NPC 和模型之間的所有資料提供以 TLS 為基礎的加密,在 Unreal Engine Metahuman 和 Amazon Bedrock 基礎模型之間新增額外的安全層。最後,Amazon Bedrock 實作自動濫用偵測機制,以進一步識別並減少違反 AWS 可接受使用政策和 AWS Responsible AI 政策的情況。
-
可靠性
API Gateway 管理 NPC 向 FM 發出的請求的自動擴展和限流。此外,由於整個基礎設施是使用 CI/CD 管道進行編碼的,因此您可以跨多個 AWS 帳戶和多個 AWS 區域平行佈建資源。這支援多個基礎設施同時重新部署情境,可協助您克服 AWS 區域級故障。API Gateway 和 Lambda 作為無伺服器基礎設施資源,可讓您專注於遊戲開發,而無需手動管理 API 請求的資源分配和使用模式。
-
效能達成效率
無伺服器資源 (例如 Lambda 和 API Gateway) 透過提供彈性和可擴展性來提高指引的效能效率。這使得指引能夠動態適應 NPC 用戶端 API 呼叫的增加或減少。彈性且可擴展的方法可協助您調整資源大小,以取得最佳效能並適應不可預見的 API 請求增加或減少,並且無需手動管理預先佈建的基礎設施資源。
-
成本最佳化
將指引編碼為 CDK 應用程式使遊戲開發者能夠快速製作原型,並將其 NPC 角色部署到生產中。 開發人員可以藉助 API Gateway REST API 快速存取 Amazon Bedrock FM,而無需對其進行設計、建置和預訓練。藉助快速原型可減少與從頭開始建立 FM 相關的時間和營運成本。
-
永續發展
免責聲明
範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。
本指引中對第三方服務或組織的參考並不意味著 Amazon 或 AWS 與第三方之間的認可、贊助或聯繫。AWS 的指引是技術起點,您可以在部署架構時自訂與第三方服務的整合。