Amazon SageMaker 部署 AIGC 应用:训练、优化、部署及 Web 集成
背景
Amazon SageMaker 汇集广泛采用的亚马逊云科技机器学习和分析功能,统一访问所有数据,为分析和人工智能提供一体式体验。它支持模型开发、生成式人工智能、数据处理和 SQL 分析,借助强大的生成式人工智能软件开发助手 Amazon Q 开发者版提升效率。无论数据存储在数据湖、数据仓库,还是第三方或联合数据来源中,均可访问所有数据,同时内置治理功能可满足企业安全需求。
概述
本文将通过 Amazon SageMaker Notebook 实例完成 AIGC 模型的测试与验证,再将模型部署至 Amazon SageMaker Inference Endpoint 实现服务化,最后利用 Amazon Cloud9 调试 Web 应用,并调用已部署的 SageMaker Inference Endpoint 实现 AIGC 模型的实际应用。
Amazon SageMaker 部署 AIGC 模型
步骤一:创建亚马逊云科技账户
- 注册亚马逊云科技账号。
- 进入注册页面,输入电子邮件地址进行注册。
- 设置用户信息:输入根用户密码,选择个人或企业。
- 添加付款信息(必须先添加有效的支付方式才能继续注册)。
- 用户信息验证(选择接收验证码的联系方式)。
- 客户验证与激活账户。
- 注册成功。
步骤二:创建 Amazon SageMaker Notebook 实例
- 登录亚马逊云科技控制台,进入 SageMaker 服务。
- 进入笔记本实例控制面板,点击笔记本实例。
- 创建笔记本实例,配置基本信息(名称、实例类型、存储大小)。
- 配置笔记本实例权限,创建 IAM 角色用于调用 SageMaker 和 S3 等服务。
- 检查配置信息,确认无误后创建笔记本实例。
- 等待实例创建成功,进入 Jupyter Notebook。
- 构建 Stable-Diffusion 环境(Jupyter Lab 控制台,选择 Terminal)。
- 准备 Notebook 代码文件,内核选择 conda_pytorch_p39。
步骤三:Amazon Cloud9 构建前后端 Web 应用
- 亚马逊云科技控制台进入 Cloud9 服务,创建 Cloud9 环境。
- 配置 Cloud9 环境名字,其他部分配置保持默认。
- 进入 Amazon Cloud9 环境,在控制台中准备 Web 应用程序代码。
- SampleWebApp 文件夹包含以下内容:后端代码 app.py(接收前端请求并调用 SageMaker Endpoint 将文字生成图片)、两个前端 html 文件 image.html 和 index.html。
- Amazon Cloud9 上安装 Flask 和 boto3。
- 运行 app.py,点击 Amazon Cloud9 上方的 Run 按钮运行代码。
- 预览 web 前端页面,打开 web 页面。
- 输入信息生成图片(自定义图片长度和宽度,Prompt 输入框处输入语句或描绘性词汇生成图片)。详细描述需求信息,以便 AI 绘制出的图片更贴合预期,例如通过描述性词语表明图片的整体风格。
- 页面展示结果。
Amazon SageMaker 工作原理
Amazon SageMaker 全托管机器学习服务,通过整合数据处理、模型训练、超参数优化、部署推理的全流程能力,支持开发者使用 Notebook 实例快速调试 AIGC 模型。
- 完全托管服务:用户无需操心服务器等基础设施的管理,SageMaker 负责处理硬件资源的配置、管理和维护。
- 集成开发环境强大:提供基于 Web 的可视化界面,集成了数据探索、模型训练、调试、评估和部署等所有机器学习开发步骤。
- 支持自动模型构建:依据用户提供的数据自动构建、训练和调整最佳机器学习模型。
总结
本文通过创建亚马逊云科技账户、搭建 SageMaker Notebook 实例测试 Stable-Diffusion 模型、利用 Cloud9 构建 Web 应用并调用模型 Endpoint,实现 AIGC 应用从训练到前端集成的全流程实践,展现 SageMaker 全托管、集成开发及自动化模型构建的核心优势,降低 AIGC 工程化门槛。建议在使用服务后,若不再需要请在控制台关闭服务,以防产生费用。


