亚马逊AWS官方博客

开始通过 Amazon SageMaker JumpStart 在 AWS 上使用生成式人工智能

目前,生成式人工智能正受到公众的广泛关注,人们围绕着 GPT4、ChatGPT、DALL-E2、Bard 等产品以及许多其他人工智能技术展开讨论。许多客户一直在询问有关 AWS 生成式人工智能解决方案的更多信息。这篇文章的目的就是满足这些需求。

这篇文章通过一个真实的客户使用案例概述了生成式人工智能,提供了简明的描述并概述了生成式人工智能的优点,引用了 AWS DeepComposer 用于创建新音乐作品的简单易学的演示,并概述了如何使用 Amazon SageMaker JumpStart 开始部署 GPT2、Stable Diffusion 2.0 和其他生成式人工智能模型。

生成式人工智能概述

生成式人工智能是人工智能的一个特定领域,专注于生成新材料。生成式人工智能是人工智能领域最令人兴奋的领域之一,有可能改变现有企业,让全新的商业理念进入市场。您可以将生成式技术用于以下方面:

  • 使用 Stable Diffusion 2.0 等模型创作新艺术作品
  • 使用 GPT2、Bloom 或 Flan-T5-XL 等模型撰写畅销书
  • 使用 AWS DeepComposer 中的 Transformers 技术谱写下一曲交响乐

AWS DeepComposer 是一款教育工具,有助于您通过音乐创作语言理解与机器学习(ML)相关的关键概念。要了解更多信息,请参阅使用生成式人工智能生成爵士摇滚乐曲

Stable Diffusion、GPT2、Bloom 和 Flan-T5-XL 都是机器学习模型。这些模型只是数学算法,需要经过训练才能识别数据中的模式。学习到模式后,这些模型就会被部署到端点上,准备进行称为推理的过程。推理模型会输入模型未见过的新数据,从而产生新的创造性材料。

例如,利用 Stable Diffusion 等图像生成模型,我们只需几个字就能创作出令人惊叹的插图。利用 GPT2、Bloom 和 Flan-T5-XL 等文本生成模型,我们可以从一个简单的人类句子中生成新的文学文章,甚至是书籍。

Autodesk 是使用 Amazon SageMaker 的 AWS 客户,Amazon SageMaker 有助于该客户的产品设计师整理成千上万次针对各种使用案例的视觉设计迭代,并使用机器学习来促使选择最佳设计。具体来说,该客户与 Edera Safety 合作,促进开发一种脊髓保护器,保护骑手在参加山地自行车等体育赛事时免受意外伤害。欲了解更多信息,请观看视频 AWS 机器学习实现设计优化

要进一步了解 AWS 客户在生成式人工智能和时尚方面的应用,请参阅使用 Amazon SageMaker 的生成式人工智能进行虚拟时尚造型

既然我们已经了解了生成式人工智能是怎么回事,那就让我们进入 JumpStart 演示,学习如何用人工智能生成新的文本或图像。

先决条件

Amazon SageMaker Studio 是 SageMaker 中的集成式开发环境(IDE),可在单一管理面板中为我们提供所需的所有机器学习功能。在运行 JumpStart 之前,我们需要设置 Studio。如果您已经运行了自己的 Studio 版本,可以跳过这一步。

在使用任何 AWS 服务之前,我们需要做的第一件事就是确保已经注册并创建了 AWS 账户。接下来是创建管理用户和组。有关这两个步骤的说明,请参阅设置 Amazon SageMaker 先决条件

下一步是创建 SageMaker 域。域可以设置所有存储空间,并允许添加用户以访问 SageMaker。有关更多信息,请参阅加入 Amazon SageMaker 域。此演示在 AWS 区域 us-east-1 中创建。

最后,启动 Studio。对于这篇文章,我们建议启动一个用户配置文件应用程序。有关说明,请参阅启动 Amazon SageMaker Studio

选择 JumpStart 解决方案

现在我们进入激动人心的部分。您现在应该登录到 Studio,看到类似于以下屏幕截图的页面。

在导航窗格中的 SageMaker JumpStart 下,选择模型、notebook、解决方案

您将看到一系列解决方案、根基模型和其他构件,这些内容有助于您开始处理特定模型或特定业务问题或使用案例。

