
- 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 - SageMaker
SageMaker 是一款完全託管的 機器學習 (ML) 服務,專門設計用於簡化構建、訓練和部署機器學習模型的過程。它還包括 生成式 AI (Gen AI) 模型。
像 GPT(生成式預訓練轉換器)和 GAN(生成式對抗網路)這樣的生成式 AI 模型,需要大量的計算資源才能有效地進行訓練。AWS SageMaker 提供了一個整合的環境,簡化了從資料預處理到模型部署的過程。
SageMaker 如何支援生成式 AI?
SageMaker 提供了一系列在生成式 AI 中非常有用的功能 -
預構建演算法
SageMaker 提供了用於自然語言處理、影像分類等任務的預構建演算法。它節省了使用者為 Gen AI 模型開發自定義程式碼的時間。
分散式訓練
SageMaker 支援分散式訓練,允許您在多個 GPU 或例項上訓練大型 Gen AI 模型。
SageMaker Studio
SageMaker Studio 是一個開發環境,您可以在其中準備資料、構建模型並嘗試不同的超引數。
內建 AutoML
SageMaker 包含 AutoML 功能,藉助這些功能,您可以自動調整超引數並最佳化 Gen AI 模型的效能。
託管 Spot 訓練
AWS SageMaker 允許您使用EC2 Spot 例項進行訓練。它可以降低執行資源密集型 Gen AI 模型的成本。
使用 SageMaker 訓練 Gen-AI 模型
訓練生成式 AI 模型需要強大的計算能力,尤其是在處理 GPT 或 GAN 等大型模型時。AWS SageMaker 透過提供GPU 加速例項和分散式訓練功能簡化了這一過程。
使用 SageMaker 部署 Gen-AI 模型
模型訓練完成後,您可以使用 AWS SageMaker 以可擴充套件且經濟高效的方式進行部署。
您可以使用SageMaker 端點部署您的模型,該端點根據流量提供自動擴充套件。此功能確保您的 Gen AI 模型能夠處理不斷增長的需求。
使用 SageMaker 訓練和部署 Gen AI 模型的 Python 程式
這裡我們重點介紹了一個 Python 示例,該示例展示瞭如何使用 AWS SageMaker 使用預構建演算法來訓練和部署生成式 AI 模型。
在本示例中,我們將使用一個基本的Hugging Face預訓練轉換器模型,例如GPT 2,用於文字生成。
在執行此示例之前,您必須擁有一個 AWS 賬戶、必要的 AWS 憑證以及已安裝的sagemaker庫。
步驟 1:安裝必要的庫
使用以下命令安裝必要的 Python 包 -
pip install sagemaker transformers
步驟 2:設定 SageMaker 和 AWS 配置
匯入必要的庫並設定 AWS SageMaker 環境。
import sagemaker from sagemaker.huggingface import HuggingFace import boto3 # Create a SageMaker session sagemaker_session = sagemaker.Session() # Set your AWS region region = boto3.Session().region_name # Define the execution role (replace with your own role ARN) role = 'arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/service-role/AmazonSageMaker-ExecutionRole' # Define the S3 bucket for storing model artifacts and data bucket = 'your-s3-bucket-name'
步驟 3:定義 Hugging Face 模型引數
在這裡,我們需要定義使用 SageMaker 訓練GPT-2 模型的模型引數。
# Specify the Hugging Face model and its version huggingface_model = HuggingFace( entry_point = 'train.py', # Your training script source_dir = './scripts', # Directory containing your script instance_type = 'ml.p3.2xlarge',# GPU instance instance_count=1, role = role, transformers_version = '4.6.1', # Hugging Face Transformers version pytorch_version = '1.7.1', py_version = 'py36', hyperparameters = { 'model_name': 'gpt2', # Pre-trained GPT-2 model 'epochs': 3, 'train_batch_size': 16 } )
步驟 4:準備訓練資料
在本示例中,我們需要將預處理後的資料儲存在 Amazon S3 儲存桶中。資料可以是 CSV、JSON 或純文字格式。
# Define the S3 path to your training data training_data_s3_path = f's3://{bucket}/train-data/' # Launch the training job huggingface_model.fit(training_data_s3_path)
步驟 5:部署已訓練的模型以進行推理
模型訓練完成後,將其部署到 SageMaker 端點以進行即時推理。
# Deploy the model to a SageMaker endpoint predictor = huggingface_model.deploy( initial_instance_count=1, instance_type='ml.m5.large' )
步驟 6:使用已部署的模型生成文字
模型部署後,您可以透過向端點發送提示以進行文字生成來進行預測。
# Define a prompt for text generation prompt = "Once upon a time" # Use the predictor to generate text response = predictor.predict({ 'inputs': prompt }) # Print the generated text print(response)
步驟 7:清理資源
完成任務後,建議刪除已部署的端點,以避免產生不必要的費用。
predictor.delete_endpoint()