生成式AI:AWS平台与提示工程的深度解析
立即解锁
发布时间: 2025-09-03 00:28:27 阅读量: 26 订阅数: 19 AIGC 


生成式AI实战:从理论到应用
# 生成式AI:AWS平台与提示工程的深度解析
## 1. AWS用于生成式AI的优势
在当今的科技领域,生成式AI正展现出巨大的潜力,而AWS为生成式AI工作负载提供了诸多关键优势,具体如下:
- **增加灵活性和选择**:AWS不仅能让用户利用一系列服务和功能来满足每个用例的需求,还在生成模型方面提供了丰富的选择。这使得用户既能为特定用例选择合适的模型,又能不断评估和更换新模型,以利用新的功能。
- **企业级安全和治理能力**:AWS服务具备对受监管最严格的行业至关重要的安全和治理能力。例如,SageMaker模型训练、SageMaker模型部署和Amazon Bedrock支持围绕数据保护、网络隔离、受控访问和授权以及威胁检测等关键功能。
- **先进的生成式AI能力**:AWS在生成式AI模型方面提供了多种选择,包括亚马逊自有模型、Amazon Bedrock中的第三方提供商模型,以及通过Amazon SageMaker JumpStart提供的开源和专有模型。此外,AWS还投资于AWS Trainium和AWS Inferentia等基础设施,用于大规模训练和部署生成模型。
- **低运营开销**:许多针对生成式AI的AWS服务和功能通过托管基础设施、无服务器产品或打包解决方案提供。这使用户能够专注于生成式AI模型和应用程序,而不是管理基础设施,并能快速使用即用型解决方案和服务。
- **持续创新的悠久历史**:AWS在云基础设施和人工智能领域拥有多年经验,建立了快速创新的历史。
### 1.1 AWS服务支持生成式AI的范围
AWS支持生成式AI的服务和功能堆栈涵盖了广度、深度和可扩展性,能够支持各种用例,无论是模型提供商、调优者还是消费者。除了AWS上的生成式AI功能外,更广泛的AWS服务集还支持构建自定义生成式AI应用程序。
### 1.2 构建生成式AI应用程序
生成式AI应用程序不仅仅包括生成模型,还需要多个组件来构建可靠、可扩展和安全的应用程序,并将其提供给该应用程序的消费者,无论是最终用户还是其他系统。使用打包的生成式AI服务(如Amazon CodeWhisperer)时,所有这些都被完全抽象并提供给最终用户。然而,构建自定义生成式AI应用程序通常需要一系列服务,AWS提供了构建端到端生成式AI应用程序所需的广泛服务。
以下是AWS用于支持生成式AI应用程序构建的部分服务示例表格:
| 服务名称 | 功能描述 |
| --- | --- |
| SageMaker | 提供模型训练、部署等功能 |
| Amazon Bedrock | 支持多种生成式AI模型 |
| Amazon CodeWhisperer | 代码生成辅助工具 |
### 1.3 生成式AI项目生命周期
一个典型的生成式AI项目生命周期包括多个阶段,如下所示:
1. **定义用例**:明确项目的目标和需求。
2. **提示工程**:优化输入提示以获得更好的输出。
3. **选择基础模型**:根据用例选择合适的模型。
4. **微调**:对模型进行调整以适应特定任务。
5. **与人类价值观对齐**:确保模型输出符合人类价值观。
6. **部署模型**:将训练好的模型投入使用。
7. **与外部数据源和代理集成**:使模型能够与外部资源交互。
以下是生成式AI项目生命周期的mermaid流程图:
```mermaid
graph LR
A[定义用例] --> B[提示工程]
B --> C[选择基础模型]
C --> D[微调]
D --> E[与人类价值观对齐]
E --> F[部署模型]
F --> G[与外部数据源和代理集成]
```
## 2. 提示工程和上下文学习
### 2.1 提示和完成
生成式AI任务通常涉及基于文本的输入,这种输入被称为提示,它包括指令、上下文和用于完成给定任务的任何约束。模型根据提示生成“完成”结果,该结果通常是文本,但也可以是模型训练输出的任何内容类型,如图像、视频或音频。
### 2.2 令牌
虽然基于文本的提示和完成由人类实现和解释为自然语言句子,但生成式模型将它们转换为令牌序列,即单词片段。通过以不同方式组合这些令牌,模型能够使用相对较少的令牌表示指数级数量的单词,模型词汇表中的令牌数量通常在30,000 - 100,000个左右。一般来说,每个单词大约有1.3个令牌,但这个乘数可能会有所不同。在估算使用基于令牌定价的服务成本时,可以使用1.3这个乘数,因为这些服务通常按每百万令牌收费。
### 2.3 提示工程
提示工程是一项新的、令人兴奋的技能,专注于如何更好地理解和应用生成式模型到任务和用例中。有效的提示工程有助于充分发挥生成式AI模型和应用程序的潜力。输入到生成式模型的内容通常称为提示,对于大语言模型,提示可以是文本;对于多模态模型,提示可以是其他模态,如图像、视频。这个提示在推理时传递给模型以生成“完成”结果。
#### 2.3.1 提示结构
一个更完整的提示结构通常包括以下部分:
- **指令**:传递给模型的一段文本,描述要模型执行的任务。编写有效的指令需要清晰、具体,并提供相关上下文,以引导模型朝着期望的输出方向发展。例如:
```
Prompt:
User: Answer the following question in one sentence.
Who won the 2016 baseball World Series?
Completion:
Assistant: The Chicago Cubs won the 2016 baseball World Series, defeating the
Cleveland Indians in a thrilling seven-game series that ended with a final
score of 8-7 in extra innings.
```
- **上下文**:传递给模型的相关信息或细节,帮助模型更好地理解任务或主题,并做出适当的响应。上下文可以包括先前的对话、背景信息、特定用户请求或任何为模型提供参考框架的数据。一种流行的引导模型响应的技术是将示例提示 - 完成对作为上下文信息共享,根据提供的示例数量,这被称为单样本或少样本推理。模型从这些示例中学习并相应调整其响应的能力称为“上下文学习”。例如:
```
Example 2-1. Instruction
User: Answer the question using the format shown in the context.
Example 2-2. Context
Who won the baseball World Series in 2022?
The Houston Astros won the World Series in 2022. They defeated the Philadelphia
Phillies.
Who won the baseball World Series in 2021?
The Atlanta Braves won the World Series in 2021. They defeated the Houston Astros.
Who won the baseball World Series in 2020?
The Los Angeles Dodgers won the World Series in 2020. They defeated the Tampa Bay
Rays.
Example 2-3. Input data and output indicator
Who won the baseball World Series in 2016?
Assistant:
```
完成结果为:
```
The Chicago Cubs won the World Series in 2016. They defeated the Cleveland
Indians.
```
#### 2.3.2 不同模型的上下文窗口大小
每个模型都有固定的上下文窗口大小,例如:
| 模型名称 | 上下文窗口大小 |
| --- | --- |
| FLAN - T5 | 512个令牌 |
| Anthropic’s Claude | 100,000个令牌 |
| Falcon | 2,048个令牌 |
| Llama 2 | 4,096个令牌 |
### 2.4 少样本推理的上下文学习
一种帮助生成式模型为提示生成更好完成结果的强大技术是在提示的上下文部分包含几个提示 - 完成对,这称为少样本推理的上下文学习。需要注意的是,上下文学习不会以任何方式修改模型,模型会根据提示中提供的上下文在单次请求期间进行即时调整或学习。
#### 2.4.1 不同类型的推理
- **零样本推理**:不向上下文传递任何示例,模型依靠其预先存在的知识和泛化能力进行推理或生成适当的输出,即使遇到从未见过的任务或问题。例如:
```
Prompt:
User: Who won the 2016 baseball World Series?
Completion:
Assistant: The Chicago Cubs won the 2016 baseball World Series, defeating the
Cleveland Indians in a thrilling seven-game series. It was the Cubs' first
World Series title in 108 years, ending the longest championship drought in
Major League Baseball history.
```
- **单样本推理**:向上下文传递一个提示 - 完成对。例如:
```
Prompt:
User: Answer the question using the format shown in the context.
Who won the baseball World Series in 2022?
The Houston Astros won the World Series in 2022. They defeated the Philadelphia
Phillies.
Who won the 2016 baseball World Series?
Assistant:
```
一般来说,较大的模型通常能够更好地理解语言(对于基于图像的模型则是感知),并且在训练阶段未见过的任务上具有更好的泛化能力,在零样本推理方面表现出色。而较小的模型通常只擅长少数任务,通常是与训练任务相似的任务,但由于计算所需的层数和参数较少,推理速度通常更快。
## 2.5 上下文学习的应用与效果对比
为了更清晰地展示不同类型推理在上下文学习中的应用和效果差异,我们可以通过表格进行对比:
| 推理类型 | 上下文示例数量 | 特点 | 示例完成结果 |
| --- | --- | --- | --- |
| 零样本推理 | 0 | 模型依靠自身先验知识和泛化能力,完成结果可能包含额外信息 | Assistant: The Chicago Cubs won the 2016 baseball World Series, defeating the Cleveland Indians in a thrilling seven - game series. It was the Cubs' first World Series title in 108 years, ending the longest championship drought in Major League Baseball history. |
| 单样本推理 | 1 | 模型根据一个示例调整输出格式 | 参考之前单样本推理示例,完成结果符合示例格式 |
| 少样本推理 | 多个 | 模型通过多个示例学习,输出更符合期望格式和要求 | The Chicago Cubs won the World Series in 2016. They defeated the Cleveland Indians. |
以下是不同推理类型在上下文学习中的mermaid流程图:
```mermaid
graph LR
A[输入提示] --> B{推理类型}
B -->|零样本推理| C[模型先验知识和泛化]
B -->|单样本推理| D[参考一个示例]
B -->|少样本推理| E[参考多个示例]
C --> F[生成完成结果]
D --> F
E --> F
```
### 2.6 常用生成参数
在使用生成式模型时,还有一些常用的生成参数可以控制模型的创造力,以下是部分常见参数介绍:
| 参数名称 | 作用 | 取值影响 |
| --- | --- | --- |
| 温度(Temperature) | 控制生成文本的随机性 | 较高的值会使输出更随机、多样;较低的值会使输出更确定、保守 |
| 前k个(Top k) | 限制模型在生成时考虑的词汇范围 | 较小的k值会使模型集中在概率较高的词汇上,输出更聚焦;较大的k值会使模型考虑更多词汇,输出更丰富 |
## 3. 总结与实践建议
### 3.1 关键要点总结
- AWS为生成式AI提供了多方面的优势,包括灵活性、安全治理、先进能力、低运营开销和持续创新等,其服务栈能支持各种生成式AI用例和应用程序的构建。
- 提示工程是发挥生成式模型潜力的重要技能,涉及提示结构设计、上下文学习等技术,不同的推理类型和生成参数会影响模型的输出结果。
### 3.2 实践建议
- **选择合适的平台和模型**:根据具体的用例需求,结合AWS提供的多种模型选择,挑选最适合的基础模型。同时,利用AWS的灵活性,不断评估和更换新模型以获取更好的效果。
- **优化提示工程**:
- 设计清晰、具体的指令,为模型提供足够的上下文信息,以引导其生成符合期望的输出。
- 尝试不同的推理类型,如零样本、单样本和少样本推理,根据实际情况选择最有效的方式。
- 调整常用生成参数,如温度和前k个,以控制模型的创造力和输出的多样性。
- **持续学习和创新**:由于生成式AI领域发展迅速,应持续关注AWS的创新服务和功能,以及行业内的最新研究成果,不断优化生成式AI项目的实施过程。
以下是实践建议的mermaid流程图:
```mermaid
graph LR
A[明确用例需求] --> B[选择平台和模型]
B --> C[优化提示工程]
C --> D[持续学习和创新]
D --> E[提升项目效果]
```
通过以上对生成式AI在AWS平台的应用以及提示工程相关知识的介绍,希望能帮助读者更好地理解和运用生成式AI技术。在实际操作中,不断实践和探索,结合具体场景灵活运用这些方法和技巧,将能充分发挥生成式AI的潜力,实现更有价值的应用。
0
0
复制全文
相关推荐









