본문으로 건너뛰기

SageMaker HyperPod에서 Ray 분산 작업 통합

SageMaker HyperPod가 Ray 클러스터 운영과 복구·추론을 Studio에 통합했습니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Amazon SageMaker HyperPod가 Amazon EKS에서 Ray 클러스터 생성, 원격 작업 제출, JupyterLab·Code Editor 연결, Grafana 관측성을 SageMaker Studio에 통합했습니다. KubeRay와 표준 Ray API를 사용하므로 기존 스크립트를 바꾸지 않고 HyperPod 인프라의 노드 자동 복구, 멈춘 작업 감지, 계층형 체크포인트 저장을 활용할 수 있습니다. SageMaker JumpStart 모델은 Ray Serve endpoint로 직접 배포할 수 있고 Managed Tiered KV Cache는 CPU 메모리와 HyperPod Tiered Storage에 KV 벡터를 저장해 장문 추론의 초기 토큰 지연을 줄입니다. 이 기능을 사용하려면 HyperPod EKS cluster와 SageMaker Spaces·Observability·KubeRay·Ray Endpoint Operator 구성 요소, SageMaker Studio domain이 필요합니다.

섹션별 상세

01
Amazon SageMaker HyperPod가 Ray를 EKS 기반의 목적형 ML 인프라와 결합해 클러스터 생성부터 분산 학습과 모델 서빙까지 한 흐름으로 묶습니다. 기존에는 데이터 과학자가 Kubernetes YAML을 작성하고 의존성 변경마다 Docker 이미지를 다시 만들며 kubectl port-forward와 Prometheus·Grafana를 직접 구성해야 했습니다. 이제 SageMaker Studio에서 Ray 클러스터를 만들고 대시보드, 원격 작업 제출, JupyterLab·Code Editor 연결, 멈춘 작업 감지까지 처리할 수 있어 운영 설정이 작업 흐름 안으로 들어옵니다.
02
SageMaker Studio의 HyperPod Tasks 탭에서는 클러스터 이름, 헤드·워커 인스턴스 유형, 워커 수, 컨테이너 이미지를 입력해 Ray 클러스터를 만들 수 있습니다. 기본 SageMaker Distribution 이미지에는 Ray가 사전 설치되어 있고 AWS가 취약점 패치와 소프트웨어 업그레이드를 관리하며, 고급 사용자는 인라인 YAML 편집기로 전체 Kubernetes manifest를 수정할 수 있습니다. 원격 endpoint를 활성화하면 짧은 수명의 IAM 인증 URL로 Ray Dashboard와 로그에 접근하고 작업을 제출할 수 있으며, KubeRay와 HyperPod task governance를 함께 사용해 다른 학습 작업과 compute quota 및 scheduling priority를 조정할 수 있습니다.
SageMaker Studio HyperPod의 Tasks 탭에서 RayCluster 작업 유형과 Create Ray Cluster 버튼을 확인할 수 있습니다.
Screenshot화면은 HyperPod의 Tasks 탭에 Ray 클러스터 목록과 생성 진입점을 배치한 콘솔 흐름을 보여줍니다. 본문에서 설명한 YAML 작성과 kubectl 명령 없이 Ray 클러스터를 생성·관리하는 사용자 경험을 뒷받침합니다.
Ray 클러스터 생성 화면에서 원격 endpoint 공유를 활성화하고 namespace 범위를 선택하는 설정을 보여줍니다.
Screenshot화면은 Ray Dashboard와 작업 제출 endpoint를 외부에서 접근할 수 있도록 설정하는 영역을 보여줍니다. 본문에서 설명한 IAM 인증 기반의 원격 접근과 owner 또는 namespace 단위 공유 정책이 콘솔에 통합되어 있습니다.
실행 중인 Ray 클러스터 목록에서 Actions 메뉴를 열어 작업 제출, Dashboard·Grafana 접근, 편집, 일시 중지, 삭제를 선택하는 화면입니다.
ScreenshotActions 메뉴는 클러스터 운영 작업과 관측성 도구를 한 위치에서 호출하는 구조를 보여줍니다. 본문에서 제시한 Studio 중심의 클러스터 수명주기 관리와 Ray·Grafana 대시보드 연결이 실제 UI 작업으로 표현되어 있습니다.
03
운영 환경의 원격 작업은 toolkit-for-ray-on-sagemaker-ai Python package가 endpoint 해석과 IAM 기반 EKS API 자격 증명 생성을 맡고 표준 Ray job submission API를 그대로 호출하는 방식으로 실행됩니다. 사용자는 sagemaker_ray:/// 주소와 working directory, 실행할 Python 파일을 지정해 Studio·노트북·CI/CD pipeline에서 작업을 제출하고 ray job list로 상태를 조회할 수 있습니다. 이 구조는 별도의 로컬 port-forward 설정 없이 기존 Ray 작업 제출 흐름을 원격 클러스터에 연결합니다.
bash
$ aws eks update-kubeconfig --name --region $ pip install toolkit-for-ray-on-sagemaker-ai $ ray job submit --address sagemaker_ray:/// \ --working-dir \ --python your-code.py # To list ray jobs $ ray job list --address sagemaker_ray:///

