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

当AWS Sagemaker内核崩溃时,如何不创建训练任务跟踪模型训练进度?

在SageMaker笔记本内核崩溃后跟踪训练进度的方法(无需创建Training Job)

1. 利用S3日志与训练输出文件

  • 在训练代码中,定期将训练进度指标(如损失值、准确率、当前epoch数)写入到S3存储桶的日志文件中(比如training_progress.log)。可以用boto3直接写入,或者先写本地文件再同步到S3。
  • 即使内核崩溃,只要训练进程还在运行,这些日志会持续生成。你可以通过S3控制台直接查看文件内容,或者用AWS CLI命令s3 cp s3://your-bucket/path/training_progress.log -实时拉取最新内容。
  • 另外,若训练代码中有检查点(checkpoint)保存逻辑,也可以通过S3中检查点文件的更新时间、文件名(比如包含epoch数)来判断当前训练阶段。

2. 查看SageMaker笔记本实例的系统日志

  • 登录AWS控制台,进入SageMaker的笔记本实例页面,找到对应的实例,点击查看日志。
  • 这里会显示实例的系统级日志,包括训练进程的标准输出(stdout)和错误输出(stderr)。即使内核崩溃,训练进程的输出可能仍然会被记录在这里,你可以从中提取进度信息。
  • 也可以通过SSH连接到笔记本实例,直接查看本地的日志文件,比如/var/log/sagemaker-jupyter.log或者训练代码所在目录的本地日志。

3. 监控进程状态与资源使用

  • 通过AWS CloudWatch监控笔记本实例的CPU、内存、GPU使用率:在CloudWatch控制台中,找到对应笔记本实例的指标,查看资源消耗趋势。如果训练仍在进行,资源会保持较高的使用率;若资源突然下降,可能训练已结束或出错。
  • 若能重新连接到笔记本实例(断网恢复后),可以用Linux命令ps aux | grep your-training-script.py查看训练进程是否还在运行,用top或nvidia-smi(如果用GPU)查看资源占用情况,间接判断进度。

4. 自定义训练进度追踪脚本

  • 在训练代码中加入一个独立的进度追踪线程,该线程不依赖于笔记本内核,定期将进度信息发送到CloudWatch自定义指标,或者写入到DynamoDB表中。
  • 这样即使内核崩溃,追踪线程只要和训练进程绑定,就会持续上报数据。你可以通过CloudWatch控制台或DynamoDB控制台查看实时的进度指标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:15:54