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

Amazon SageMaker训练任务未生成推理Tar文件,如何创建?

生成模型推理用Tar文件的方法

方法一:本地通过AWS CLI打包

  • 下载S3中的模型工件到本地目录:
    aws s3 sync s3://你的存储桶名称/模型工件路径/ ./本地模型目录/
    
  • 进入本地目录,打包所有文件为tar.gz:
    cd 本地模型目录 && tar -czf inference-model.tar.gz ./*
    
  • 若需将Tar文件放回S3,执行:
    aws s3 cp inference-model.tar.gz s3://你的存储桶名称/目标路径/
    

方法二:云端EC2实例打包(适合大模型,避免本地下载)

  • 启动与S3同区域的EC2实例,确保存储容量足够容纳模型文件
  • 安装AWS CLI(以Ubuntu为例):
    sudo apt update && sudo apt install aws-cli -y
    
  • 同步S3模型文件到EC2本地:
    aws s3 sync s3://你的存储桶名称/模型工件路径/ ./ec2模型目录/
    
  • 打包文件:
    cd ec2模型目录 && tar -czf inference-model.tar.gz ./*
    
  • 上传Tar文件回S3后,可终止EC2实例节省成本:
    aws s3 cp inference-model.tar.gz s3://你的存储桶名称/目标路径/
    

方法三:修改训练脚本自动生成Tar文件

在训练代码末尾添加打包逻辑,训练完成后自动生成并上传Tar文件(以Python为例):

import tarfile
import os
import boto3

def pack_model_to_tar(model_dir, tar_output_path):
    with tarfile.open(tar_output_path, "w:gz") as tar:
        for root, _, files in os.walk(model_dir):
            for file in files:
                full_path = os.path.join(root, file)
                # 保持文件相对结构,避免打包时带绝对路径
                tar.add(full_path, arcname=os.path.relpath(full_path, model_dir))

# 训练完成后执行以下代码
model_artifact_dir = "/训练任务输出的模型工件目录"
tar_file_path = "/生成的Tar文件路径/inference-model.tar.gz"

# 生成Tar包
pack_model_to_tar(model_artifact_dir, tar_file_path)

# 上传到S3
s3_client = boto3.client("s3")
s3_client.upload_file(tar_file_path, "你的存储桶名称", "目标路径/inference-model.tar.gz")

注意事项

  • 打包时确保包含所有推理必需文件:safe tensors、模型配置文件(如config.json)、分词器文件(如tokenizer.json)等,避免遗漏影响推理
  • 若使用IAM权限,确保执行操作的账号拥有S3的读写权限以及EC2的相关权限(若用方法二)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:35:11