IAM 인증과 SageMaker-aware 주소 resolver를 사용해 원격 Ray 작업을 제출하고 작업 목록을 조회합니다.

04
HyperPod Space는 Ray 클러스터에 zero-compute worker node로 연결되므로 JupyterLab이나 Code Editor가 네이티브 Ray driver처럼 작업을 실행할 수 있습니다. Space 설정에서 클러스터를 선택한 뒤 재시작하고 ray.init(address="auto")를 호출하면 노트북에서 runtime_env로 Python 의존성을 주입하며, ScalingConfig의 num_workers를 바꿔 단일 워커 프로토타입을 네 개의 GPU 워커 분산 학습으로 확장할 수 있습니다. 학습 중에도 노트북을 통해 진행 상황과 중간 결과를 확인하고 하이퍼파라미터를 조정할 수 있어 컨테이너 이미지를 다시 빌드하지 않고 반복 실험을 이어갈 수 있습니다.
python
ray.init(address="auto")

HyperPod JupyterLab 또는 Code Editor가 연결된 Ray 클러스터에 노트북을 초기화합니다.

python
import ray
from ray.train.torch import TorchTrainer
from ray.train import ScalingConfig, RunConfig

# address="auto" connects to the Ray cluster attached to this Space
ray.init(runtime_env={"pip": ["torchvision", "pillow"]})

def train_func(config):
    ...

# Scale to 4 GPU workers
trainer = TorchTrainer(
    train_func,
    train_loop_config={"epochs": 10},
    scaling_config=ScalingConfig(num_workers=4, use_gpu=True),
    run_config=RunConfig(storage_path="/fsx/checkpoints"),
)

result = trainer.fit()

노트북에서 Ray 클러스터를 초기화하고 runtime_env로 의존성을 주입한 뒤 네 개의 GPU 워커에 PyTorch 학습을 분산 실행합니다.

