You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Amazon SageMaker中用ml.p3.2xlarge实例运行单个代码单元格并存储结果到S3?

解决方案步骤

1. 将LLM部署为SageMaker端点(用ml.p3.2xlarge实例)

别在t3实例里跑模型推理,先把你的预训练LLM部署到ml.p3.2xlarge的SageMaker端点上——GPU实例能大幅加速LLM推理。如果是Hugging Face模型,用官方容器就能快速部署:

import sagemaker
from sagemaker.huggingface import HuggingFaceModel

# 初始化SageMaker会话
sess = sagemaker.Session()
role = sagemaker.get_execution_role()

# 加载模型(替换成你的模型ID或S3上的模型包路径)
huggingface_model = HuggingFaceModel(
    model_id="your-huggingface-model-id",  # 或者model_data="s3://your-bucket/model.tar.gz"
    role=role,
    transformers_version="4.28",
    pytorch_version="2.0",
    py_version="py310",
)

# 部署为异步端点(适合大任务量,避免超时)
predictor = huggingface_model.deploy(
    initial_instance_count=1,
    instance_type="ml.p3.2xlarge",
    endpoint_name="llm-p3-inference-endpoint",
    async_inference_config={
        "output_path": "s3://your-bucket/async-inference-output/"
    }
)

2. 批量处理DataFrame调用端点

别用progress_apply逐行跑,改成批量请求端点,效率提升N倍:

import pandas as pd
from sagemaker.predictor import Predictor
from sagemaker.serializers import JSONSerializer
from sagemaker.deserializers import JSONDeserializer

# 初始化端点预测器
predictor = Predictor(
    endpoint_name="llm-p3-inference-endpoint",
    serializer=JSONSerializer(),
    deserializer=JSONDeserializer(),
    sagemaker_session=sess
)

# 批量推理函数
def batch_predict(texts, batch_size=100):
    results = []
    for i in range(0, len(texts), batch_size):
        batch = texts[i:i+batch_size].tolist()
        # 按模型要求构造请求体
        payload = {"inputs": batch}
        batch_results = predictor.predict(payload)
        results.extend(batch_results)
    return results

# 批量获取预测结果
df_new['predicted_values'] = batch_predict(df_original['comment_body'])

3. 将结果存回S3

直接用Pandas把处理后的DataFrame写到S3路径:

# 保存为Parquet(大数据场景优先,压缩比高、读写快)
df_new.to_parquet("s3://your-bucket/final-results/predicted_data.parquet", index=False)

# 或者保存为CSV
df_new.to_csv("s3://your-bucket/final-results/predicted_data.csv", index=False)

额外优化点

  • 如果数据量超大到Notebook加载费劲,直接用SageMaker批量转换作业:把S3里的原始数据作为输入,让p3实例后台批量处理,结果自动存S3,不用在Notebook里扛大DataFrame
  • 推理完成后记得删除端点,避免GPU实例持续扣费:predictor.delete_endpoint()
  • 可以调整批量大小(比如200、500),找到适合你模型的最优批量值

内容的提问来源于stack exchange,提问作者Sar99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:55:59