- AWS 生成式 AI 教程
- AWS 上的生成式 AI - 首页
- AWS 上的生成式 AI - 简介
- AWS 上的生成式 AI - 环境设置
- AWS 上的生成式 AI - SageMaker
- AWS 上的生成式 AI - Lambda
- AWS 上的生成式 AI - EC2
- AWS 上的生成式 AI - 监控和优化
- AWS 上的生成式 AI 资源
- AWS 上的生成式 AI - 快速指南
- AWS 上的生成式 AI - 资源
- AWS 上的生成式 AI - 讨论
AWS 上的生成式 AI - EC2
Amazon EC2(弹性计算云)是一种多用途计算服务,提供虚拟机来运行各种类型的负载。AWS EC2 是训练、部署和运行这些模型(特别是需要高性能计算 (HPC) 资源的生成式 AI 模型)的重要组成部分。
AWS EC2 提供高计算能力、可扩展性、灵活性以及成本效益。这些强大的功能可用于训练和部署生成式 AI。
使用 AWS Elastic Inference 和 EC2 实例
AWS Elastic Inference 可用于生成式 AI 模型,以便在无需处理专用 GPU 服务器和其他实例的情况下扩展 GPU 推理。
AWS Elastic Inference 允许我们将所需的 GPU 能力附加到 EC2、AWS SageMaker 或 EC2 实例。
实现示例
在以下示例中,我们将使用 AWS Elastic Inference 与 EC2 实例和预训练的生成式 AI 模型(如 GPT 或 GAN)一起使用。
实现此示例的先决条件如下:
- 一个弹性推理加速器(可附加到 EC2)。
- 一个您要用于推理的预训练生成式 AI 模型(例如,GAN、GPT)。
- AWS CLI 和支持 Elastic Inference 的 EC2 实例深度学习 AMI。
现在,请按照以下步骤操作:
步骤 1:使用 EC2 设置弹性推理
当您为推理任务启动 EC2 实例时,您需要附加一个弹性推理加速器。让我们看看如何做到这一点:
要使用弹性推理启动 EC2 实例,请执行以下操作:
- 首先,转到 EC2 控制台并点击“启动实例”。
- 选择支持 Elastic Inference 的 AMI。例如,深度学习 AMI。
- 接下来,选择实例类型(例如,t2.medium)。但请记住,不要选择 GPU 实例,因为您将附加弹性推理加速器。
- 最后,在“弹性推理加速器”下,选择合适的加速器(例如,eia2.medium,它提供适度的 GPU 能力)。
启动 EC2 实例后,在启动 EC2 实例时附加弹性推理加速器,以提供推理所需的 GPU 能力。
步骤 2:安装必要的库
将支持 Elastic Inference 的 EC2 实例附加并运行后,安装以下 Python 库:
# Update and install pip sudo apt-get update sudo apt-get install -y python3-pip # Install torch, torchvision, and the AWS Elastic Inference Client pip3 install torch torchvision pip3 install awscli --upgrade pip3 install elastic-inference
步骤 3:加载预训练的生成式 AI 模型(例如,GPT)
在此示例中,我们将使用来自 Hugging Face 的预训练 GPT-2 模型(生成式预训练 Transformer)。
import torch from transformers import GPT2Tokenizer, GPT2LMHeadModel # Load pre-trained GPT-2 model and tokenizer from Hugging Face tokenizer = GPT2Tokenizer.from_pretrained("gpt2") model = GPT2LMHeadModel.from_pretrained("gpt2") # Move the model to the Elastic Inference accelerator (if available) if torch.cuda.is_available(): model.to('cuda') # Set the model to evaluation mode for inference model.eval()
模型现已加载并准备使用 Elastic Inference 执行推理。
步骤 4:定义一个函数以运行实时推理
我们定义一个函数来使用 GPT-2 模型生成文本。
def generate_text(prompt, max_length=50): # Tokenize the input prompt inputs = tokenizer.encode(prompt, return_tensors="pt") # Move input to GPU if Elastic Inference is available if torch.cuda.is_available(): inputs = inputs.to('cuda') # Generate text using GPT-2 with torch.no_grad(): outputs = model.generate(inputs, max_length = max_length, num_return_sequences = 1) # Decode and return the generated text generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) return generated_text
步骤 5:测试模型
让我们通过运行推理来测试模型。此函数将根据提示生成文本并返回生成的文本。
prompt = "In the future, artificial intelligence will" generated_text = generate_text(prompt) print("Generated Text:\n", generated_text)
广告