HyperPod Space 설정 화면에서 Ray cluster 통합을 선택할 수 있는 탭과 연결 설정을 보여줍니다.
Screenshot화면은 JupyterLab 또는 Code Editor Space의 설정에 Ray cluster 선택 영역이 추가된 모습을 보여줍니다. 본문에서 설명한 대로 작업 공간을 특정 Ray 클러스터에 연결해 대화형 개발 환경으로 사용하는 단계가 콘솔에 포함되어 있습니다.
Space 재시작 경고와 함께 기존 Ray 클러스터를 검색해 workspace에 연결하는 선택 창을 보여줍니다.
Screenshot연결 창은 이름·namespace·owner로 기존 Ray 클러스터를 검색하고 선택하는 과정을 보여주며, Ray version이 worker group과 맞지 않을 때 경고할 수 있음을 나타냅니다. 상단 경고는 연결 시 workspace가 재시작되고 저장하지 않은 kernel state가 손실될 수 있다는 운영상 조건을 담고 있습니다.
JupyterLab notebook에서 ray.init와 TorchTrainer를 사용해 네 개의 GPU worker로 분산 학습을 실행하는 코드가 표시됩니다.
Screenshot코드는 Ray cluster에 연결한 뒤 TorchTrainer와 ScalingConfig(num_workers=4, use_gpu=True)를 사용해 GPU 분산 학습을 구성합니다. runtime_env로 Python package를 주입하고 /fsx/checkpoints를 저장 경로로 지정하는 흐름이 본문에서 말한 대화형 학습과 체크포인트 활용을 구체화합니다.
05
HyperPod Observability EKS add-on은 Ray 헤드·워커 Pod의 metrics endpoint를 자동으로 수집하고 Amazon Managed Grafana에 Ray Core, Ray Data, Ray Train, Ray Serve 대시보드 네 개를 구성합니다. 기존처럼 Helm chart, PodMonitor·ServiceMonitor, SigV4 IAM 설정, dashboard JSON 수동 가져오기를 각각 처리하지 않아도 되며, 대시보드는 특정 Ray 클러스터별 필터와 HyperPod 인프라 지표를 함께 지원합니다. 클러스터 목록의 Open Grafana action으로 해당 클러스터의 작업량과 상태를 바로 확인할 수 있어 Ray workload와 GPU·EFA·task governance 지표를 한 화면에서 운영할 수 있습니다.
Ray Dashboard가 노드 수, 활성·중단 노드, CPU·메모리 사용량과 노드 목록을 표시합니다.
ScreenshotDashboard에는 총 노드와 활성 노드 상태, 각 노드의 CPU·메모리 사용량, Ray 프로세스 상태가 함께 나타납니다. 이는 HyperPod에서 Ray 클러스터 건강 상태와 workload 자원을 중앙에서 확인하는 관측성 기능과 연결됩니다.
Amazon Managed Grafana의 Ray 대시보드에서 노드 수, 클러스터 사용률, OOM kill과 Ray 작업 지표를 확인하는 화면입니다.
ScreenshotGrafana 화면은 Ray 클러스터의 노드 수와 메모리·디스크 사용률, OOM kill, 작업 상태를 시간축으로 모니터링하는 구조를 보여줍니다. 본문에서 소개한 Ray workload용 사전 구성 대시보드가 HyperPod 인프라 운영 지표와 함께 사용되는 모습을 뒷받침합니다.
06
Ray 학습 작업의 복구는 노드 자동 복구, 멈춘 작업 감지, 계층형 체크포인트 저장의 세 계층으로 구성됩니다. HyperPod가 장애 노드를 감지해 교체하면 Ray가 새 노드로 워커 Pod를 재배치하고, 학습 코드가 주기적으로 체크포인트를 저장하도록 구성된 경우 최신 지점에서 재개하며 RayJob FailureConfig에는 충분한 재시도 횟수를 설정해야 합니다. 별도 코드 변경 없이 하드웨어 장애에 대응할 수 있고, Job Monitoring Agent는 네트워크 단절·스토리지 mount 문제·하드웨어 결함으로 collective operation에서 멈춘 Ray Train 작업을 감지해 CloudWatch log group과 Ray Train Grafana dashboard에 알립니다.
07
멈춘 분산 학습에서는 오류나 crash 없이 일부 Pod가 다음 collective operation을 기다리면서 GPU와 메모리를 계속 점유할 수 있습니다. HyperPod의 노드별 Job Monitoring Agent는 노드 수준과 작업 수준 신호를 함께 감시하고, 사용자가 정의한 log pattern과 timeout threshold에 따라 작업을 취소할 수 있으며 취소 뒤 Ray Train FailureConfig가 마지막 체크포인트에서 워커를 재시작합니다. 체크포인트는 로컬 디스크에 기록된 뒤 Amazon S3로 비동기 업로드되고 복구 시 HyperPod Tiered Storage를 먼저 조회하므로 대규모 모델을 S3에서 직접 복원하는 것보다 재개 시간을 줄일 수 있습니다.
08
Ray Serve 기반 추론은 SageMaker JumpStart 모델 loader를 통해 JumpStart catalog의 모델 가중치를 Ray Serve endpoint에 직접 배포할 수 있습니다. 이 과정에서 사용자가 가중치 다운로드, 모델 설정, 컨테이너 구성을 따로 수행하지 않아도 되며 Ray Serve의 multi-model composition과 autoscaling, vLLM 같은 serving engine을 활용할 수 있습니다. 장문 요청에서는 모든 이전 토큰에 대한 attention 재계산으로 지연이 커지는데, Managed Tiered KV Cache가 CPU 메모리 L1과 HyperPod Tiered Storage L2에 key-value 벡터를 저장해 다중 턴 대화와 장문 문서의 time-to-first-token을 줄입니다.
09
새 기능은 오픈 소스 KubeRay와 표준 Ray API를 기반으로 하므로 기존 스크립트와 작업 흐름을 수정하지 않고 SageMaker HyperPod 환경으로 옮길 수 있습니다. 사용자는 SageMaker Studio에서 클러스터를 삭제하고 HyperPod 클러스터와 테스트용 EKS add-on을 정리해 compute capacity와 비용 발생을 관리해야 합니다. 이 통합은 SageMaker HyperPod EKS가 지원되는 모든 AWS Region에서 사용할 수 있으며, 시작하려면 HyperPod 구성 요소와 SageMaker Studio domain을 준비해야 합니다.

