监控亚马逊 SageMaker 人工智能

亚马逊 SageMaker AI提供基于基础模型构建、训练和部署生成式人工智能应用程序的能力。 本指南将向您展示如何使用Amazon SageMaker AI端点与 OpenLLMetry 对应用程序进行监控,并将遥测数据发送至 Instana。

先决条件

确保满足下列先决条件:

  • Python 3.8 或之后
  • Amazon Web Services ( AWS ) 凭据,具有 SageMaker 访问权限
  • 已部署的 SageMaker 人工智能端点
  • 启用了生成式人工智能可观测性的 Instana 后端账户
  • 代理模式与代理模式入门指南评审

为您的亚马逊 SageMaker 人工智能应用程序添加监控工具

  1. 安装必需的软件包。

    pip install boto3 pandas numpy traceloop-sdk
  2. 导出您的 AWS 凭据。

    export AWS_ACCESS_KEY_ID="<your-access-key-id>"
    export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"

    要创建或管理 AWS 访问密钥,请参阅 Amazon IAM 文档

  3. 创建一个名为 Python 的文件,内容如下:

    import boto3
    from traceloop.sdk import Traceloop
    from traceloop.sdk.decorators import workflow
    import pandas as pd
    
    # Initialize OpenLLMetry
    Traceloop.init(app_name="sagemaker_example", disable_batch=True)
    
    # Initialize SageMaker Runtime client
    runtime = boto3.Session().client('sagemaker-runtime', region_name="us-east-1")
    
    @workflow(name="sagemaker_example")
    def invoke_sagemaker_endpoint(endpoint):
        # Sample input data (1 row with 12 features)
        X_test = [[1, 8.2, 10.5, 1.5, 9.6, 1.3, 11.2, 2.9, 100, 11, 12.0, 13]]
    
        # Convert data to CSV format
        df = pd.DataFrame(X_test)
        csv_input = df.to_csv(index=False, header=False)
        csv_bytes = csv_input.encode('utf-8')
    
        # Invoke the SageMaker endpoint
        response = runtime.invoke_endpoint(
            EndpointName=endpoint,
            ContentType='text/csv',
            Body=csv_bytes
        )
    
        # Read and decode the prediction result
        return response['Body'].read().decode('utf-8')
    
    # Replace with your SageMaker endpoint name
    invoke_sagemaker_endpoint('<sagemaker-endpoint>')
    注意: 输入数据格式取决于您部署的模型要求。 根据您的具体模型调整数据结构。
  4. 运行您的亚马逊 SageMaker 人工智能应用程序。

    python3 sagemaker_app.py

    该应用程序将向您的 SageMaker AI端点发送数据,并显示预测结果。 OpenLLMetry 自动捕获每个端点调用的跟踪信息,并将其发送至 Instana。

  5. 查看 Instana 上的数据。

    运行应用程序后,数据将显示在 Instana 生成式AI可观测性仪表板中,呈现以下内容:

    • 端点名称
    • 请求和响应负载
    • 推理延迟
    • 错误信息(如有)

故障诊断

对于常见问题(如轨迹未显示或连接错误),请参阅故障排除指南

认证错误数

若遇到身份验证错误:
  1. 检查您的 AWS 凭据是否设置正确
  2. 检查您的IAM用户是否具备必要的 SageMaker 权限
  3. 请确保您的凭证未过期
  4. 请确认 AWS 区域与您的端点所在区域一致

未找到端点错误

若遇到端点未找到的错误:

  1. 验证端点名称是否正确
  2. 检查端点是否已部署且处于 "InService" 状态
  3. 请确保该端点与您的客户端配置位于同一区域
  4. 请确认您的IAM策略 sagemaker:InvokeEndpoint 包含相应权限

模型输入错误

若遇到模型输入错误:
  1. 验证输入数据格式是否符合模型的预期
  2. 检查内容类型是否符合您的模型要求
  3. 确保数据类型和维度正确
  4. 在 SageMaker 控制台中检查模型的输入模式

后续步骤