如果您想在某个特定领域进行实验,可以使用搜索功能。或者,您也可以直接浏览构件,根据自己的需要找到相关的模型或业务解决方案。

例如,如果您对欺诈检测解决方案感兴趣,请在搜索栏中输入欺诈检测。

欺诈检测屏幕截图

如果您对文本生成解决方案感兴趣,请在搜索栏中输入文本生成。如果您想探索一系列文本生成模型,选择 Intro to JS – Text Generation(JS 简介 – 文本生成)Notebook 是一个不错的起点。

JS – 文本生成

让我们深入了解一下 GPT-2 模型的具体演示。

JumpStart GPT-2 模型演示

GPT 2 是一种语言模型,有助于根据给定的提示生成类似人类的文本。我们可以使用这种类型的 Transformer 模型来创作新句子,并协助我们实现自动写作。这可用于内容创作,如博客、社交媒体帖子和书籍。

GPT 2 模型是生成式预训练 Transformer 系列的一部分,是 GPT 3 的前身。在撰写本文时,GPT 3 被用作 OpenAI ChatGPT 应用程序的基础。

要开始探索 JumpStart 中的 GPT-2 模型演示,请完成以下步骤:

  1. 在 JumpStart 上,搜索并选择 GPT 2
  2. 部署模型部分中,展开部署配置
  3. 对于 SageMaker 托管实例,请选择您的实例(在这篇文章中,我们使用 ml.c5.2xlarge)。

不同类型的机器附带不同的价位。在撰写本文时,我们选择的 ml.c5.2xlarge 每小时产生的费用不到 0.50 美元。有关最新定价,请参阅 Amazon SageMaker 定价

  1. 对于端点名称,输入 demo-hf-textgeneration-gpt2。
  2. 选择 Deploy(部署)。

端点名称和部署

等待机器学习端点部署完成(最长 15 分钟)。

  1. 部署端点后,选择打开 Notebook

端点状态

您会看到一个类似于以下屏幕截图的页面。
Python 代码

我们用于演示的文档是一个 Jupyter notebook,其中包含所有必要的 Python 代码。请注意,此屏幕截图中的代码可能与您的代码略有不同,因为 AWS 会不断更新这些 notebook,确保它们安全、无缺陷并提供最佳客户体验。

  1. 单击第一个单元格,然后按 Ctrl+Enter 运行代码块。

代码块 1

代码块左侧出现星号(*),然后变成数字。星号表示代码正在运行,数字出现时表示代码已完成。

  1. 在下一个代码块中,输入一些示例文本,然后按 Ctrl+Enter

代码块 2

  1. 在第三个代码块中,按 Ctrl+Enter 即可运行该代码块。

大约 30-60 秒后,您将看到推理结果。

对于输入文本“Once upon a time there were 18 sandwiches,”,我们会得到以下生成的文本:

Once upon a time there were 18 sandwiches, four plates with some salad, and three sandwiches with some beef.One restaurant was so nice that the food was made by hand.There were people living at the beginning of the time who were waiting so that

对于输入文本“And for the final time Peter said to Mary,”,我们会得到以下生成的文本:

And for the final time Peter said to Mary that he was a saint.

11 But Peter said that it was not a blessing, but rather that it would be the death of Peter.And when Mary heard of that Peter said to him,

您可以尝试多次运行第三个代码块,您会发现模型每次都会做出不同的预测。

要使用一些高级功能定制输出,请向下滚动到第四个代码块进行实验。

要了解有关文本生成模型的更多信息,请参阅在 Amazon SageMaker JumpStart 上使用 Bloom 和 GPT 模型运行文本生成

清理资源

在我们继续之前,别忘了在完成后删除端点。在上一个选项卡中的删除端点下,选择删除

删除端点

如果您不小心关闭了此 notebook,也可以通过 SageMaker 控制台删除端点。在导航窗格的推理下,选择端点

选择您使用的端点,然后在操作菜单上选择删除

删除端点

现在我们已经了解了如何使用第一个 JumpStart 解决方案,让我们来看看如何使用 Stable Diffusion 模型。

JumpStart Stable Diffusion 模型演示

我们可以使用 Stable Diffusion 2 模型从一行简单的文本生成图像。这可用于为社交媒体帖子、宣传材料、专辑封面或任何需要创意插图的内容生成图像。

  1. 返回 JumpStart,然后搜索并选择 Stable Diffusion 2