용어 해설

Ray 클러스터(Ray Cluster)
Ray 작업을 여러 노드와 GPU에 분산 실행하는 클러스터 단위입니다. Kubernetes에서는 KubeRay가 RayCluster 리소스를 바탕으로 헤드 노드와 워커 노드의 생성·확장·삭제 같은 수명주기를 관리합니다. SageMaker Studio에서는 YAML 없이 콘솔에서 클러스터를 만들고 대시보드와 작업 제출 기능을 연결할 수 있습니다.
KubeRay
Kubernetes에서 Ray 클러스터와 작업을 네이티브 리소스로 관리하는 오픈 소스 operator입니다. RayCluster, RayJob, RayService 같은 사용자 정의 리소스를 감시하면서 클러스터 수명주기와 작업 배포를 처리합니다. 이 글에서는 SageMaker HyperPod의 콘솔·관측성·복구 기능과 Ray 표준 API를 연결하는 기반으로 사용됩니다.
계층형 체크포인트 저장(Tiered Checkpointing)
학습 체크포인트를 로컬 디스크에 먼저 기록한 뒤 Amazon S3로 비동기 업로드하고, 복구 시 HyperPod Tiered Storage를 우선 조회하는 방식입니다. 최근 체크포인트가 계층형 저장소에 남아 있으면 S3에서 직접 복원하는 과정을 건너뛸 수 있습니다. 노드 교체나 멈춘 작업 재시작 뒤 대규모 모델의 복구 시간을 줄이는 데 쓰입니다.
KV 캐시(KV Cache)
대규모 언어 모델이 이전 토큰의 attention key-value 벡터를 저장해 후속 토큰 생성에서 반복 계산을 줄이는 메모리 구조입니다. SageMaker HyperPod의 Managed Tiered KV Cache는 각 노드의 CPU 메모리인 L1과 HyperPod Tiered Storage인 L2에 벡터를 나눠 저장합니다. 장문 문서와 다중 턴 대화에서 time-to-first-token을 줄이는 것이 목적입니다.

기술

  • Amazon SageMaker HyperPod
  • Ray
  • KubeRay
  • Amazon Elastic Kubernetes Service (Amazon EKS)
  • SageMaker Studio
  • SageMaker Spaces EKS add-on
  • HyperPod Observability EKS add-on
  • HyperPod Ray Endpoint Operator
  • toolkit-for-ray-on-sagemaker-ai
  • JupyterLab
  • Code Editor
  • Amazon Managed Grafana
  • Amazon Managed Service for Prometheus
  • Ray Train
  • Ray Serve
  • vLLM
  • SageMaker JumpStart
  • Amazon CloudWatch
  • Amazon Simple Storage Service (Amazon S3)
  • HyperPod Tiered Storage
  • Managed Tiered KV Cache
  • amzn-sagemaker-checkpointing

활용 사례

  • SageMaker Studio에서 Ray 클러스터 생성 및 관리
  • JupyterLab·Code Editor 기반의 대화형 분산 학습
  • Studio·노트북·CI/CD pipeline에서 원격 Ray 작업 제출
  • Amazon Managed Grafana를 이용한 Ray workload 관측성
  • 노드 장애와 멈춘 작업에 대한 Ray Train 자동 복구
  • SageMaker JumpStart 모델의 Ray Serve 배포
  • 장문 문서와 다중 턴 대화를 위한 LLM 추론
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 25.수집 2026. 08. 25.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.