1.4 AWS上的生成式AI
本节将概述AWS提供的专门构建的生成式AI服务和功能栈,如图1-4所示。
图1-4 支持生成式AI的AWS服务和对应功能
模型提供商包括那些正在构建或预训练基础模型的机构,这些模型需要访问强大且性价比高的计算和存储资源。为此,AWS提供了一系列框架和基础设施来构建基础模型。这包括针对生成式AI优化的计算实例,诸如Amazon EC2的自行管理选项,以及像Amazon SageMaker这样的托管选项,用于模型训练和模型部署。此外,AWS还提供了专门为训练和部署生成式模型而优化的加速器。
AWS Trainium是一个专为高性能、低成本训练的工作负载而打造的加速器。同样,AWS Inferentia也是专为高吞吐量、低成本推理而打造的。AWS上针对生成式AI优化的基础设施选项被模型提供商及模型微调人员使用。
模型微调人员包括那些将基础模型调整或对齐到其特定领域、用例和任务的从业者。这通常不仅需要访问计算和存储资源,还需要通过多种工具来轻松获取各种基础模型(而无须管理底层基础设施),从而实现这些特定任务。除了AWS上可用的各种优化后的基础设施以外,微调人员还可以直接访问广泛的流行基础模型,以及用于调整或对齐基础模型的工具,包括Amazon Bedrock和Amazon SageMaker JumpStart内置的功能。
Amazon Bedrock是一项全托管服务,提供对Amazon(如Titan)和热门第三方提供商(如AI21 Labs、Anthropic、Cohere和Stability AI)的模型的访问功能。这使得你可以快速开始试验可用的基础模型。Bedrock还允许你使用自己的数据私有化地定制基础模型,并且将这些模型集成和部署到生成式AI应用程序中。用于Bedrock的Agent是全托管的,它支持将外部专有数据源和模型执行任务的能力相结合,以进行定制化。
你可以通过Amazon SageMaker JumpStart中的模型中心将基础模型部署到Amazon SageMaker endpoint,提供对公开和私有基础模型的访问。此外,SageMaker JumpStart还提供使用SageMaker模型训练组件对可用模型进行微调的功能。针对模型中心的这些可用模型,SageMaker JumpStart会自动生成用于部署和微调的笔记本代码。
Amazon SageMaker通过Amazon SageMaker Studio笔记本中的托管环境,为使用基础模型提供了额外的可扩展性,而无论该模型是否在SageMaker JumpStart中,你都可以在Amazon SageMaker Studio中开发任何可访问的模型,并不受限于SageMaker JumpStart。
我们通常使用额外数据来增强模型,以适配特定的用例,任务或领域。AWS为存储向量嵌入的向量存储提供了多种实现选项。向量存储和嵌入常用于检索增强生成(Retrieval-Augmented Generation,RAG),以高效地从外部数据源检索相关信息,增强与生成式模型一起使用的数据。
可用的选项包括用于Amazon OpenSearch Serverless的向量引擎及可用于Amazon OpenSearch Service的k-NN插件。此外,Amazon Aurora PostgreSQL和Amazon Relational Database Services(RDS)for PostgreSQL都通过内置的pgvector提供向量存储功能。
如果你希望针对特定领域的数据实现完全托管的语义搜索体验,可以使用Amazon Kendra,它会为你创建和管理向量嵌入。
如果你想通过端到端生成式AI应用程序访问生成式模型,AWS提供了多种选项。在AWS上,你可以使用兼具广度和深度的服务来构建自己的生成式AI应用程序;你也可以利用打包的、完全托管的服务来实现。
例如,Amazon CodeWhisperer提供了支持多种编程语言的生成式编码功能,支持诸如代码生成、主动漏洞扫描、代码修复建议、自动建议代码归属等生产力增强功能。
AWS HealthScribe是另一项面向医疗保健行业的生成式AI服务,可以根据患者与临床医生的对话自动生成临床记录。
Amazon QuickSight Q包括内置的生成功能,允许用户使用自然语言询问数据问题,并接收文本答案或可视化结果,使用户能够更深入地了解他们的数据。
本书主要关注1.3节中涉及的部分角色和任务,以及构建生成式AI应用程序。当你继续深入了解生成式AI项目生命周期的特定领域时,可以将本节推荐的服务如Amazon SageMaker JumpStart和Amazon Bedrock作为参考。
现在,我们已经介绍了一些AWS提供的生成式AI核心服务,接下来,我们来看看使用AWS构建生成式AI应用程序的一些优势。