Stable Diffusion 2

  1. 部署模型部分中,展开部署配置
  2. 对于 SageMaker 托管实例,请选择您的实例(在这篇文章中,我们使用 ml.g5.2xlarge)。
  3. 对于端点名称,输入 demo-stabilityai-stable-diffusion-v2
  4. 选择 Deploy(部署)。

由于该模型较大,部署时间可能长达 25 分钟。准备就绪后,端点状态显示为服务中

服务中

  1. 选择打开 Notebook 以打开包含 Python 代码的 Jupyter notebook。

Python 代码

  1. 运行第一个和第二个代码块。
  2. 在第三个代码块中,更改文本提示,然后运行该单元格。

代码块 1

等待大约 30-60 秒,图像就会出现。下图基于我们的示例文本。

输出图片

同样,您可以在下一个代码块中使用高级功能。所创造的画面每次都不一样。

清理资源

同样,别忘了删除端点。这次我们使用的是 ml.g5.2xlarge,因此产生的费用比以前略高。在撰写本文时,每小时只需 1 美元多一点。

最后,让我们来看看 AWS DeepComposer。

AWS DeepComposer

AWS DeepComposer 是学习生成式人工智能的好方法。此服务允许您使用模型中的内置旋律来生成新形式的音乐。您使用的模型决定了输入旋律的转换方式。

如果您习惯于参加 AWS DeepRacer 日活动来协助员工了解强化学习,那么可以考虑使用 AWS DeepComposer 来增强和强化这一天的活动,以了解生成式人工智能。

有关本文中三个模型的详细解释和简单演示,请参阅使用生成式人工智能生成爵士摇滚乐曲

查看以下使用 AWS DeepComposer 上传到 SoundCloud 的精彩示例

我们很乐意看到您的实验,请随时通过社交媒体(@digitalcolmer)与我们联系,分享您的心得和实验。

总结

在这篇文章中,我们谈到了生成式人工智能的定义,并通过一个 AWS 客户案例进行了说明。然后,我们向您介绍了如何开始使用 Studio 和 JumpStart,并向您展示了如何开始使用 GPT 2 和 Stable Diffusion 模型。最后,我们简要概述了 AWS DeepComposer。

要进一步探索 JumpStart,请尝试使用自己的数据对现有模型进行微调。有关更多信息,请参阅使用 Amazon SageMaker JumpStart 进行增量训练。有关微调 Stable Diffusion 模型的信息,请参阅使用 Amazon SageMaker JumpStart 微调文本到图像的 Stable Diffusion 模型

要了解有关 Stable Diffusion 模型的更多信息,请参阅在 Amazon SageMaker JumpStart 上使用 Stable Diffusion 模型从文本生成图像

我们没有介绍任何有关 Flan-T5-XL 模型的信息,因此要了解更多信息,请参阅以下 GitHub 存储库Amazon SageMaker Examples 存储库还包括 GitHub 上一系列可用的 notebook,适用于包括 JumpStart 在内的各种 SageMaker 产品,涵盖一系列不同的使用案例。

要通过一系列免费数字资产了解有关 AWS 机器学习的更多信息,请查看我们的 AWS 机器学习提升指南。您还可以尝试我们的免费 ML 学习计划,在现有知识的基础上再接再厉,或者有一个明确的起点。要参加讲师指导的课程,我们强烈推荐以下课程:

在人工智能/机器学习领域,这确实是一个激动人心的时刻。AWS 随时为您的机器学习之旅提供支持,因此请在社交媒体上与我们联系。我们期待看到您在未来几个月中使用各种机器学习服务进行学习、实验并从中获得乐趣,我们也很高兴有机会成为您机器学习之旅的指导员。


Original URL: https://aws.amazon.com/blogs/machine-learning/get-started-with-generative-ai-on-aws-using-amazon-sagemaker-jumpstart/

关于作者

Paul Colmer 是 Amazon Web Services 的高级技术培训师,专门研究机器学习和生成式人工智能。他热衷于通过引人入胜的故事讲述、经验分享和知识传授,协助客户、合作伙伴和员工发展和成长。他在 IT 行业从业超过 25 年,专注于敏捷文化实践和机器学习解决方案。Paul 是伦敦音乐学院院士和英国计算机协会的会员。